bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26066: 26.0.50; vc-git-status gives wrong result


From: Jonathan Ganc
Subject: bug#26066: 26.0.50; vc-git-status gives wrong result
Date: Mon, 10 Apr 2017 23:52:24 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

I've incorporated Thien-Thi's suggestion, as well as an if to check status for nil (which indicates unregistered).


On 04/10/2017 08:07 PM, Dmitry Gutov wrote:
You are right. But we could set it in vc-state-refresh.


On 04/10/2017 07:46 PM, Dmitry Gutov wrote:

Thanks. I guess the main thing left is to decide whether vc-git-state should bind default-directory. For example, vc-bzr-state doesn't, while vc-hg-state does.

Does this binding affect the command output, in this particular case?

The binding affects the output if default-directory is not set inside the file's repository.

Since, in principle, the vc functions should be agnostic to the choice of vcs, either a) vc-state documentation should state that default-directory should be set to get generally correct responses or b) it should be set in some function (and I agree that vc-state-refresh makes sense).

I think the overhead of setting the directory is rather low. In some admittedly rudimentary benchmarks, there is almost no difference in performance setting default-directory.

There's also the question of how to handle default-directory. You cannot simply do (file-name-directory file), because that fails if FILE is given without a directory. I think the correct one is (file-name-directory (expand-file-name file)) (which, surprisingly, is slighly faster than (file-name-directory (concat default-directory file)) ).

Attachment: 0001-update-vc-git.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]