Re: VCS comparison table
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:43
Jon Smirl wrote:
quoted
About "checkouts", i.e. working directories with repository elsewhere: you can use GIT_DIR environmental variable or "git --git-dir" option, or symlinks, and if Nguyen Thai Ngoc D proposal to have .gitdir/.git "symref"-like file to point to repository passes, we can use that.I believe they mean checking out only the latest few revisions instead of copying the whole repo. This issue is a problem for Mozilla. If you want to change a line in the git version you have to download the entire 500MB tree with full history.
From http://bazaar-vcs.org/RcsComparisons
A "Checkout" is a working tree that points elsewhere for its RCS data. You can always do like Linux kernel did, splitting repository into current and historical part (which would contain also dead branches), and creating and publishing current-historical graft file, to join history if needed.
quoted
Partial checkouts are only partially supported as of now; it means you have to do some lowe level stuff to do partial checkout, and be carefull when comitting. BTW it depends what you mean by partial checkout, but they are somewhat incompatibile with atomic commits to snapshot based repository.I believe partial checkout means being able to check one directory tree out of the repo and work on it while ignoring what is happening in the rest of the repo. This is another issue for Mozilla which has multiple dependent projects checked into a single repo.
So split different projects into different repositories. There was some helper program (git-splitrepo or something like that) for that posted on git mailing list. And use "superrepository" to gather all projects together (see last discussion about subprojects on git mailing list). -- Jakub Narebski Poland