Re: Multiple working trees with GIT ?
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jan 24, 2008, 13:38 UTC
- Message-ID
- <alpine.LSU.1.00.0801241336510.5731@racer.site>
- In-Reply-To
- <20080124125606.GB13247@1wt.eu>
Hi,
On Thu, 24 Jan 2008, Willy Tarreau wrote:
Show 25 quoted lines
> On Thu, Jan 24, 2008 at 11:04:42AM +0000, Johannes Schindelin wrote: > > > On Thu, 24 Jan 2008, Julian Phillips wrote: > > > > > 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/ > > > > FWIW I have a patch to do something like that in "git branch" itself. > > > > > 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. > > > > I agree; maybe we should have a telltale file > > "refs/heads/<bla>.checkedout" which is heeded by "git checkout" and > > "git branch -d/-D", as well as update_ref() (should only update that > > ref when it HEAD points to it)? > > Why not generalize this into HEAD.$branch (thus limiting to one checkout > per branch) or HEAD.$checkoutdir ?
Because multiple working trees for the same repository will always be a second-class citizen. And I would rather not affect the common case too much.
Having a "lock" file which is heeded by just a few places which are supposed to update refs (thinking about it, just update_ref() should be enough), is at least a well-contained change.
Ciao, Dscho