Matthias Lederhofer <matled@xxxxxxx> writes: > I just thought that GIT_WORK_DIR should be relative to the current > working directory because it's more intuitive, e.g. > > $ git --git-dir=/path/to/repo.git --work-dir=../.. add a > > where ../.. matches the path to the toplevel working directory from > cwd. But this definitely is annoying when changing directories. Not so fast. That was a trick suggestion, only meant to see if you have thought through the issues, and you did not have to agree with me so quickly ;-). What I was pointing out was merely that specifying the top as a path relative to the cwd in permanent basis was not useful if you are going to cd around, which is a tautology. For a one-shot thing, I would agree that being able to say "I am in Documentation/howto directory of the whole thing, so I can name the top of my working tree as ../.." is far more useful and natural than having to say "ehhhh, what is the top of the working tree relative to my repository???". If it is not a one-shot thing and the user expects to cd around, then: $ GIT_WORK_DIR=$(pwd)/../..; export GIT_WORK_DIR $ git foo ...; git bar ...; would be more natural, so I do not expect the semantics of relative path would be a big issue in reality, as long as we make it clear that it is relative to cwd. By the way, I do not find your command line example intuitive at all, whether the --work-dir= parameter is relative or absolute. Do you honestry expect that loooong command line is something people would use in real life? With $GIT_DIR/workdir support, I would expect that people would do (if what is done is only to add one file and nothing else): $ GIT_DIR=/path/to/repo.git git add a And without $GIT_DIR/workdir support: $ GIT_DIR=/path/to/repo.git GIT_WORK_DIR=../.. git add a If the user is going to work in the working tree for extended period of time, cd'ing around and running multiple git commands: $ GIT_DIR=/path/to/repo.git; export GIT_DIR $ git foo ; git bar ; cd subdir ; git baz ; ... And without $GIT_DIR/workdir support, perhaps the user would do: $ GIT_DIR=/path/to/repo.git; export GIT_DIR $ GIT_WORK_DIR=$(pwd)/../..; export GIT_WORK_DIR $ git foo ; git bar ; cd subdir ; git baz ; ... What I am getting at is that I personally feel that --git-dir= option is already an unnecessary redundancy that is there only to confuse new people by having more than one way to do the same thing, and --work-dir= option seems to be only adding to the same confusion. Do we really want that as an option? - 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