LFS and submodules

Mergepond keeps its support for Git LFS and submodules small and visible: the sidebar shows whether a repository uses them and what state they are in, and offers the one command each usually needs.

Where to find it

  • Sidebar › Submodules, shown when the repository has any.
  • Sidebar, the Git LFS line, shown when the repository uses LFS.
  • Command palette › Repository: Update submodules, Pull LFS files, when they apply.

Submodules

The Submodules section lists each submodule from git submodule status with a state label where one is needed:

LabelMeaning
(none)Checked out at the commit the parent repository records.
ModifiedChecked out at a different commit, or with changes inside.
Not set upListed in .gitmodules but never initialised; the folder is empty.
ConflictThe submodule's recorded commit conflicts during a paused operation.

When any submodule isn't in the plain state, the section header shows Update all, which runs git submodule update --init --recursive. Each row with a state has its own Update button for that submodule alone. The button reads "Updating…" while it runs; the toast afterwards is "Updated the submodules." or "Updated path."

Changes inside a submodule aren't shown in the parent's Changes tab beyond the submodule's own row. Open the submodule's folder as its own repository to work in it.

Git LFS

If the repository's .gitattributes routes any files through LFS (filter=lfs), the sidebar shows a line "Git LFS, N files", counting git lfs ls-files, with a Pull LFS files button. It runs git lfs pull to fetch the real contents of any files that are still pointers; the button reads "Pulling…" and the toast "Pulled the LFS files."

If git lfs isn't installed on this Mac, the line reads "Git LFS isn't installed" with the tip "Install it with brew install git-lfs, then reopen the repo". Until it is installed, LFS files appear as their small pointer files.

For a repository on an SSH host, the checks and commands run on the host, so it is the host's Git LFS that matters.

Free and Pro

LFS and submodule support work the same on Free and Pro.