diff options
author | Noam Postavsky <npostavs@gmail.com> | 2018-06-11 20:41:07 -0400 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2018-06-18 20:02:04 -0400 |
commit | 5498acb5a2b4a19060d17c0e2ce0aec36ee684f9 (patch) | |
tree | 85eb75e45e6b6a830366c498d7a23c6bd2cac6cd | |
parent | 91ebbbfa107c60db84e09d54d952ffd969821ccb (diff) | |
download | emacs-5498acb5a2b4a19060d17c0e2ce0aec36ee684f9.tar.gz emacs-5498acb5a2b4a19060d17c0e2ce0aec36ee684f9.tar.bz2 emacs-5498acb5a2b4a19060d17c0e2ce0aec36ee684f9.zip |
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).
-rw-r--r-- | admin/gitmerge.el | 8 |
1 files changed, 6 insertions, 2 deletions
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")) |