Commit 2cc441ec authored by Eric S. Raymond's avatar Eric S. Raymond
Browse files

Integrate Rüdiger Sonderfeld's code for detecting conflicted files under git.

parent c1677234
2014-08-13 Eric S. Raymond <esr@thyrsus.com>
* vc/vc-git.el (vc-git-conflicted-files): Integrate Rüdiger
Sonderfeld's code for detecting conflicted files using a status
listing. Useful in itself and a step towards better smerge
support.
2014-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
 
* mpc.el (mpc-reorder): Don't bother splitting the "active"s elements
......
......@@ -102,6 +102,7 @@
;; - delete-file (file) OK
;; - rename-file (old new) OK
;; - find-file-hook () NOT NEEDED
;; - conflicted-files OK
;;; Code:
......@@ -769,6 +770,23 @@ This prompts for a branch to merge from."
(with-current-buffer buffer (vc-run-delayed (vc-compilation-mode 'git)))
(vc-set-async-update buffer)))
(defun vc-git-conflicted-files (directory)
"Return the list of files with conflicts in DIRECTORY."
(let* ((status
(vc-git--run-command-string directory "status" "--porcelain" "--"))
(lines (split-string status "\n" 'omit-nulls))
files)
(dolist (line lines files)
(when (string-match "\\([ MADRCU?!][ MADRCU?!]\\) \\(.+\\)\\(?: -> \\(.+\\)\\)?"
line)
(let ((state (match-string 1 line))
(file (match-string 2 line)))
;; See git-status(1).
(when (member state '("AU" "UD" "UA" ;; "DD"
"DU" "AA" "UU"))
(push file files)))))))
;;; HISTORY FUNCTIONS
(autoload 'vc-setup-buffer "vc-dispatcher")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment