Hi, I noticed a regression in the latest master, and I've been trying to debug it for 30 minutes now. I'm still clueless about the root cause, but I'll list whatever I found so far: I suddenly noticed that I wasn't able to commit to a certain repository with submodules anymore. This was because git commit was opening a COMMIT_EDITMSG in the wrong path. To reproduce the problem, you need a setup like mine: ~/dotfiles is a repository containing submodules ~/.elisp is a symbolic link to ~/dotfiles/.elisp, a normal directory ~/.elisp/flx is the submodule repository to which I'm trying to commit The buffer-file-name of COMMIT_EDITMSG comes out as /home/artagnon/.git/modules/flx/.git/COMMIT_EDITMSG, which is completely wrong because ~ does not even contain a .git. So, I started debugging the issue with this patch: diff --git a/builtin/commit.c b/builtin/commit.c index 003bd7d..38a7c77 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -678,6 +678,9 @@ static int prepare_to_commit(const char hook_arg2 = ""; } + char *buf = get_current_dir_name(); + die("DBG: %s | %s", buf, git_path(commit_editmsg)); + s->fp = fopen(git_path(commit_editmsg), "w"); if (s->fp == NULL) die_errno(_("could not open '%s'"), git_path(commit_editmsg)); On master, commit returns: fatal: DBG: /home/artagnon/.elisp/flx | ../../.git/modules/.elisp/flx/COMMIT_EDITMSG When backported to v1.8.3.3, commit returns: fatal: DBG: /home/artagnon/.elisp/flx | /home/artagnon/dotfiles/.git/modules/.elisp/flx/COMMIT_EDITMSG I tried looking through the logs to see what has changed in path.c/environment.c, but have come up with nothing so far. I think I'll have to resort to using a hammer like bisect now. *scratches head* -- 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