]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix #16897
authorDmitry Gutov <dgutov@yandex.ru>
Sat, 8 Mar 2014 06:56:22 +0000 (08:56 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Sat, 8 Mar 2014 06:56:22 +0000 (08:56 +0200)
* lisp/vc/vc-git.el (vc-git-command): Turn FILE-OR-LIST into nil when
it only contains the repository root.

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

index cc5c065c017f66c48db14fae43e3da928dcd6dd6..7bbc084319bf8066bf6bea83b6e906d2378a19e6 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-08  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * vc/vc-git.el (vc-git-command): Turn FILE-OR-LIST into nil when
+       it only contains the repository root.  (Bug#16897)
+
 2014-03-07  Michael Albinus  <michael.albinus@gmx.de>
 
        * net/tramp-sh.el (tramp-sh-handle-vc-registered): Run first pass
index 06e46eeb663542e5eb1baf6c67e78bac93d55473..c7cae8359bf6b72252fdb66017b30507946b71ff 100644 (file)
@@ -1210,7 +1210,15 @@ This command shares argument histories with \\[rgrep] and \\[grep]."
 The difference to vc-do-command is that this function always invokes
 `vc-git-program'."
   (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
-         file-or-list (cons "--no-pager" flags)))
+         ;; http://debbugs.gnu.org/16897
+         (unless (and (not (cdr-safe file-or-list))
+                      (let ((file (or (car-safe file-or-list)
+                                      file-or-list)))
+                        (and file
+                             (eq ?/ (aref file (1- (length file))))
+                             (equal file (vc-git-root file)))))
+           file-or-list)
+         (cons "--no-pager" flags)))
 
 (defun vc-git--empty-db-p ()
   "Check if the git db is empty (no commit done yet)."