Fix vc-git-dir-status-files WRT up-to-date vs edited

Fixes: debbugs:19386

* lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
stage to after `diff-index'.
This commit is contained in:
Dmitry Gutov 2014-12-15 16:18:34 +02:00
parent bb57c94d5f
commit 061db13989
2 changed files with 8 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2014-12-15 Dmitry Gutov <dgutov@yandex.ru>
* vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
stage to after `diff-index' (bug#19386).
2014-12-14 João Távora <joaotavora@gmail.com>
* textmodes/tex-mode.el (tex-insert-quote): Consider and respect

View file

@ -380,8 +380,7 @@ or an empty string if none."
(goto-char (point-min))
(pcase stage
(`update-index
(setq next-stage (if (vc-git--empty-db-p) 'ls-files-added
(if files 'ls-files-up-to-date 'diff-index))))
(setq next-stage (if (vc-git--empty-db-p) 'ls-files-added 'diff-index)))
(`ls-files-added
(setq next-stage 'ls-files-unknown)
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
@ -390,7 +389,7 @@ or an empty string if none."
(push (list name 'added (vc-git-create-extra-fileinfo 0 new-perm))
result))))
(`ls-files-up-to-date
(setq next-stage 'diff-index)
(setq next-stage 'ls-files-unknown)
(while (re-search-forward "\\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} 0\t\\([^\0]+\\)\0" nil t)
(let ((perm (string-to-number (match-string 1) 8))
(name (match-string 2)))
@ -409,7 +408,7 @@ or an empty string if none."
(vc-git-create-extra-fileinfo 0 0))
result)))
(`diff-index
(setq next-stage 'ls-files-unknown)
(setq next-stage (if files 'ls-files-up-to-date 'ls-files-unknown))
(while (re-search-forward
":\\([0-7]\\{6\\}\\) \\([0-7]\\{6\\}\\) [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\(\\([ADMUT]\\)\0\\([^\0]+\\)\\|\\([CR]\\)[0-9]*\0\\([^\0]+\\)\0\\([^\0]+\\)\\)\0"
nil t 1)