]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix vc-git-dir-status-files WRT up-to-date vs edited
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 15 Dec 2014 14:18:34 +0000 (16:18 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 15 Dec 2014 14:18:34 +0000 (16:18 +0200)
Fixes: debbugs:19386
* lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Move `up-to-date'
stage to after `diff-index'.

lisp/ChangeLog
lisp/vc/vc-git.el

index 204283ea7056f0321b49d26008e5cf1b6c1f2b04..b6bf86809c23d5fc888b2f8c590e39d002e41d6f 100644 (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
index ae6b13a6c6097d4b0451e9fd513548cc6b1096fd..4c64d8374cb133dec6aa1bd9e26aa1e9f501a7f3 100644 (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)