[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 5498acb 3/3: Stop assuming .git is a directory in g
From: |
Noam Postavsky |
Subject: |
[Emacs-diffs] master 5498acb 3/3: Stop assuming .git is a directory in gitmerge.el |
Date: |
Mon, 18 Jun 2018 20:11:25 -0400 (EDT) |
branch: master
commit 5498acb5a2b4a19060d17c0e2ce0aec36ee684f9
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
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).
---
admin/gitmerge.el | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/admin/gitmerge.el b/admin/gitmerge.el
index e676e8f..a123e03 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"))