Setting milestone to P1 to ensure we decide on this before the Stack 2.0 release.
I was unaware until recently of the GIT_OBJECT_DIRECTORY environment variable, described at https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables. IIUC, we can set this environment variable to a shared directory inside the pantry directory, and cache repository information across usages.
Advantages:
- Don't need to reclone the entire history of a repo when switching to a slightly later commit
- The current inefficiency of using multiple subdirectories from a single repo will mostly disappear
Disadvantages:
- Adds lots of additional storage
The disadvantage can be addressed with a future feature of some gc command to Stack, which is actually the topic of a likely GSoC project.
CC @borsboom and @qrilka for feedback.
Setting milestone to P1 to ensure we decide on this before the Stack 2.0 release.
I was unaware until recently of the
GIT_OBJECT_DIRECTORYenvironment variable, described at https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables. IIUC, we can set this environment variable to a shared directory inside thepantrydirectory, and cache repository information across usages.Advantages:
Disadvantages:
The disadvantage can be addressed with a future feature of some
gccommand to Stack, which is actually the topic of a likely GSoC project.CC @borsboom and @qrilka for feedback.