Re: [PATCH] emacs: make 'git-status' work with separate git dirs
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 25, 2012, 06:22 UTC
- Message-ID
- <7v4nkeyzfb.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1353599934-23222-1-git-send-email-enrico.scholz@sigma-chemnitz.de>
Enrico Scholz <enrico.scholz@sigma-chemnitz.de> writes:
Show 12 quoted lines
> when trying 'M-x git-status' in a submodule created with recent (1.7.5+) > git, the command fails with > > | ... is not a git working tree > > This is caused by creating submodules with '--separate-git-dir' but > still checking for a working tree by testing for a '.git' directory. > > The patch fixes this by relaxing the existing detection a little bit. > > Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> > ---
This script already relies on the assumption that nobody sane would create a directory named ".git" that is not a git repository, and this loosens the assumption that nobody would create a file named ".git", either. So I would think it is a sane thing to do, but just in case if the area expert has better ideas, I am forwarding it.
Ack?
Show 16 quoted lines
> contrib/emacs/git.el | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el > index 65c95d9..5ffc506 100644 > --- a/contrib/emacs/git.el > +++ b/contrib/emacs/git.el > @@ -1671,7 +1671,7 @@ Commands: > "Entry point into git-status mode." > (interactive "DSelect directory: ") > (setq dir (git-get-top-dir dir)) > - (if (file-directory-p (concat (file-name-as-directory dir) ".git")) > + (if (file-exists-p (concat (file-name-as-directory dir) ".git")) > (let ((buffer (or (and git-reuse-status-buffer (git-find-status-buffer dir)) > (create-file-buffer (expand-file-name "*git-status*" dir))))) > (switch-to-buffer buffer)