Re: git rebase does not understand --work-tree

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

 



Alexander Gladysh venit, vidit, dixit 14.07.2010 11:04:
> Hi, list!
> 
> $ git --version
> git version 1.7.1.1
> 
> I often use --work-tree and --git-dir to avoid doing cd in my scripts.
> 
> However, I've found that git rebase does not understand --work-tree
> option (see test below). Is this fixable?
> 
> Thanks,
> Alexander.

In your case, omitting --work-tree almost works, as well as using
"--work-tree=." (note the dot). "Almost" meaning that rebase does not
complain. It just doesn't find the work-tree.

I think the main problem here is a problem with relative work trees.

First of all, work tree is meant to be relative to (the repo specified
by) GIT_DIR, but that's not what "git rev-parse --top-level" is doing.
Experimenting with relative --git-dir and --work-tree here shows that
it's relative to cwd.

Second, several git shell commands (such as rebase) cd to the toplevel
of the repo only after checking whether we are in a work tree already.
This is brain dead and should be cured by the upcoming patch. With that,
absolute paths for work-tree will work with rebase.

Third, git's setup code exports GIT_DIR as an absolute path but
GIT_WORK_TREE as a relative path. Together with the fact that the work
tree is interpreted relative to the current directory, this is doomed
for failure when you cd around - as rebase does automatically!

I'm not sure I find time for the latter point, but until then the patch
enables you to work with absolute paths.

Michael
--
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]