Re: [PATCH 3/3] Teach "git branch" about --new-workdir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Julian Phillips wrote:

> On Tue, 24 Jul 2007, Marius Storm-Olsen wrote:
> 
>>>  I do not know this is an appropriate itch to scratch for a Windows
>>>  developer to begin with.  The new-workdir setting *is* about
>>>  symlinked .git/ metainfo space.  If somebody wants to work on a
>>>  filesystem without symlink, he should not be using new-workdir but
>>>  something else.  E.g. GIT_DIR + GIT_WORK_TREE, or perhaps GIT_DIR +
>>>  core.worktree comes to mind.
>>
>> That's is definitely an option, though it seems to me that its more like 
>> giving up than a finding a proper solution. In any case, it would result in 
>> two completely different workflows on systems with and without symlink 
>> support. I work on both, and would like my workflow to be consistent. Of 
>> course I could easily add my own scripts on top to achieve this, but then 
>> we're going back into h4x0r land and not making Git more 'available'.
>>
>> The new-workdir feature doesn't *have* to be about symlinked .git/ metainfo 
>> space, but could also be about symref'ed .git/ metainfo.
>> (A discussion was done in 2005s "Getting rid of symlinks in .git?", but the 
>> conclusion was that it would slow it down too much? *ponder*)
> 
> Symref'ed isn't really the right term ... we're not talking about refs 
> here.  You would have to basically implement symlinks _inside_ git ...
> 
> New-workdir really _is_ all about symlinks.  It already exists as a 
> contrib feature - and moving it into core is (as I understand it) really 
> just moving it, not redesigning.
> 
> If you were going to avoid symlinks, then probably the cleanest way would 
> be to have an explict way to point at the actual repo - rather than making 
> the working look like a repo if you squint hard enough.  Which sounds 
> rather like it would be an extension to GIT_DIR + GIT_WORK_TREE.  I 
> haven't looked at it, but it shouldn't be too hard to have a mechanism 
> that automatically does GIT_DIR=<there> GIT_WORK_TREE==<here> when the 
> appropriate setup is in place?  Though you would have to get it into all 
> the appropriate places ...

I think it could be best solved by having in "worktree" .git/config with
core.gitdir which functions like lower layer in UnionFS like manner. It
means that if git cannot find a file or directory in .git, then it tries
to find it in core.gitdir.

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux