|
From: | Dmitry Gutov |
Subject: | bug#43464: 28.0.50; vc: Error calling vc-revert for repo root |
Date: | Mon, 5 Oct 2020 01:32:10 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 24.09.2020 10:15, Andrii Kolomoiets wrote:
On 18.09.2020 18:45, Andrii Kolomoiets wrote:BTW vc-revert is also works fine in Git repo when point is on subdirectory. So for the vc-git only reverting repo root is not working.That's an interesting observation.And the most interest part of that observation is that I can't reproduce it :)
Oh well. :-)
Please see attached patch which make it possible for vc-hg to revert directory.Could you explain both changes in that patch?The idea is to make the 'vc-backend' function to return backend for directory. 'vc-backend' function uses the 'vc-registered' function. The change for vc-hg.el makes 'vc-hg-registered' return t for directory. The change to vc.el makes the 'vc-register' function called on directory to not error with "already registered" message.
Thanks. Where is that vc-backend called from, in our scenario?Could we make do with changing that code to use vc-responsible-backend instead of vc-backend instead? If it's not a function called frequently.
I'm not 100% sure about the original design, but vc-responsible-backend *does* work on directories.
Its downside is it doesn't cache the result to VC properties (hence it would be unwise to use it everywhere). But it's also an upside, because said properties are invalidated in a few strategic places like find-file-hook, and that never happens for directories (hence that cache will tend to get out of date, sooner or later).
And also: how does it change, or not change, the behavior of vc-revert in backends that are not Git or Hg?Looks like everybody is ready for reverting dirs. bzr, mtn, svn - Should be fine reverting directory dav - do nothing on vc-revert rcs - reverting directory is added in c22b0a7da32360e34f6f0ff86a886c9028b3d863 sccs - reverting directory is added in e7290559824406d111d306069b36dde8ced847f9 src - reverting directory is supported initially 1e81f6769013e1a0df9e10d7c5d0a3e3ca131143 cvs - passing directory to 'unedit' command should be fine
Very good.
[Prev in Thread] | Current Thread | [Next in Thread] |