Re: VCS comparison table
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:43
Linus Torvalds wrote:
quoted
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.It sounds like the .gitdir/.git proposal would give Git "checkouts", by our meaning of the term.Well, in the git world, it's really just one shared repository that has separate branch-namespaces, and separate working trees (aka "checkouts"). So yes, it probably matches what bazaar would call a checkout. Almost nobody seems to actually use it that way in git - it's mostly more efficient to just have five different branches in the same working tree, and switch between them. When you switch between branches in git, git only rewrites the part of your working tree that actually changed, so switching is extremely efficient even with a large repo.
Unless you have branch(es) with totally different contents, like git.git 'todo' branch.
So there is seldom any real need or reason to actually have multiple checkouts. But it certainly _works_.
But without .git being either symlink, or .git/.gitdir "symref"-link, you have to remember what to ser GIT_DIR to, or parameter for --git-dir option. I'd like to mention once again that in Git branches and tags have totally separate namespace than repository namespace. -- Jakub Narebski Poland