Thread (8 messages) flat view 8 messages, 4 authors, 2016-06-15

Re: Multiple working trees with GIT ?

From: Willy Tarreau <w@1wt.eu>
Date: 2016-06-15 22:44:08

On Thu, Jan 24, 2008 at 01:38:45PM +0000, Johannes Schindelin wrote:
Hi,

On Thu, 24 Jan 2008, Willy Tarreau wrote:
quoted
On Thu, Jan 24, 2008 at 11:04:42AM +0000, Johannes Schindelin wrote:
quoted
On Thu, 24 Jan 2008, Julian Phillips wrote:
quoted
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.
quoted
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.
OK.
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.
indeed, with the appropriate warnings/error messages, that makes a lot of sense.

Cheers,
Willy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help