Skip to content

Large repositories, LFS and submodules

MyTwig stays fast on big histories: it loads the graph a page at a time, only draws what’s on screen, and only re-reads what changed on disk.

When cloning, Options for large repositories can:

  • clone blobless (--filter=blob:none): past versions of files are downloaded only when needed;
  • clone shallow, to a depth;
  • clone sparse, with only the top-level files.

For an existing repository, Repository Performance… (the Repository menu or the palette) can turn on Git’s file system monitor, the untracked cache, the commit-graph, and background maintenance. It can also fetch more of a shallow history, and choose which folders a sparse checkout includes. MyTwig suggests this once for repositories over 100,000 commits or 50,000 files.

From the palette or a file’s menu: initialize LFS, track a pattern, a file or all files of its type, untrack, pull LFS files and prune old objects. Files stored in LFS are marked LFS in the file lists.

Submodules are listed in the left panel with their state. Open one in its own tab, initialize and update them, add a new one or remove one.