From: Noam Postavsky Date: Tue, 12 Jun 2018 00:41:07 +0000 (-0400) Subject: Stop assuming .git is a directory in gitmerge.el X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~19^2~5185 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5498acb5a2b4a19060d17c0e2ce0aec36ee684f9;p=emacs.git Stop assuming .git is a directory in gitmerge.el * admin/gitmerge.el (gitmerge-maybe-resume): Use 'git rev-parse --git-dir' to find the git directory rather than assuming it is .git/ (that assumption fails for separated worktrees). --- diff --git a/admin/gitmerge.el b/admin/gitmerge.el index e676e8fa025..a123e0352d7 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -483,8 +483,12 @@ Throw an user-error if we cannot resolve automatically." (defun gitmerge-maybe-resume () "Check if we have to resume a merge. If so, add no longer conflicted files and commit." - (let ((mergehead (file-exists-p - (expand-file-name ".git/MERGE_HEAD" default-directory))) + (let ((mergehead + (file-exists-p + (expand-file-name + "MERGE_HEAD" + (car (process-lines + "git" "rev-parse" "--no-flags" "--git-dir"))))) (statusexist (file-exists-p gitmerge-status-file))) (when (and mergehead (not statusexist)) (user-error "Unfinished merge, but no record of a previous gitmerge run"))