Hello guys,
I don't know if this is a normal behavior, so I'll just explain it here.
* Behavior:
from a directory OUTSIDE my git repo, I can run this command successfully:
$ git --git-dir=/my/repo/path/.git --work-tree=/my/repo/path pull origin master
But this one:
$ git --git-dir=/my/repo/path/.git --work-tree=/my/repo/path stash
Will fails with :
'fatal: $program_name cannot be used without a working tree.'
(Yes, the error message has been corrected since, but I use debian, so
I'm at least 6 month late).
* A bit of investigation:
I don't know many about git internal functioning, but with a bit of
googleing, I would point out git-sh-setup.sh:204, in function
require_work_tree, called by git-stash.
I could test (from outside my git repo, again):
git --git-dir=/my/repo/path/.git --work-tree=/my/repo/path rev-parse
--is-inside-work-tree
return:
false
What surprise me is that 'git-dir' seems to be passed ok to rev-parse:
git --git-dir=/my/repo/path/.git --work-tree=/my/repo/path rev-parse --git-dir
returns:
/my/repo/path/.git
* Question
Is this a normal behavior? Stash can only be applied in current
working directory?
If yes, I'll have to change my script to
(cd && git command)
If not, should I push a bug report somewhere?
Marc