mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-21 20:37:38 +00:00
Integrate Rüdiger Sonderfeld's code for detecting conflicted files under git.
This commit is contained in:
parent
c1677234a3
commit
2cc441ecbf
2 changed files with 25 additions and 0 deletions
|
|
@ -1,3 +1,10 @@
|
|||
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")
|
||||
|
|
|
|||
Loading…
Reference in a new issue