git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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)
Previous: Enrico ScholzNext: Alexandre Julliard
Message 2 of 4 in “emacs: make 'git-status' work with separate git dirs”
  1. emacs: make 'git-status' work with separate git dirsEnrico Scholz, Nov 22, 2012
  2. Junio C HamanoNov 25, 2012
  3. Alexandre JulliardNov 25, 2012
  4. Junio C HamanoNov 26, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.