Re: Problem with --work-tree
- From
Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
- Date
- Aug 18, 2008, 09:32 UTC
- Message-ID
- <g8bfjc$551$1@ger.gmane.org>
- In-Reply-To
- <48A74325.1040805@school9.perm.ru>
Сергей Шарыбин venit, vidit, dixit 16.08.2008 23:14:
Show 18 quoted lines
> Hi, > > I've got the following problem. I've got a GIT repo at > /home/nazgul/src/test-work-tree and I've got some changed files in this > repo. I want to see this changes when a `git` runs outside this > directory. I tried to run `git > --git-dir=/home/nazgul/src/test-work-tree/.git > --work-tree=/home/nazgul/src/test-work-tree diff-index --name-status > HEAD` from my home directory. In such way diff-index tells me that all > files from my repo has been deleted. I think it is because this command > does not understand a --work-tree parameter. And I saw the same problem > with a git diff command (something like that: git > --git-dir=/home/nazgul/src/test-work-tree/.git > --work-tree=/home/nazgul/src/test-work-tree diff). > > I use git version debian.1.5.6.3.1 > > Is it my mistake or it is bugs in a GIT?
Working from a path outside the work tree is broken (read: not meeting the obvious/naive meaning of the --work-tree option and core.worktree setting) in many places, unfortunately. Some commands work with --git-dir and the like, but some just don't. I use a shell alias which cds into the work tree first. This works with everything except for some stubborn tcl/tk scripts doing their own thing (gui...) in case git-dir and work-tree are not in the standard places (.git, .).
Michael