GNU bug report logs -
#21559
25.0.50; auto-revert-mode breaks git rebase
Previous Next
Reported by: Ben Gamari <ben <at> smart-cactus.org>
Date: Fri, 25 Sep 2015 14:31:02 UTC
Severity: normal
Found in version 25.0.50
Fixed in version 27.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Mitchel Humpherys <mitch.special <at> gmail.com> writes:
> So we're back to instrumenting vc{,-git}.el to see exactly which git
> commands are being run when auto-revert refreshes a buffer.
I recently revisited this and came up with this hack (after realizing
that my previous tracing approach was badly broken),
(defun my-tracing-function (orig &rest args)
(message "call-process %s" args))
(advice-add 'call-process :before #'my-tracing-function)
(message "installed")
This produces,
call-process (nil (t nil) nil ls-files -c -z -- COPYING)
call-process (nil (t nil) nil rev-parse HEAD)
call-process (nil (t nil) nil symbolic-ref HEAD)
call-process (nil (t nil) nil diff-index -p --raw -z HEAD -- COPYING)
call-process (nil (t nil) nil status --porcelain -- COPYING)
call-process (nil (t nil) nil ls-files -c -z -- COPYING)
call-process (nil (t nil) nil rev-parse HEAD)
call-process (nil (t nil) nil symbolic-ref HEAD)
call-process (nil (t nil) nil diff-index -p --raw -z HEAD -- COPYING)
call-process (nil (t nil) nil status --porcelain -- COPYING)
Quit
call-process (nil (t nil) nil ls-files -c -z -- COPYING)
After stracing each of these I've found that status --porcelain indeed
takes index.lock. Unfortunately I can't find a good explanation of why
this is necessary.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 6 years and 294 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.