GNU bug report logs - #8756
23.3; vc-git.el doesn't use --follow argument in vc-git-print-log

Previous Next

Package: emacs;

Reported by: Steinar Bang <sb <at> dod.no>

Date: Sun, 29 May 2011 20:28:01 UTC

Severity: normal

Tags: fixed

Merged with 19045

Found in versions 23.3, 25.0.50

Fixed in version 26.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dan Nicolaescu <dann <at> gnu.org>
To: Steinar Bang <sb <at> dod.no>
Cc: 8756 <at> debbugs.gnu.org
Subject: bug#8756: 23.3; vc-git.el doesn't use --follow argument in vc-git-print-log
Date: Mon, 28 Nov 2011 16:08:32 -0500
Steinar Bang <sb <at> dod.no> writes:

>>>>>> Dan Nicolaescu <dann <at> gnu.org>:
>
>> I tried doing that at some point, but the result is not completely
>> functional, these commands do not work:
>>  "d" (log-view-diff)
>>  "f" (log-view-find-revision)  
>>  "a" (log-view-annotate-revision)
>
> Yes, I discovered the same thing.
>
>> which means that the corresponding vc-git.el functions need updating.
>> If someone figures out what git commands/sequence of commands are
>> needed to implement these, then it should not be too hard to implement
>> the needed changes.
>
> I decided to take a look at it again today.  The first problem I ran
> into, was that the emacs 23.1 version of `vc-git-print-log' used
> "git rev-list" instead of "git log".  And only "git log" supports
> "--follow" to track renames (at least that's what I concluded after
> googling for this today.  *Please* correct me, if I'm wrong!).

vc-git-print-log currently uses "git log", so your changes should not be
needed.

> This had slightly more success than the first attempt:
>  - `C-x v l' reports the full history (as in the previous attempt)
>  - Now `d', `f', and `a' works for commits newer than the rename
>  - After the rename
>   - `d' no longer fails with "No next version", but reports no diff,
>     where there should have been a diff
>     #begin_example
>      No changes between a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b and 8d304db76993a0da0894b3d30794a2c5ec4927fe
>     #end_example

To solve this problem please figure out the git command (or set of
commands) that produces the expected diff.  Anything displayed in the
log buffer can be considered as available.  After that we need to figure
out how to make VC use that/those command(s).


>   - `f' and `a' fails because the file doesn't exist
>     #begin_example
>      fatal: no such path apps/share/emacs23/site-lisp/vc-git.el in 8d304db76993a0da0894b3d30794a2c5ec4927fe
>     #end_example

Same as above.




This bug report was last modified 5 years and 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.