Re: Multiple working trees with GIT ?
From: Willy Tarreau <w@1wt.eu>
Date: 2016-06-15 22:44:08
Hi Julian, On Thu, Jan 24, 2008 at 09:59:05AM +0000, Julian Phillips wrote: (...)
quoted
This works pretty well. I can simply cd worktree/variant_a and work on a file, or pull master, or even git-cherry-pick from other branches (pretty convenient for this usage). But I don't know what caveats I may encounter.You might want to have a look at the git-new-workdir script in contrib, it does basically the same thing. It's been there for about 10 months now. It was based on an email from Junio: http://article.gmane.org/gmane.comp.version-control.git/41513/
Interesting lecture, thanks for the pointer. At least now I know that it is not too much exotic.
However, there are some caveats about using this approach, basically about the fact that there is nothing stopping you from updating refs that are currently checked out in another directory and causing yourself all sorts of pain ... the topic has cropped up a couple of times on the list since the script was added.
hmmm good point. Given that I'm used to push into remote working dirs and to get caught by this problem, I think I would most often escape from the caveat, but we should take care of not trapping newbies.
quoted
Maybe there are other solutions too. I see that we tend to replace symlinks everywhere with ref files. We might as well (in a far future version) accept a file for ".git" which would contain a path to the central repo and the branch's head.There was a suggestion for something not too dissimilar even before the new-workdir script: http://thread.gmane.org/gmane.comp.version-control.git/33755
OK, thank you for your links. I still think I will wo the easy way for now, probably using git-new-workdir, waiting for a general consensus on the subject. Regards, Willy