From a3d2a66d97a6488f99233ead357eab0d7055c3c8 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Mon, 11 Jun 2018 20:41:07 -0400 Subject: [PATCH] Don't assume .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). --- admin/gitmerge.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/admin/gitmerge.el b/admin/gitmerge.el index e676e8fa02..8a8444aa40 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -483,8 +483,12 @@ gitmerge-commit (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 ;git_common_dir= + (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")) -- 2.11.0