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

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Steinar Bang <sb@HIDDEN>; merged with #19045; dated Sun, 29 May 2011 20:28:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Removed tag(s) patch. Request was from Noam Postavsky <npostavs@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.
bug unarchived. Request was from Noam Postavsky <npostavs@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
bug archived. Request was from Debbugs Internal Request <help-debbugs@HIDDEN> to internal_control <at> debbugs.gnu.org. Full text available.
Forcibly Merged 8756 19045. Request was from Stefan Monnier <monnier@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 30 Jul 2014 23:10:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 30 19:10:19 2014
Received: from localhost ([127.0.0.1]:52194 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1XCd0i-0007Wo-8O
	for submit <at> debbugs.gnu.org; Wed, 30 Jul 2014 19:10:17 -0400
Received: from eggs.gnu.org ([208.118.235.92]:40960)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <dima@HIDDEN>) id 1XCabx-0003lq-8N
 for submit <at> debbugs.gnu.org; Wed, 30 Jul 2014 16:36:34 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <dima@HIDDEN>) id 1XCabh-0004vL-OZ
 for submit <at> debbugs.gnu.org; Wed, 30 Jul 2014 16:36:27 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: **
X-Spam-Status: No, score=2.5 required=5.0 tests=BAYES_50,FSL_HELO_BARE_IP_2
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:33957)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dima@HIDDEN>) id 1XCabh-0004vH-LC
 for submit <at> debbugs.gnu.org; Wed, 30 Jul 2014 16:36:17 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:42654)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dima@HIDDEN>) id 1XCabZ-0003o8-6G
 for bug-gnu-emacs@HIDDEN; Wed, 30 Jul 2014 16:36:17 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <dima@HIDDEN>) id 1XCabM-0004rY-LY
 for bug-gnu-emacs@HIDDEN; Wed, 30 Jul 2014 16:36:09 -0400
Received: from forward20.mail.yandex.net ([95.108.253.145]:41443)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <dima@HIDDEN>) id 1XCabM-0004qX-8d
 for bug-gnu-emacs@HIDDEN; Wed, 30 Jul 2014 16:35:56 -0400
Received: from web22g.yandex.ru (web22g.yandex.ru [95.108.253.231])
 by forward20.mail.yandex.net (Yandex) with ESMTP id E4ADB1040274
 for <bug-gnu-emacs@HIDDEN>; Thu, 31 Jul 2014 00:35:32 +0400 (MSK)
Received: from 127.0.0.1 (localhost [127.0.0.1])
 by web22g.yandex.ru (Yandex) with ESMTP id 922988A100B;
 Thu, 31 Jul 2014 00:35:32 +0400 (MSK)
Received: from 95-31-27-234.broadband.corbina.ru
 (95-31-27-234.broadband.corbina.ru [95.31.27.234]) by web22g.yandex.ru with
 HTTP; Thu, 31 Jul 2014 00:35:32 +0400
From: Dmitry Dzhus <dima@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: bug#8756: vc-git.el doesn't use --follow argument in vc-git-print-log
MIME-Version: 1.0
Message-Id: <3258071406752532@HIDDEN>
X-Mailer: Yamail [ http://yandex.ru ] 5.0
Date: Thu, 31 Jul 2014 00:35:32 +0400
Content-Type: multipart/mixed; boundary="----==--bound.325808.web22g.yandex.ru"
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic]
 [fuzzy]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -3.3 (---)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Wed, 30 Jul 2014 19:10:14 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)


------==--bound.325808.web22g.yandex.ru
Content-Transfer-Encoding: 7bit
Content-Type: text/plain

How are you gentlemen,

Following renames is nice no matter what Git upstream thinks,
so I gave this bug a try. I'd like to share some progress.

Diffing (`d`), paging (`f`) and annotating a file (`a`) revision works.
I've tested it with Git version 1.8.5.4 and 2.0.2.

Parallel git log with hash/file information is run when
a log is queried. (vc-git-file-shalist) provides access to
a list of SHA1's/historical file names for the file open
in the *vc-change-log* buffer.

The bad part is that whole-changeset (`D`) diffing is broken
(wrong revisions are selected for diff).
The culprit is `vc-git-previous-revision`.
Using HASH^ to obtain the parent of HASH revision produces
unexpected results when file renames are involved. However,
for whole-changeset diffing HASH^ seems to be exactly what
we need. However, `vc-git-previous-revision` doesn't seem
to enable any inspection of the context in which we use it
(in other words, if we hit `d` or `D` in the log buffer.)
Any ideas?

I also have not tackled revision navigation in the annotation
mode, but this can likely be solved by plugging calls to 
`(vc-git-rev-to-filename)` somewhere in the annotation mode.
------==--bound.325808.web22g.yandex.ru
Content-Disposition: attachment;
	filename="vc-git-follow-renames.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-diff;
	name="vc-git-follow-renames.patch"

PT09IG1vZGlmaWVkIGZpbGUgJ2xpc3AvdmMvdmMtZ2l0LmVsJwotLS0gbGlzcC92Yy92Yy1naXQu
ZWwJMjAxNC0wNi0yOSAyMDo0ODo1NSArMDAwMAorKysgbGlzcC92Yy92Yy1naXQuZWwJMjAxNC0w
Ny0zMCAyMDozMjowMSArMDAwMApAQCAtNjkxLDEzICs2OTEsNyBAQAogCSAoY29kaW5nLXN5c3Rl
bS1mb3ItcmVhZCAnYmluYXJ5KQogCSAoY29kaW5nLXN5c3RlbS1mb3Itd3JpdGUgJ2JpbmFyeSkK
IAkgKGZ1bGxuYW1lCi0JICAobGV0ICgoZm4gKHZjLWdpdC0tcnVuLWNvbW1hbmQtc3RyaW5nCi0J
CSAgICAgZmlsZSAibHMtZmlsZXMiICIteiIgIi0tZnVsbC1uYW1lIiAiLS0iKSkpCi0JICAgIDs7
IGxzLWZpbGVzIGRvZXMgbm90IHJldHVybiBhbnl0aGluZyB3aGVuIGxvb2tpbmcgZm9yIGEKLQkg
ICAgOzsgcmV2aXNpb24gb2YgYSBmaWxlIHRoYXQgaGFzIGJlZW4gcmVuYW1lZCBvciByZW1vdmVk
LgotCSAgICAoaWYgKHN0cmluZz0gZm4gIiIpCi0JCShmaWxlLXJlbGF0aXZlLW5hbWUgZmlsZSAo
dmMtZ2l0LXJvb3QgZGVmYXVsdC1kaXJlY3RvcnkpKQotCSAgICAgIChzdWJzdHJpbmcgZm4gMCAt
MSkpKSkpCisgICAgICAgICAgKHZjLWdpdC1yZXYtdG8tZmlsZW5hbWUgcmV2KSkpCiAgICAgKHZj
LWdpdC1jb21tYW5kCiAgICAgIGJ1ZmZlciAwCiAgICAgIG5pbApAQCAtNzg2LDIwICs3ODAsNTMg
QEAKICAgICA7OyBJZiB0aGUgYnVmZmVyIGV4aXN0cyBmcm9tIGEgcHJldmlvdXMgaW52b2NhdGlv
biBpdCBtaWdodCBiZQogICAgIDs7IHJlYWQtb25seS4KICAgICAobGV0ICgoaW5oaWJpdC1yZWFk
LW9ubHkgdCkpCisgICAgICA7OyBDbGVhbiBTSEExIGxpc3QgY2FjaGVzIHdoZW5ldmVyIHdlIHF1
ZXJ5IGEgbmV3IGNoYW5nZSBsb2cKICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyCiAgICAgICAg
ICAgYnVmZmVyCi0JKGFwcGx5ICd2Yy1naXQtY29tbWFuZCBidWZmZXIKLQkgICAgICAgJ2FzeW5j
IGZpbGVzCi0JICAgICAgIChhcHBlbmQKLQkJJygibG9nIiAiLS1uby1jb2xvciIpCi0JCSh3aGVu
IHNob3J0bG9nCi0JCSAgYCgiLS1ncmFwaCIgIi0tZGVjb3JhdGUiICItLWRhdGU9c2hvcnQiCisg
ICAgICAgIChpZiAoYm91bmRwICd2Yy1naXQtZmlsZS1zaGFsaXN0LXJhdykKKyAgICAgICAgICAg
IChzZXRxIHZjLWdpdC1maWxlLXNoYWxpc3QtcmF3IG5pbCkKKyAgICAgICAgICAoc2V0IChtYWtl
LWxvY2FsLXZhcmlhYmxlICd2Yy1naXQtZmlsZS1zaGFsaXN0LXJhdykgbmlsKSkKKyAgICAgICAg
KGlmIChib3VuZHAgJ3ZjLWdpdC1maWxlLXNoYWxpc3QpCisgICAgICAgICAgICAoc2V0cSB2Yy1n
aXQtZmlsZS1zaGFsaXN0IG5pbCkpCisgICAgICAgICh3aGVuICh2Yy1naXQtc2luZ2xlLWZpbGUg
ZmlsZXMpCisgICAgICAgICAgOzsgU3RvcmUgbmV3bGluZS1zZXBhcmF0ZWQgbGlzdCBvZiByZXZp
c2lvbiBoYXNoZXMgYW5kIGZpbGUKKyAgICAgICAgICA7OyBuYW1lcyBpbiB2Yy1naXQtZmlsZS1z
aGFsaXN0LXJhdyBidWZmZXItbG9jYWwgdmFyaWFibGUKKyAgICAgICAgICAod2l0aC10ZW1wLWJ1
ZmZlcgorICAgICAgICAgICAgKHNldC1wcm9jZXNzLWZpbHRlcgorICAgICAgICAgICAgIChhcHBs
eSAndmMtZ2l0LWNvbW1hbmQgbmlsCisgICAgICAgICAgICAgICAgICAgICdhc3luYyBmaWxlcwor
ICAgICAgICAgICAgICAgICAgICAoYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAnKCJsb2ci
CisgICAgICAgICAgICAgICAgICAgICAgICItLWZvbGxvdyIKKyAgICAgICAgICAgICAgICAgICAg
ICAgIi0tbmFtZS1vbmx5IgorICAgICAgICAgICAgICAgICAgICAgICAiLS1wcmV0dHk9dGZvcm1h
dDolSCIKKyAgICAgICAgICAgICAgICAgICAgICAgIi0tbm8tY29sb3IiKQorICAgICAgICAgICAg
ICAgICAgICAgOzsgVGFpbCByZXZpc2lvbiBtdXN0IG5vdyBpdHMgcGFyZW50CisgICAgICAgICAg
ICAgICAgICAgICAod2hlbiBsaW1pdCAobGlzdCAiLW4iIChmb3JtYXQgIiVzIiAoMSsgbGltaXQp
KSkpCisgICAgICAgICAgICAgICAgICAgICAod2hlbiBzdGFydC1yZXZpc2lvbiAobHNpdCBzdGFy
dC1yZXZpc2lvbikpCisgICAgICAgICAgICAgICAgICAgICAnKCItLSIpKSkKKyAgICAgICAgICAg
ICAobGFtYmRhIChwIHMpCisgICAgICAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZm
ZXIKKyAgICAgICAgICAgICAgICAgKHNldHEKKyAgICAgICAgICAgICAgICAgIHZjLWdpdC1maWxl
LXNoYWxpc3QtcmF3CisgICAgICAgICAgICAgICAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5n
CisgICAgICAgICAgICAgICAgICAgIlxuXG4iICJcbiIKKyAgICAgICAgICAgICAgICAgICAoY29u
Y2F0IChpZiAoYm91bmRwICd2Yy1naXQtZmlsZS1zaGFsaXN0LXJhdykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2Yy1naXQtZmlsZS1zaGFsaXN0LXJhdyAiIikgcykpKSkpKSkpCisg
ICAgICAgIChhcHBseSAndmMtZ2l0LWNvbW1hbmQgYnVmZmVyCisgICAgICAgICAgICAgICAnYXN5
bmMgZmlsZXMKKyAgICAgICAgICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAoaWYgKHZj
LWdpdC1zaW5nbGUtZmlsZSBmaWxlcykKKyAgICAgICAgICAgICAgICAgICAgJygibG9nIiAiLS1m
b2xsb3ciICItLW5vLWNvbG9yIikKKyAgICAgICAgICAgICAgICAgICcoImxvZyIgIi0tbm8tY29s
b3IiKSkKKyAgICAgICAgICAgICAgICAod2hlbiBzaG9ydGxvZworICAgICAgICAgICAgICAgICAg
YCgiLS1ncmFwaCIgIi0tZGVjb3JhdGUiICItLWRhdGU9c2hvcnQiCiAgICAgICAgICAgICAgICAg
ICAgICwoZm9ybWF0ICItLXByZXR0eT10Zm9ybWF0OiVzIgotCQkJICAgICAoY2FyIHZjLWdpdC1y
b290LWxvZy1mb3JtYXQpKQotCQkgICAgIi0tYWJicmV2LWNvbW1pdCIpKQotCQkod2hlbiBsaW1p
dCAobGlzdCAiLW4iIChmb3JtYXQgIiVzIiBsaW1pdCkpKQotCQkod2hlbiBzdGFydC1yZXZpc2lv
biAobGlzdCBzdGFydC1yZXZpc2lvbikpCi0JCScoIi0tIikpKSkpKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGNhciB2Yy1naXQtcm9vdC1sb2ctZm9ybWF0KSkKKyAgICAgICAgICAg
ICAgICAgICAgIi0tYWJicmV2LWNvbW1pdCIpKQorICAgICAgICAgICAgICAgICh3aGVuIGxpbWl0
IChsaXN0ICItbiIgKGZvcm1hdCAiJXMiIGxpbWl0KSkpCisgICAgICAgICAgICAgICAgKHdoZW4g
c3RhcnQtcmV2aXNpb24gKGxpc3Qgc3RhcnQtcmV2aXNpb24pKQorICAgICAgICAgICAgICAgICco
Ii0tIikpKSkpKSkKIAogKGRlZnVuIHZjLWdpdC1sb2ctb3V0Z29pbmcgKGJ1ZmZlciByZW1vdGUt
bG9jYXRpb24pCiAgIChpbnRlcmFjdGl2ZSkKQEAgLTkwNCwxMSArOTMxLDIxIEBACiAoZGVmdW4g
dmMtZ2l0LWRpZmYgKGZpbGVzICZvcHRpb25hbCByZXYxIHJldjIgYnVmZmVyKQogICAiR2V0IGEg
ZGlmZmVyZW5jZSByZXBvcnQgdXNpbmcgR2l0IGJldHdlZW4gdHdvIHJldmlzaW9ucyBvZiBGSUxF
Uy4iCiAgIChsZXQgKHByb2Nlc3MtZmlsZS1zaWRlLWVmZmVjdHMpCi0gICAgKGFwcGx5ICMndmMt
Z2l0LWNvbW1hbmQgKG9yIGJ1ZmZlciAiKnZjLWRpZmYqIikgMSBmaWxlcwotCSAgIChpZiAoYW5k
IHJldjEgcmV2MikgImRpZmYtdHJlZSIgImRpZmYtaW5kZXgiKQotCSAgICItLWV4aXQtY29kZSIK
LQkgICAoYXBwZW5kICh2Yy1zd2l0Y2hlcyAnZ2l0ICdkaWZmKQotCQkgICAobGlzdCAiLXAiIChv
ciByZXYxICJIRUFEIikgcmV2MiAiLS0iKSkpKSkKKyAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAo
b3IgYnVmZmVyICIqdmMtZGlmZioiKQorICAgICAgOzsgUnVuIGRpZmYgZnJvbSB0aGUgcmVwb3Np
dG9yeSByb290IGJlY2F1c2Ugb3VyIGZpbGUgbmFtZXMgYXJlCisgICAgICA7OyByZWxhdGl2ZSB0
byBpdAorICAgICAgKHNldHEgZGVmYXVsdC1kaXJlY3RvcnkgKHZjLWdpdC1yb290IGRlZmF1bHQt
ZGlyZWN0b3J5KSkKKyAgICAgIChhcHBseSAjJ3ZjLWdpdC1jb21tYW5kIChvciBidWZmZXIgIip2
Yy1kaWZmKiIpIDEKKyAgICAgICAgICAgICAoaWYgKHZjLWdpdC1zaW5nbGUtZmlsZSBmaWxlcykK
KyAgICAgICAgICAgICAgICAgKGxpc3QKKyAgICAgICAgICAgICAgICAgICh2Yy1naXQtcmV2LXRv
LWZpbGVuYW1lIHJldjEpCisgICAgICAgICAgICAgICAgICAodmMtZ2l0LXJldi10by1maWxlbmFt
ZSByZXYyKSkKKyAgICAgICAgICAgICAgIGZpbGVzKQorICAgICAgICAgICAgIChpZiAoYW5kIHJl
djEgcmV2MikgImRpZmYtdHJlZSIgImRpZmYtaW5kZXgiKQorICAgICAgICAgICAgICItLWV4aXQt
Y29kZSIKKyAgICAgICAgICAgICAiLU0iCisgICAgICAgICAgICAgKGFwcGVuZCAodmMtc3dpdGNo
ZXMgJ2dpdCAnZGlmZikKKyAgICAgICAgICAgICAgICAgICAgIChsaXN0ICItcCIgKG9yIHJldjEg
IkhFQUQiKSByZXYyICItLSIpKSkpKSkKIAogKGRlZnVuIHZjLWdpdC1yZXZpc2lvbi10YWJsZSAo
X2ZpbGVzKQogICA7OyBXaGF0IGFib3V0IGBmaWxlcyc/IT8gIC0tU3RlZgpAQCAtOTI4LDcgKzk2
NSw4IEBACiAgICAgdGFibGUpKQogCiAoZGVmdW4gdmMtZ2l0LWFubm90YXRlLWNvbW1hbmQgKGZp
bGUgYnVmICZvcHRpb25hbCByZXYpCi0gIChsZXQgKChuYW1lIChmaWxlLXJlbGF0aXZlLW5hbWUg
ZmlsZSkpKQorICAoc2V0cSBkZWZhdWx0LWRpcmVjdG9yeSAodmMtZ2l0LXJvb3QgZGVmYXVsdC1k
aXJlY3RvcnkpKQorICAobGV0ICgobmFtZSAodmMtZ2l0LXJldi10by1maWxlbmFtZSByZXYpKSkK
ICAgICAodmMtZ2l0LWNvbW1hbmQgYnVmICdhc3luYyBuaWwgImJsYW1lIiAiLS1kYXRlPWlzbyIg
Ii1DIiAiLUMiIHJldiAiLS0iIG5hbWUpKSkKIAogKGRlY2xhcmUtZnVuY3Rpb24gdmMtYW5ub3Rh
dGUtY29udmVydC10aW1lICJ2Yy1hbm5vdGF0ZSIgKHRpbWUpKQpAQCAtOTg3LDcgKzEwMjUsMTEg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICgxLSAocG9pbnQtbWF4KSkpKSkpKQogICAgICAgICAob3IgKHZjLWdpdC1zeW1i
b2xpYy1jb21taXQgcHJldi1yZXYpIHByZXYtcmV2KSkKLSAgICAodmMtZ2l0LS1yZXYtcGFyc2Ug
KGNvbmNhdCByZXYgIl4iKSkpKQorICAgIDs7IFVzZSBoaXN0b3JpY2FsIGRhdGEgZm9yIHRoZSBm
aWxlIGlmIHBvc3NpYmxlLgorICAgIDs7IEZJWE1FOiBUaGlzIGJyZWFrcyB3aG9sZS1jaGFuZ2Vz
ZXQgZGlmZmluZy4KKyAgICAoaWYgKHZjLWdpdC1maWxlLXNoYWxpc3QpCisgICAgICAgIChjYXIg
KGNkZHIgKG1lbWJlciByZXYgKHZjLWdpdC1maWxlLXNoYWxpc3QpKSkpCisgICAgICAodmMtZ2l0
LS1yZXYtcGFyc2UgKGNvbmNhdCByZXYgIl4iKSkpKSkKIAogKGRlZnVuIHZjLWdpdC0tcmV2LXBh
cnNlIChyZXYpCiAgICh3aXRoLXRlbXAtYnVmZmVyCkBAIC05OTUsNiArMTAzNywyNiBAQAogICAg
ICAodmMtZ2l0LS1vdXQtb2sgInJldi1wYXJzZSIgcmV2KQogICAgICAoYnVmZmVyLXN1YnN0cmlu
Zy1uby1wcm9wZXJ0aWVzIChwb2ludC1taW4pICgrIChwb2ludC1taW4pIDQwKSkpKSkKIAorKGRl
ZnVuIHZjLWdpdC1zaW5nbGUtZmlsZSAoZmlsZXMpCisgICJSZXR1cm4gdCBpZiBGSUxFUyBjb250
YWlucyBhIHNpbmdsZSBub24tZGlyZWN0b3J5IGZpbGUuIgorICAoYW5kIChlcSAobGVuZ3RoIGZp
bGVzKSAxKQorICAgICAgIChub3QgKGZpbGUtZGlyZWN0b3J5LXAgKGNhciBmaWxlcykpKSkpCisK
KyhkZWZ1biB2Yy1naXQtZmlsZS1zaGFsaXN0ICgpCisgICJSZXR1cm4gYWx0ZXJuYXRpbmcgbGlz
dCBvZiBTSEExIGhhc2hlcyBhbmQgZmlsZSBuYW1lcy4KK1RoZSBsaXN0IGNvbnRhaW5zIGNvbW1p
dCBoYXNoZXMgYW5kIGhpc3RvcmljYWwgbmFtZXMgZm9yIGEgZmlsZQoraW4gdGhlIGN1cnJlbnQg
Y2hhbmdlIGxvZyBidWZmZXIuIgorICAoY29uZAorICAgKChhbmQgKGJvdW5kcCAndmMtZ2l0LWZp
bGUtc2hhbGlzdCkgdmMtZ2l0LWZpbGUtc2hhbGlzdCkKKyAgICB2Yy1naXQtZmlsZS1zaGFsaXN0
KQorICAgKChhbmQgKGJvdW5kcCAndmMtZ2l0LWZpbGUtc2hhbGlzdC1yYXcpIHZjLWdpdC1maWxl
LXNoYWxpc3QtcmF3KQorICAgIChzZXQgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ3ZjLWdpdC1maWxl
LXNoYWxpc3QpCisgICAgICAgICAoc3BsaXQtc3RyaW5nIHZjLWdpdC1maWxlLXNoYWxpc3QtcmF3
ICJcbiIpKSkpKQorCisoZGVmdW4gdmMtZ2l0LXJldi10by1maWxlbmFtZSAocmV2KQorICAiUmV0
dXJuIGEgaGlzdG9yaWNhbCBmaWxlIG5hbWUgZm9yIHRoZSBmaWxlIGluIFJFVi4iCisgIChjYWRy
IChtZW1iZXIgcmV2ICh2Yy1naXQtZmlsZS1zaGFsaXN0KSkpKQorCiAoZGVmdW4gdmMtZ2l0LW5l
eHQtcmV2aXNpb24gKGZpbGUgcmV2KQogICAiR2l0LXNwZWNpZmljIHZlcnNpb24gb2YgYHZjLW5l
eHQtcmV2aXNpb24nLiIKICAgKGxldCogKChkZWZhdWx0LWRpcmVjdG9yeSAoZmlsZS1uYW1lLWRp
cmVjdG9yeQoK
------==--bound.325808.web22g.yandex.ru--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 12 Jan 2014 10:45:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 12 05:45:51 2014
Received: from localhost ([127.0.0.1]:47397 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W2IY7-0005oE-UB
	for submit <at> debbugs.gnu.org; Sun, 12 Jan 2014 05:45:51 -0500
Received: from rainey.bang.priv.no ([212.110.185.190]:43569)
 by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <sb@HIDDEN>)
 id 1W2IY5-0005o5-Tx
 for 8756 <at> debbugs.gnu.org; Sun, 12 Jan 2014 05:45:46 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
 <87ob3i61vx.fsf@HIDDEN> <yxq61pq6kfu.fsf@HIDDEN>
 <87wqi54ias.fsf@HIDDEN>
Date: Sun, 12 Jan 2014 11:45:37 +0100
In-Reply-To: <87wqi54ias.fsf@HIDDEN> (Steinar Bang's message of "Sun, 12 Jan
 2014 11:15:55 +0100")
Message-ID: <87r48d4gxa.fsf@HIDDEN>
User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.248.210
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
 bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 GREYLIST_ISWHITE autolearn=ham version=3.3.2
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:57:07 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

>>>>> Steinar Bang <sb@HIDDEN>:
>>>>> Dan Nicolaescu <dann@HIDDEN>:

>> IMO the ideal solution is to get git to put the sha1/path info in the
>> log output, then vc can read it from there and do whatever is needed.
>> Is it possible to do that using the "format" argument to git log?

> Where do you want the path? I'm assuming in the line following the
> sha1 and with as little clutter as possible (no extra blank lines, no
> stuff on that line, except for the path)?

I path isn't in available in the format specification:
 http://opensource.apple.com/source/Git/Git-19/src/git-htmldocs/pretty-formats.txt
 http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History
(Note: I will be happy to be proven wrong here)

As far as I can tell the file name lives "outside" of the normal git-log
output and is tacked on at the end with an extra blank line as a
separator, when you do --name-only.

So the best way to achive what you want, if you don't like the clutter
added by the extra blank line, and the visually ambigious presentation
of putting it close to the next commit, would be to do the log with
 git log --follow --name-only
and then hide the two lines before each "commit " line, except for the
first, and also hide the two last lines of the output.

I would probably be a good idea to create the sha1/path alist when doing
the folding.

Maybe it would be better, and simpler (and faster...?, to just strip the
path and the blank line, and put the information only into the alist?
The path isn't needed, or even desired, visually...?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 12 Jan 2014 10:16:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 12 05:16:06 2014
Received: from localhost ([127.0.0.1]:47392 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W2I5O-0004xd-Ho
	for submit <at> debbugs.gnu.org; Sun, 12 Jan 2014 05:16:06 -0500
Received: from rainey.bang.priv.no ([212.110.185.190]:53855)
 by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <sb@HIDDEN>)
 id 1W2I5M-0004xS-Jl
 for 8756 <at> debbugs.gnu.org; Sun, 12 Jan 2014 05:16:05 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
 <87ob3i61vx.fsf@HIDDEN> <yxq61pq6kfu.fsf@HIDDEN>
Date: Sun, 12 Jan 2014 11:15:55 +0100
In-Reply-To: <yxq61pq6kfu.fsf@HIDDEN> (Dan Nicolaescu's message of
 "Sat, 11 Jan 2014 20:46:45 -0500")
Message-ID: <87wqi54ias.fsf@HIDDEN>
User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.248.210
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
 bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 GREYLIST_ISWHITE autolearn=ham version=3.3.2
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:57:07 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

>>>>> Dan Nicolaescu <dann@HIDDEN>:

> IMO the ideal solution is to get git to put the sha1/path info in the
> log output, then vc can read it from there and do whatever is needed.
> Is it possible to do that using the "format" argument to git log?

Where do you want the path? I'm assuming in the line following the sha1
and with as little clutter as possible (no extra blank lines, no stuff
on that line, except for the path)?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 12 Jan 2014 03:57:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 11 22:57:41 2014
Received: from localhost ([127.0.0.1]:47293 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W2CBB-0002aB-A3
	for submit <at> debbugs.gnu.org; Sat, 11 Jan 2014 22:57:41 -0500
Received: from mtaout23.012.net.il ([80.179.55.175]:33515)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1W2CB9-0002a2-D1
 for 8756 <at> debbugs.gnu.org; Sat, 11 Jan 2014 22:57:40 -0500
Received: from conversion-daemon.a-mtaout23.012.net.il by
 a-mtaout23.012.net.il (HyperSendmail v2007.08) id
 <0MZ900H00RSOZA00@HIDDEN> for 8756 <at> debbugs.gnu.org;
 Sun, 12 Jan 2014 05:57:37 +0200 (IST)
Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0MZ900HB1SC1UY80@HIDDEN>;
 Sun, 12 Jan 2014 05:57:37 +0200 (IST)
Date: Sun, 12 Jan 2014 05:57:21 +0200
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
In-reply-to: <yxq61pq6kfu.fsf@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Dan Nicolaescu <dann@HIDDEN>
Message-id: <83vbxp97j2.fsf@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
 <87ob3i61vx.fsf@HIDDEN> <yxq61pq6kfu.fsf@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org, sb@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Dan Nicolaescu <dann@HIDDEN>
> Date: Sat, 11 Jan 2014 20:46:45 -0500
> Cc: 8756 <at> debbugs.gnu.org
> 
> IMO the ideal solution is to get git to put the sha1/path info in the
> log output, then vc can read it from there and do whatever is needed.
> Is it possible to do that using the "format" argument to git log?

Yes, use %H or %h.

> Another thing that could be improved in the log output (C-x v L) is to
> put the date before the name.
> 
> >From a random place in emacs history: 
> 
> * 2822e57..: Paul Eggert 2013-01-14 Avoid needless casts with XSAVE_POINTER.
> * 5dece9d..: Leo Liu 2013-01-14 Sync window-point and point in calendar-redraw
> * 9b1cf40..: Glenn Morris 2013-01-14 Auto-commit of loaddefs files.
> * df32ded..: Dmitry Antipov 2013-01-14 * lisp.h (toplevel): Fix typo in comment.
> 
> The date has a fixed length, names do not, the display would look much better like this:
> 
> * 2822e57..: 2013-01-14 Paul Eggert  Avoid needless casts with XSAVE_POINTER.
> * 5dece9d..: 2013-01-14 Leo Liu  Sync window-point and point in calendar-redraw
> * 9b1cf40..: 2013-01-14 Glenn Morris  Auto-commit of loaddefs files.
> * df32ded..: 2013-01-14 Dmitry Antipov  * lisp.h (toplevel): Fix typo in comment.

The 'format' option supports alignment directive, so the format of the
output could be even prettier.

Here's what I use for a pretty log output:

  git log --pretty='format:%h %<(18,mtrunc)%an %cd %s' --date=short




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 12 Jan 2014 01:46:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 11 20:46:53 2014
Received: from localhost ([127.0.0.1]:47268 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W2A8Z-0007Hu-Gp
	for submit <at> debbugs.gnu.org; Sat, 11 Jan 2014 20:46:52 -0500
Received: from fencepost.gnu.org ([208.118.235.10]:60308)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <dann@HIDDEN>) id 1W2A8U-0007Hd-Is
 for 8756 <at> debbugs.gnu.org; Sat, 11 Jan 2014 20:46:47 -0500
Received: from dann by fencepost.gnu.org with local (Exim 4.71)
 (envelope-from <dann@HIDDEN>)
 id 1W2A8T-00015D-52; Sat, 11 Jan 2014 20:46:45 -0500
From: Dan Nicolaescu <dann@HIDDEN>
To: Steinar Bang <sb@HIDDEN>
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
 <87ob3i61vx.fsf@HIDDEN>
X-Debbugs-No-Ack: yes
Date: Sat, 11 Jan 2014 20:46:45 -0500
In-Reply-To: <87ob3i61vx.fsf@HIDDEN> (Steinar Bang's message of "Sat, 11 Jan
 2014 15:15:14 +0100")
Message-ID: <yxq61pq6kfu.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -5.1 (-----)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.1 (-----)

Steinar Bang <sb@HIDDEN> writes:

>>>>>> Dan Nicolaescu <dann@HIDDEN>:
>
>> The simple fix applied was suggested with the bug report.  It is not
>> enough to make it fully work, things like annotate, diff, etc do not
>> work...
>
> Indeed:
>  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756#8
>  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756#11
>
> To summarize: with --follow in place, what's listed in the log is the
> complete history, but annotate, and find files won't work past renames,
> and diffs reports "no diffs" when there should have been one (past
> renames).
>
> To summarize my experiments further down in the bug report thread: if
> you do  
>  git diff -M sha1a sha1b -- path-of-file-in-sha1a path-of-file-in-sha1b
> you get a result that is the diff of the two files.
>
> Here sha1a is a sha1 in "git log --follow path-of-file" that refers to a
> point in history before moving a file, and path-of-file-in-sha1a is the
> path to the file at that time in history.  And sha1b and
> path-of-file-in-sha1b refers to a point in time where the file has a
> different name or location.
>
> To get the sha1/path infomation one can do the command
>  git log --follow --name-only --pretty=oneline path-to-current-version-of-the-file
> and then parse out the sha1/path pairs.
>
> Note: this "git log" has to be done in addition to the displayed "git
> log".  This command is not for display, it is just to get the sha1/path
> pairs. 
>
> I have created an example repo that contains some renames, moves, and
> plain changes, at: https://github.com/steinarb/renametest.git
>
> Here is an example of a diff in that repository (in this case a file
> that has been renamed once, and then renamed file has been moved to a
> different location):
>
> sb@edwards:~/git/renametest$ git diff -M e5984c6a9e8e015dc521fb6a1756a88d5ffd676d 09d1bf6aa4dcd20dd36ca7668b75809e794428e0 -- hoved.txt application/main.txt
> diff --git a/hoved.txt b/application/main.txt
> similarity index 50%
> rename from hoved.txt
> rename to application/main.txt
> index 9a57969..7f5e5a6 100644
> --- a/hoved.txt
> +++ b/application/main.txt
> @@ -1,5 +1,6 @@
>  Hello world!
> -Version 1.0
> -Feature1 implementation
> +Version 2.0
>  Feature2 implementation
>  Feature3 implementation
> +Feature4 implementation
> +Feature4 implementation
>
>
> Here is an example of the command to get the sha1/path pairs:
> sb@edwards:~/git/renametest$ git log --follow --name-only --pretty=oneline application/main.txt

IMO the ideal solution is to get git to put the sha1/path info in the
log output, then vc can read it from there and do whatever is needed.
Is it possible to do that using the "format" argument to git log?

Another thing that could be improved in the log output (C-x v L) is to
put the date before the name.

From a random place in emacs history: 

* 2822e57..: Paul Eggert 2013-01-14 Avoid needless casts with XSAVE_POINTER.
* 5dece9d..: Leo Liu 2013-01-14 Sync window-point and point in calendar-redraw
* 9b1cf40..: Glenn Morris 2013-01-14 Auto-commit of loaddefs files.
* df32ded..: Dmitry Antipov 2013-01-14 * lisp.h (toplevel): Fix typo in comment.

The date has a fixed length, names do not, the display would look much better like this:

* 2822e57..: 2013-01-14 Paul Eggert  Avoid needless casts with XSAVE_POINTER.
* 5dece9d..: 2013-01-14 Leo Liu  Sync window-point and point in calendar-redraw
* 9b1cf40..: 2013-01-14 Glenn Morris  Auto-commit of loaddefs files.
* df32ded..: 2013-01-14 Dmitry Antipov  * lisp.h (toplevel): Fix typo in comment.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 11 Jan 2014 23:32:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 11 18:32:52 2014
Received: from localhost ([127.0.0.1]:47222 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W282u-0003MO-Fg
	for submit <at> debbugs.gnu.org; Sat, 11 Jan 2014 18:32:52 -0500
Received: from rainey.bang.priv.no ([212.110.185.190]:60149)
 by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <sb@HIDDEN>)
 id 1W282r-0003MD-Pc
 for 8756 <at> debbugs.gnu.org; Sat, 11 Jan 2014 18:32:50 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
 <87ob3i61vx.fsf@HIDDEN>
Date: Sun, 12 Jan 2014 00:32:56 +0100
In-Reply-To: <87ob3i61vx.fsf@HIDDEN> (Steinar Bang's message of "Sat, 11 Jan
 2014 15:15:14 +0100")
Message-ID: <upzcfvouayc7.fsf@HIDDEN>
User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (windows-nt)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.248.210
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
 bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 GREYLIST_ISWHITE autolearn=ham version=3.3.2
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:57:07 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org, Glenn Morris <rgm@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

>>>>> Steinar Bang <sb@HIDDEN>:

> To get the sha1/path infomation one can do the command
>  git log --follow --name-only --pretty=oneline path-to-current-version-of-the-file
> and then parse out the sha1/path pairs.

Some example code:
(let
    ((git-result (split-string 
                  (shell-command-to-string "cd ~/git/renametest/;git log --follow --name-only --pretty=oneline application/main.txt")
                  "\r?\n"))
     (sha1-path-map)
     (sha1)
     (path))
  (while git-result
    (setq sha1 (car (split-string (car git-result))))
    (setq git-result (cdr git-result))
    (setq path (car git-result))
    (setq git-result (cdr git-result))
    (add-to-list 'sha1-path-map (cons sha1 path)))
  (cdr sha1-path-map))

Which results in the following alist of sha1-to-path:
(("e5984c6a9e8e015dc521fb6a1756a88d5ffd676d" . "hoved.txt") ("b35723cfbc91a3108469091c8c77ee91107e1ab8" . "hoved.txt") ("2b0f570422db1e0fac39697d908b31eb70e895f5" . "main.txt") ("dd99483cda11b4ab040135767655c07c5cf07efb" . "main.txt") ("9b47cdca956a59b4582c67d24f9474a576aff7b9" . "main.txt") ("313aa2f727fefc9e50354380cb9fb3a70401b5f3" . "application/main.txt") ("09d1bf6aa4dcd20dd36ca7668b75809e794428e0" . "application/main.txt"))

(The cdr on the return value, is because the list was headed by a (nil)
and I couldn't figure out where it came from)





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 11 Jan 2014 14:15:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 11 09:15:26 2014
Received: from localhost ([127.0.0.1]:46353 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W1zLS-0003o2-05
	for submit <at> debbugs.gnu.org; Sat, 11 Jan 2014 09:15:26 -0500
Received: from rainey.bang.priv.no ([212.110.185.190]:41090)
 by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from <sb@HIDDEN>)
 id 1W1zLP-0003jO-CQ
 for 8756 <at> debbugs.gnu.org; Sat, 11 Jan 2014 09:15:24 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN> <yxqob3jgutp.fsf@HIDDEN>
Date: Sat, 11 Jan 2014 15:15:14 +0100
In-Reply-To: <yxqob3jgutp.fsf@HIDDEN> (Dan Nicolaescu's message of
 "Fri, 10 Jan 2014 20:40:02 -0500")
Message-ID: <87ob3i61vx.fsf@HIDDEN>
User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.248.210
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
 bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-3.0 required=5.0 tests=ALL_TRUSTED,BAYES_05,
 GREYLIST_ISWHITE autolearn=ham version=3.3.2
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:57:07 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org, Glenn Morris <rgm@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

>>>>> Dan Nicolaescu <dann@HIDDEN>:

> The simple fix applied was suggested with the bug report.  It is not
> enough to make it fully work, things like annotate, diff, etc do not
> work...

Indeed:
 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756#8
 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756#11

To summarize: with --follow in place, what's listed in the log is the
complete history, but annotate, and find files won't work past renames,
and diffs reports "no diffs" when there should have been one (past
renames).

To summarize my experiments further down in the bug report thread: if
you do  
 git diff -M sha1a sha1b -- path-of-file-in-sha1a path-of-file-in-sha1b
you get a result that is the diff of the two files.

Here sha1a is a sha1 in "git log --follow path-of-file" that refers to a
point in history before moving a file, and path-of-file-in-sha1a is the
path to the file at that time in history.  And sha1b and
path-of-file-in-sha1b refers to a point in time where the file has a
different name or location.

To get the sha1/path infomation one can do the command
 git log --follow --name-only --pretty=oneline path-to-current-version-of-the-file
and then parse out the sha1/path pairs.

Note: this "git log" has to be done in addition to the displayed "git
log".  This command is not for display, it is just to get the sha1/path
pairs. 

I have created an example repo that contains some renames, moves, and
plain changes, at: https://github.com/steinarb/renametest.git

Here is an example of a diff in that repository (in this case a file
that has been renamed once, and then renamed file has been moved to a
different location):

sb@edwards:~/git/renametest$ git diff -M e5984c6a9e8e015dc521fb6a1756a88d5ffd676d 09d1bf6aa4dcd20dd36ca7668b75809e794428e0 -- hoved.txt application/main.txt
diff --git a/hoved.txt b/application/main.txt
similarity index 50%
rename from hoved.txt
rename to application/main.txt
index 9a57969..7f5e5a6 100644
--- a/hoved.txt
+++ b/application/main.txt
@@ -1,5 +1,6 @@
 Hello world!
-Version 1.0
-Feature1 implementation
+Version 2.0
 Feature2 implementation
 Feature3 implementation
+Feature4 implementation
+Feature4 implementation


Here is an example of the command to get the sha1/path pairs:
sb@edwards:~/git/renametest$ git log --follow --name-only --pretty=oneline application/main.txt
09d1bf6aa4dcd20dd36ca7668b75809e794428e0 Bumped the version number.
application/main.txt
313aa2f727fefc9e50354380cb9fb3a70401b5f3 Moved a single file to a different directory.
application/main.txt
9b47cdca956a59b4582c67d24f9474a576aff7b9 Changes to two files
main.txt
dd99483cda11b4ab040135767655c07c5cf07efb Removed a line.
main.txt
2b0f570422db1e0fac39697d908b31eb70e895f5 Renamed a file and changed the README in the same commit
main.txt
b35723cfbc91a3108469091c8c77ee91107e1ab8 Added a new feature.
hoved.txt
e5984c6a9e8e015dc521fb6a1756a88d5ffd676d Introduced a new file
hoved.txt




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 11 Jan 2014 01:40:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 10 20:40:08 2014
Received: from localhost ([127.0.0.1]:45781 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W1nYV-0005gp-Md
	for submit <at> debbugs.gnu.org; Fri, 10 Jan 2014 20:40:08 -0500
Received: from fencepost.gnu.org ([208.118.235.10]:52151)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <dann@HIDDEN>) id 1W1nYR-0005ge-V5
 for 8756 <at> debbugs.gnu.org; Fri, 10 Jan 2014 20:40:04 -0500
Received: from dann by fencepost.gnu.org with local (Exim 4.71)
 (envelope-from <dann@HIDDEN>)
 id 1W1nYQ-0001ct-4d; Fri, 10 Jan 2014 20:40:02 -0500
From: Dan Nicolaescu <dann@HIDDEN>
To: Glenn Morris <rgm@HIDDEN>
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
 <it61pt6jxb.fsf@HIDDEN>
X-Debbugs-No-Ack: yes
Date: Fri, 10 Jan 2014 20:40:02 -0500
In-Reply-To: <it61pt6jxb.fsf@HIDDEN> (Glenn Morris's message of
 "Thu, 09 Jan 2014 14:21:04 -0500")
Message-ID: <yxqob3jgutp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -5.1 (-----)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org, Steinar Bang <sb@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.1 (-----)

Glenn Morris <rgm@HIDDEN> writes:

> Maybe this is fixed now, I dunno.

The simple fix applied was suggested with the bug report.  It is not
enough to make it fully work, things like annotate, diff, etc do not
work...


> 2014-01-09  Eric S. Raymond  <esr@HIDDEN>
>
> * vc/vc-git.el (vc-git-print-log): Add --follow option to
>   command, following renames.
>
> If so, please close this report.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 9 Jan 2014 19:21:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 09 14:21:09 2014
Received: from localhost ([127.0.0.1]:44292 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1W1LAC-0007L3-R3
	for submit <at> debbugs.gnu.org; Thu, 09 Jan 2014 14:21:09 -0500
Received: from fencepost.gnu.org ([208.118.235.10]:40448)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <rgm@HIDDEN>) id 1W1LAA-0007Kv-7G
 for 8756 <at> debbugs.gnu.org; Thu, 09 Jan 2014 14:21:06 -0500
Received: from rgm by fencepost.gnu.org with local (Exim 4.71)
 (envelope-from <rgm@HIDDEN>)
 id 1W1LA8-0008Fh-BW; Thu, 09 Jan 2014 14:21:04 -0500
From: Glenn Morris <rgm@HIDDEN>
To: Steinar Bang <sb@HIDDEN>
Subject: Re: bug#8756: 23.3;
 vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
 <878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
 <87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
 <87wragnf08.fsf@HIDDEN> <87sjl4neez.fsf@HIDDEN>
X-Spook: wire transfer Geraldton Kennedy Yukon CIDA benelux Defcon
X-Ran: O_ohOHRhL94EpOjw*pf&g\k?-]b"/$a4Rd_O9aQ<W~|mQ&k}?WMF3j)C#yC,X(KchiC|9<
X-Hue: magenta
X-Attribution: GM
Date: Thu, 09 Jan 2014 14:21:04 -0500
In-Reply-To: <87sjl4neez.fsf@HIDDEN> (Steinar Bang's message of "Thu, 01 Dec
 2011 22:57:24 +0100")
Message-ID: <it61pt6jxb.fsf@HIDDEN>
User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org, Dan Nicolaescu <dann@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)


Maybe this is fixed now, I dunno.

2014-01-09  Eric S. Raymond  <esr@HIDDEN>

* vc/vc-git.el (vc-git-print-log): Add --follow option to
  command, following renames.

If so, please close this report.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 1 Dec 2011 21:57:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 16:57:47 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RWEdW-0005Ty-6W
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2011 16:57:47 -0500
Received: from rainey.bang.priv.no ([212.110.185.190])
	by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <sb@HIDDEN>)
	id 1RWEdU-0005Tr-CF
	for 8756 <at> debbugs.gnu.org; Thu, 01 Dec 2011 16:57:45 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
	<878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
	<87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
	<87wragnf08.fsf@HIDDEN>
Date: Thu, 01 Dec 2011 22:57:24 +0100
In-Reply-To: <87wragnf08.fsf@HIDDEN> (Steinar Bang's message of "Thu, 01 Dec
	2011 22:44:38 +0100")
Message-ID: <87sjl4neez.fsf@HIDDEN>
User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.231.161
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
	bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	GREYLIST_ISWHITE autolearn=ham version=3.3.1
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -3.1 (---)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.0 (---)

>>>>> Steinar Bang <sb@HIDDEN>:

> Wnen I think of it, it would be simpler to do a "git log --follow
> --name-only" and just regexp out the paths and commits and get an alist
> from commit to path, or something like that...?  Actually, you probably
> don't have to create that alist, just doing "git log --follow
> --name-only" just to get the path when you need it, maybe...?

This can be more compact, using
 : git log --follow --name-only --pretty=oneline

Here's the compact log for the example file:
#+begin_example
  sb@somehost:~$ git log --follow --name-only --pretty=oneline apps/share/emacs23/site-lisp/vc-git.el
  ae93673cf7a325ac6882b73a4280cfba3fca41e9 Make `vc-git-print-log' on a single file use "git log --follow" instead of "git rev
  apps/share/emacs23/site-lisp/vc-git.el
  4098e78805561b9af3e29184a8133baaf6d16621 Emacs 23.1 version of vc-git.el.
  apps/share/emacs23/site-lisp/vc-git.el
  a50a042e5af770928eaa8b636517d66bc2a13ee7 Load the locally modified vc-git.el only for emacs23 (fails on emacs22).
  apps/share/emacs23/site-lisp/vc-git.el
  8d304db76993a0da0894b3d30794a2c5ec4927fe Use the --follow flag on the "git log" command, to get full history across file mov
  apps/share/emacs/site-lisp/vc-git.el
  a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b Adding the vc-git.el from emacs 23.3.
  apps/share/emacs/site-lisp/vc-git.el
#+end_example

Should be fairly easy to get a path for a commit, from this...?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 1 Dec 2011 21:45:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 16:45:03 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RWERC-0005CA-FD
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2011 16:45:03 -0500
Received: from rainey.bang.priv.no ([212.110.185.190])
	by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <sb@HIDDEN>)
	id 1RWER8-0005Bh-IF
	for 8756 <at> debbugs.gnu.org; Thu, 01 Dec 2011 16:45:00 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
	<878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
	<87vcq2ygzs.fsf@HIDDEN> <yxqty5k40qz.fsf@HIDDEN>
Date: Thu, 01 Dec 2011 22:44:38 +0100
In-Reply-To: <yxqty5k40qz.fsf@HIDDEN> (Dan Nicolaescu's message of
	"Thu, 01 Dec 2011 13:15:16 -0500")
Message-ID: <87wragnf08.fsf@HIDDEN>
User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.231.161
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
	bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	GREYLIST_ISWHITE autolearn=ham version=3.3.1
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -3.3 (---)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.2 (---)

>>>>> Dan Nicolaescu <dann@HIDDEN>:

> Is it possible to compute the file name just the sha1?  That would allow
> us to avoid using --name-only.

Maybe.

From what I learnt when I asked a question on the git list[1], here is
an example on the rename commit:

 1. first do a diff-tree on the commit where the rename takes place
    #+begin_example
      sb@somehost:~$ git diff-tree -M a50a042e5af770928eaa8b636517d66bc2a13ee7
      a50a042e5af770928eaa8b636517d66bc2a13ee7
      :100644 100644 f6a9be87a391c29bf58467e6cda8ffc2375a1471 e1dadc8553ec388b790a4c4dd3f3b6e498f9eedc M      .emacs
      :040000 040000 beff95d4c2f3d62e7d41f061738b86e3187ec887 155295fd0ad500419a0b5e2d4c571334675fbae0 M      apps
    #+end_example
    As you can see, nothing obvious here, so you have to try "diff -M"
    on the different sha1 pairs.  I, as a human, can see that the
    first one isn't an obvious candidate.  But a program would have to
    try all of them
 2. do "diff -M" on the sha1 pairs of diff-tree results to find the
    renames
    #+begin_example
      sb@somehost:~$ git diff -M f6a9be87a391c29bf58467e6cda8ffc2375a1471 e1dadc8553ec388b790a4c4dd3f3b6e498f9eedc
      diff --git a/f6a9be87a391c29bf58467e6cda8ffc2375a1471 b/e1dadc8553ec388b790a4c4dd3f3b6e498f9eedc
      index f6a9be8..e1dadc8 100644
      --- a/f6a9be87a391c29bf58467e6cda8ffc2375a1471
      +++ b/e1dadc8553ec388b790a4c4dd3f3b6e498f9eedc
      @@ -63,6 +63,8 @@ to be something different.")
             (push (concat apps-dir "/share/emacs21/site-lisp") load-path))
         (if running-emacs22
             (push (concat apps-dir "/share/emacs22/site-lisp") load-path))
      +  (if running-emacs23
      +      (push (concat apps-dir "/share/emacs23/site-lisp") load-path))
         (setq apps-bin (concat apps-dir "/bin"))
         (when (file-directory-p apps-elisp)
           (add-to-list 'load-path apps-elisp))
      sb@somehost:~$ git diff -M beff95d4c2f3d62e7d41f061738b86e3187ec887 155295fd0ad500419a0b5e2d4c571334675fbae0
      diff --git a/share/emacs/site-lisp/vc-git.el b/share/emacs23/site-lisp/vc-git.el
      similarity index 100%
      rename from share/emacs/site-lisp/vc-git.el
      rename to share/emacs23/site-lisp/vc-git.el
    #+end_example

So... I guess is possible.  But you have to work your way back through
each commit in the history, and look for "rename to" and "rename from",
and keep track of all renames as you work your way backwards.

Wnen I think of it, it would be simpler to do a "git log --follow
--name-only" and just regexp out the paths and commits and get an alist
from commit to path, or something like that...?  Actually, you probably
don't have to create that alist, just doing "git log --follow
--name-only" just to get the path when you need it, maybe...?

[1] Question asked on the git list
    http://thread.gmane.org/gmane.comp.version-control.git/186009/focus=186032




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 1 Dec 2011 18:15:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 01 13:15:29 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RWBAP-0000Fu-IH
	for submit <at> debbugs.gnu.org; Thu, 01 Dec 2011 13:15:29 -0500
Received: from fencepost.gnu.org ([140.186.70.10])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <dann@HIDDEN>) id 1RWBAO-0000Fn-5W
	for 8756 <at> debbugs.gnu.org; Thu, 01 Dec 2011 13:15:29 -0500
Received: from dann by fencepost.gnu.org with local (Exim 4.71)
	(envelope-from <dann@HIDDEN>)
	id 1RWBAC-0000Ek-RG; Thu, 01 Dec 2011 13:15:16 -0500
From: Dan Nicolaescu <dann@HIDDEN>
To: Steinar Bang <sb@HIDDEN>
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
	<878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
	<87vcq2ygzs.fsf@HIDDEN>
Date: Thu, 01 Dec 2011 13:15:16 -0500
In-Reply-To: <87vcq2ygzs.fsf@HIDDEN> (Steinar Bang's message of "Tue, 29 Nov
	2011 18:29:27 +0100")
Message-ID: <yxqty5k40qz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -6.6 (------)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.6 (------)

Steinar Bang <sb@HIDDEN> writes:

>>>>>> Dan Nicolaescu <dann@HIDDEN>:
>> Steinar Bang <sb@HIDDEN> writes:
>
>>> ....  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
>
>> vc-git-print-log currently uses "git log", so your changes should not
>> be needed.
>
> Something similar wille be needed, if vc-git-print-log is supposed to
> support a files argument of more than a single file, since "--follow" is
> only supported for a single file.
>
> #begin_example
>   sb@somehost:~$ git log --follow ~/apps/share/emacs23/site-lisp/vc-git.el ~/.emacs
>   usage: git logs can only follow renames on one pathname at a time
>   sb@somehost:~$ git log --follow 
>   usage: git logs can only follow renames on one pathname at a time
> #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).
>
> To be able to get a working diff beyond the rename, you need the path to
> where the file used to be.  If you add the "--name-only" flag to "git
> log", you will get an extra line containing the path of the file, in a
> form that can be given to a "git diff".
>
> Using the log result at the bottom, here's an example that gives a
> useful diff, using the path of the first commit:
> #begin_example
>   sb@somehost:~$ git diff a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b 8d304db76993a0da0894b3d30794a2c5ec4927fe -- apps/share/emacs/site-lisp/vc-git.el

--name-only makes the output a bit ugly, each log entry has the file
name printed and an extra empty line.  Some users might hate that.

Is it possible to compute the file name just the sha1?  That would allow
us to avoid using --name-only.


> #begin_example

>   diff --git a/apps/share/emacs/site-lisp/vc-git.el b/apps/share/emacs/site-lisp/vc-git.el
>   index b9b63ce..e4b0188 100644
>   --- a/apps/share/emacs/site-lisp/vc-git.el
>   +++ b/apps/share/emacs/site-lisp/vc-git.el
>   @@ -604,7 +604,7 @@ for the --graph option."
>           (apply 'vc-git-command buffer
>                  'async files
>                  (append
>   -               '("log" "--no-color")
>   +               '("log" "--follow" "--no-color")
>                   (when shortlog
>                     '("--graph" "--decorate" "--date=short"
>                        "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"))
> #end_example
>
> Blame for a path beyond the rename also works, just use the commit you
> want to blame from, and the path of that commit in the log buffer:
>  git blame a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b -- apps/share/emacs/site-lisp/vc-git.e
>
> Here's the example of a diff output with paths I used to get the above
> commands.  The rename commit is a50a042e5af770928eaa8b636517d66bc2a13ee7
> and the path given on that log entry, is the new path.
> #begin_example
>   sb@somehost:~$ git log --follow --name-only ~/apps/share/emacs23/site-lisp/vc-git.el
>   commit ae93673cf7a325ac6882b73a4280cfba3fca41e9
>   Author: Steinar Bang <sb@HIDDEN>
>   Date:   Mon Nov 28 23:12:47 2011 +0100
>   
>       Make `vc-git-print-log' on a single file use "git log --follow" instead of "git rev-list".
>       
>       This is to make the `C-x v l' command show log entries across file
>       renames.
>       
>       Only partially successful, since diffs, annotate, and finding the
>       version of the file, doesn't work across the renaming boundary.
>   
>   apps/share/emacs23/site-lisp/vc-git.el
>   
>   commit 4098e78805561b9af3e29184a8133baaf6d16621
>   Author: Steinar Bang <sb@HIDDEN>
>   Date:   Mon Nov 28 10:28:49 2011 +0100
>   
>       Emacs 23.1 version of vc-git.el.
>   
>   apps/share/emacs23/site-lisp/vc-git.el
>   
>   commit a50a042e5af770928eaa8b636517d66bc2a13ee7
>   Author: Steinar Bang <sb@HIDDEN>
>   Date:   Thu Jun 23 19:26:28 2011 +0200
>   
>       Load the locally modified vc-git.el only for emacs23 (fails on emacs22).
>   
>   apps/share/emacs23/site-lisp/vc-git.el
>   
>   commit 8d304db76993a0da0894b3d30794a2c5ec4927fe
>   Author: Steinar Bang <sb@HIDDEN>
>   Date:   Sun May 29 22:24:58 2011 +0200
>   
>       Use the --follow flag on the "git log" command, to get full history across file moves in vc-git-print-log.
>   
>   apps/share/emacs/site-lisp/vc-git.el
>   
>   commit a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b
>   Author: Steinar Bang <sb@HIDDEN>
>   Date:   Sun May 29 22:23:51 2011 +0200
>   
>       Adding the vc-git.el from emacs 23.3.
>   
>   apps/share/emacs/site-lisp/vc-git.el
> #end_example




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 29 Nov 2011 17:31:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 29 12:31:40 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RVRWt-0003lT-Bc
	for submit <at> debbugs.gnu.org; Tue, 29 Nov 2011 12:31:40 -0500
Received: from rainey.bang.priv.no ([212.110.185.190])
	by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <sb@HIDDEN>)
	id 1RVRWq-0003lL-Pr
	for 8756 <at> debbugs.gnu.org; Tue, 29 Nov 2011 12:31:38 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
	<878vn0yp42.fsf@HIDDEN> <yxqmxbgkl9r.fsf@HIDDEN>
Date: Tue, 29 Nov 2011 18:29:27 +0100
In-Reply-To: <yxqmxbgkl9r.fsf@HIDDEN> (Dan Nicolaescu's message of
	"Mon, 28 Nov 2011 16:08:32 -0500")
Message-ID: <87vcq2ygzs.fsf@HIDDEN>
User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.231.161
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
	bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	GREYLIST_ISWHITE autolearn=ham version=3.3.1
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -3.6 (---)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.4 (---)

>>>>> Dan Nicolaescu <dann@HIDDEN>:
> Steinar Bang <sb@HIDDEN> writes:

>> ....  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

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

Something similar wille be needed, if vc-git-print-log is supposed to
support a files argument of more than a single file, since "--follow" is
only supported for a single file.

#begin_example
  sb@somehost:~$ git log --follow ~/apps/share/emacs23/site-lisp/vc-git.el ~/.emacs
  usage: git logs can only follow renames on one pathname at a time
  sb@somehost:~$ git log --follow 
  usage: git logs can only follow renames on one pathname at a time
#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).

To be able to get a working diff beyond the rename, you need the path to
where the file used to be.  If you add the "--name-only" flag to "git
log", you will get an extra line containing the path of the file, in a
form that can be given to a "git diff".

Using the log result at the bottom, here's an example that gives a
useful diff, using the path of the first commit:
#begin_example
  sb@somehost:~$ git diff a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b 8d304db76993a0da0894b3d30794a2c5ec4927fe -- apps/share/emacs/site-lisp/vc-git.el
  diff --git a/apps/share/emacs/site-lisp/vc-git.el b/apps/share/emacs/site-lisp/vc-git.el
  index b9b63ce..e4b0188 100644
  --- a/apps/share/emacs/site-lisp/vc-git.el
  +++ b/apps/share/emacs/site-lisp/vc-git.el
  @@ -604,7 +604,7 @@ for the --graph option."
          (apply 'vc-git-command buffer
                 'async files
                 (append
  -               '("log" "--no-color")
  +               '("log" "--follow" "--no-color")
                  (when shortlog
                    '("--graph" "--decorate" "--date=short"
                       "--pretty=tformat:%d%h  %ad  %s" "--abbrev-commit"))
#end_example

Blame for a path beyond the rename also works, just use the commit you
want to blame from, and the path of that commit in the log buffer:
 git blame a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b -- apps/share/emacs/site-lisp/vc-git.e

Here's the example of a diff output with paths I used to get the above
commands.  The rename commit is a50a042e5af770928eaa8b636517d66bc2a13ee7
and the path given on that log entry, is the new path.

#begin_example
  sb@somehost:~$ git log --follow --name-only ~/apps/share/emacs23/site-lisp/vc-git.el
  commit ae93673cf7a325ac6882b73a4280cfba3fca41e9
  Author: Steinar Bang <sb@HIDDEN>
  Date:   Mon Nov 28 23:12:47 2011 +0100
  
      Make `vc-git-print-log' on a single file use "git log --follow" instead of "git rev-list".
      
      This is to make the `C-x v l' command show log entries across file
      renames.
      
      Only partially successful, since diffs, annotate, and finding the
      version of the file, doesn't work across the renaming boundary.
  
  apps/share/emacs23/site-lisp/vc-git.el
  
  commit 4098e78805561b9af3e29184a8133baaf6d16621
  Author: Steinar Bang <sb@HIDDEN>
  Date:   Mon Nov 28 10:28:49 2011 +0100
  
      Emacs 23.1 version of vc-git.el.
  
  apps/share/emacs23/site-lisp/vc-git.el
  
  commit a50a042e5af770928eaa8b636517d66bc2a13ee7
  Author: Steinar Bang <sb@HIDDEN>
  Date:   Thu Jun 23 19:26:28 2011 +0200
  
      Load the locally modified vc-git.el only for emacs23 (fails on emacs22).
  
  apps/share/emacs23/site-lisp/vc-git.el
  
  commit 8d304db76993a0da0894b3d30794a2c5ec4927fe
  Author: Steinar Bang <sb@HIDDEN>
  Date:   Sun May 29 22:24:58 2011 +0200
  
      Use the --follow flag on the "git log" command, to get full history across file moves in vc-git-print-log.
  
  apps/share/emacs/site-lisp/vc-git.el
  
  commit a92a3d062dac1b0ec5eece4ed6f9570e59f1a69b
  Author: Steinar Bang <sb@HIDDEN>
  Date:   Sun May 29 22:23:51 2011 +0200
  
      Adding the vc-git.el from emacs 23.3.
  
  apps/share/emacs/site-lisp/vc-git.el
#end_example




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 28 Nov 2011 21:10:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 28 16:10:33 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RV8TA-0006ZJ-KH
	for submit <at> debbugs.gnu.org; Mon, 28 Nov 2011 16:10:32 -0500
Received: from fencepost.gnu.org ([140.186.70.10])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <dann@HIDDEN>) id 1RV8T8-0006Z9-FJ
	for 8756 <at> debbugs.gnu.org; Mon, 28 Nov 2011 16:10:31 -0500
Received: from dann by fencepost.gnu.org with local (Exim 4.71)
	(envelope-from <dann@HIDDEN>)
	id 1RV8RF-00045O-0V; Mon, 28 Nov 2011 16:08:33 -0500
From: Dan Nicolaescu <dann@HIDDEN>
To: Steinar Bang <sb@HIDDEN>
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
	<878vn0yp42.fsf@HIDDEN>
Date: Mon, 28 Nov 2011 16:08:32 -0500
In-Reply-To: <878vn0yp42.fsf@HIDDEN> (Steinar Bang's message of "Mon, 28 Nov
	2011 21:21:49 +0100")
Message-ID: <yxqmxbgkl9r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -6.6 (------)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.6 (------)

Steinar Bang <sb@HIDDEN> writes:

>>>>>> Dan Nicolaescu <dann@HIDDEN>:
>
>> 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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 28 Nov 2011 20:27:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 28 15:27:09 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RV7n9-0005VN-Gm
	for submit <at> debbugs.gnu.org; Mon, 28 Nov 2011 15:27:08 -0500
Received: from rainey.bang.priv.no ([212.110.185.190])
	by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <sb@HIDDEN>)
	id 1RV7k2-0005QS-Nn
	for 8756 <at> debbugs.gnu.org; Mon, 28 Nov 2011 15:23:56 -0500
From: Steinar Bang <sb@HIDDEN>
To: Dan Nicolaescu <dann@HIDDEN>
References: <87sjrxl0r1.fsf@HIDDEN> <yxqy61nh25c.fsf@HIDDEN>
Date: Mon, 28 Nov 2011 21:21:49 +0100
In-Reply-To: <yxqy61nh25c.fsf@HIDDEN> (Dan Nicolaescu's message of
	"Tue, 31 May 2011 01:25:51 -0400")
Message-ID: <878vn0yp42.fsf@HIDDEN>
User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.231.161
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
	bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on rainey.bang.priv.no
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	GREYLIST_ISWHITE autolearn=ham version=3.3.1
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-Spam-Score: -4.6 (----)
X-Debbugs-Envelope-To: 8756
X-Mailman-Approved-At: Mon, 28 Nov 2011 15:27:05 -0500
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -3.9 (---)

>>>>> Dan Nicolaescu <dann@HIDDEN>:

> 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!).

The difference between "git rev-list --pretty HEAD" and "git log" is
that the rev-list has an extra blank line at the end.

So I did an experiment letting `vc-git-print-log' use "git log" if there
is only one file:
#begin_example
--- a/apps/share/emacs23/site-lisp/vc-git.el
+++ b/apps/share/emacs23/site-lisp/vc-git.el
@@ -459,8 +459,12 @@ If nil, use the value of `vc-diff-switches'.  If t, use no switches."
     (let ((inhibit-read-only t))
       (with-current-buffer
           buffer
-	(vc-git-command buffer 'async files
-			"rev-list" "--pretty" "HEAD" "--")))))
+        (if (= 1 (length flist))
+            ;; If there's only one item, track renames using "git log --follow"
+            (vc-git-command buffer 'async files
+                            "log" "--follow" "--")
+          (vc-git-command buffer 'async files
+                          "rev-list" "--pretty" "HEAD" "--"))))))
 
 (defvar log-view-message-re)
 (defvar log-view-file-re)
#end_example

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
  - `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

On a side note: I'm testing for the length of flist, since I know that
it's a list.  But flist isn't used after its initial binding in the let
clause, as far as I can see...?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at 8756 <at> debbugs.gnu.org:


Received: (at 8756) by debbugs.gnu.org; 31 May 2011 05:26:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 31 01:26:00 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1QRHSq-00042s-5h
	for submit <at> debbugs.gnu.org; Tue, 31 May 2011 01:26:00 -0400
Received: from fencepost.gnu.org ([140.186.70.10])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <dann@HIDDEN>) id 1QRHSo-00042h-3g
	for 8756 <at> debbugs.gnu.org; Tue, 31 May 2011 01:25:58 -0400
Received: from dann by fencepost.gnu.org with local (Exim 4.71)
	(envelope-from <dann@HIDDEN>)
	id 1QRHSi-0001Ok-6Y; Tue, 31 May 2011 01:25:52 -0400
From: Dan Nicolaescu <dann@HIDDEN>
To: Steinar Bang <sb@HIDDEN>
Subject: Re: bug#8756: 23.3;
	vc-git.el doesn't use --follow argument in vc-git-print-log
References: <87sjrxl0r1.fsf@HIDDEN>
X-Debbugs-No-Ack: yes
Date: Tue, 31 May 2011 01:25:51 -0400
In-Reply-To: <87sjrxl0r1.fsf@HIDDEN> (Steinar Bang's message of "Sun, 29 May
	2011 22:17:54 +0200")
Message-ID: <yxqy61nh25c.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Spam-Score: -6.5 (------)
X-Debbugs-Envelope-To: 8756
Cc: 8756 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.5 (------)

Steinar Bang <sb@HIDDEN> writes:

> When pressing `C-x v l' in a git versioned file with a long history,
> that had just been moved, I got just the single commit resulting from
> the move.
>
> If the vc-git-print-log command adds the "--follow" argument, the log
> printed by `C-x v l' is the full history of that file.
>
> Here's the documentation of --follow from the git-log man page:
>        --follow
>            Continue listing the history of a file beyond renames (works only for a single file).

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)

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.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 29 May 2011 20:27:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 29 16:27:38 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1QQmaG-0001pJ-Eu
	for submit <at> debbugs.gnu.org; Sun, 29 May 2011 16:27:38 -0400
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from <sb@HIDDEN>)
	id 1QQmRK-0001cJ-GU
	for submit <at> debbugs.gnu.org; Sun, 29 May 2011 16:18:24 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <sb@HIDDEN>) id 1QQmRC-0002Sr-RG
	for submit <at> debbugs.gnu.org; Sun, 29 May 2011 16:18:17 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: *
X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_00,TO_NO_BRKTS_DIRECT,
	T_FRT_FOLLOW1 autolearn=no version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:32855)
	by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <sb@HIDDEN>)
	id 1QQmRC-0002Sn-Pf
	for submit <at> debbugs.gnu.org; Sun, 29 May 2011 16:18:14 -0400
Received: from eggs.gnu.org ([140.186.70.92]:46335)
	by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <sb@HIDDEN>)
	id 1QQmRA-0005fL-A1
	for bug-gnu-emacs@HIDDEN; Sun, 29 May 2011 16:18:14 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <sb@HIDDEN>) id 1QQmR7-0002SQ-JX
	for bug-gnu-emacs@HIDDEN; Sun, 29 May 2011 16:18:12 -0400
Received: from rainey.bang.priv.no ([212.110.185.190]:44530)
	by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <sb@HIDDEN>)
	id 1QQmR7-0002Rx-1F
	for bug-gnu-emacs@HIDDEN; Sun, 29 May 2011 16:18:09 -0400
From: Steinar Bang <sb@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Date: Sun, 29 May 2011 22:17:54 +0200
Message-ID: <87sjrxl0r1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-SA-Exim-Connect-IP: 84.208.226.30
X-SA-Exim-Rcpt-To: too long (recipient list exceeded maximum allowed size of 8
	bytes)
X-SA-Exim-Mail-From: sb@HIDDEN
Subject: 23.3; vc-git.el doesn't use --follow argument in vc-git-print-log
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on rainey.bang.priv.no)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1)
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -6.6 (------)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sun, 29 May 2011 16:27:34 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/pipermail/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -6.6 (------)

When pressing `C-x v l' in a git versioned file with a long history,
that had just been moved, I got just the single commit resulting from
the move.

If the vc-git-print-log command adds the "--follow" argument, the log
printed by `C-x v l' is the full history of that file.

Here's the documentation of --follow from the git-log man page:
       --follow
           Continue listing the history of a file beyond renames (works only for a single file).



In GNU Emacs 23.3.1 (i486-pc-linux-gnu, GTK+ Version 2.24.3)
 of 2011-04-10 on raven, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10905000
configured using `configure  '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.3/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.3/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  diff-auto-refine-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-s p r i n t - l o g C-s <return> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <down-mouse-5> <mouse-5> <double-down-mouse-5> 
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> 
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5> 
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5> 
<down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> 
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> 
<triple-down-mouse-4> <triple-mouse-4> <down-mouse-4> 
<mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5> 
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> 
<triple-down-mouse-5> <triple-mouse-5> <help-echo> 
<help-echo> C-x C-f ~ / a o <tab> <backspace> p <tab> 
<return> <down> <down> <down> <return> <down> <up> 
<return> <return> <up> <up> <up> <up> <right> <right> 
C-SPC C-e <C-left> <right> <right> <right> <right> 
<right> <left> M-w q q q q C-x C-w C-y <return> C-x 
d <return> g <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <up> ! g u n z i 
p <return> g <return> C-s v c - p r i n t - l o g <return> 
C-s p r i n t - l o g C-s C-s <return> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<up> <up> <right> " - - f o l l o w " SPC C-x C-s C-x 
d <return> B y <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <switch-frame> 
C-x 0 C-x b <up> <up> <up> <up> <up> <up> <up> <down> 
<up> <up> C-k * G r <tab> <return> g <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <down> <return> <return> n q <up> <up> 
<up> SPC <down> <down> <down> SPC SPC <up> <up> <up> 
<down> SPC SPC <up> <up> SPC SPC <down> <down> <down> 
<down> SPC SPC s <switch-frame> <help-echo> <help-echo> 
<help-echo> <help-echo> M-x r e p o <tab> r <tab> 
<return>

Recent messages:
gnus-sync: stored variables (gnus-newsrc-last-checked-date) and 128 groups in /ssh:sb@HIDDEN:News/gnussync
Tramp: Encoding region using function `(lambda (beg end) (let ((coding-system-for-write (quote binary)) (coding-system-for-read (quote binary))) (apply (quote call-process-region) beg end (car (split-string gzip)) t t nil (cdr (split-string gzip)))) (base64-encode-region (point-min) (point-max)))'...done
Tramp: Decoding region into remote file /ssh:sb@HIDDEN:/home/sb/News/gnussync...done
Saving file /home/sb/.newsrc...
Wrote /home/sb/.newsrc
Saving /home/sb/.newsrc.eld...
Saving file /home/sb/.newsrc.eld...
Wrote /home/sb/.newsrc.eld
Saving /home/sb/.newsrc.eld...done
Making completion list...

Load-path shadows:
/home/sb/git/gnus/lisp/sasl hides /usr/share/emacs23/site-lisp/flim/sasl
/home/sb/git/gnus/lisp/sasl-ntlm hides /usr/share/emacs23/site-lisp/flim/sasl-ntlm
/home/sb/git/gnus/lisp/hmac-def hides /usr/share/emacs23/site-lisp/flim/hmac-def
/home/sb/git/gnus/lisp/sasl-digest hides /usr/share/emacs23/site-lisp/flim/sasl-digest
/home/sb/git/gnus/lisp/hmac-md5 hides /usr/share/emacs23/site-lisp/flim/hmac-md5
/home/sb/git/gnus/lisp/ntlm hides /usr/share/emacs23/site-lisp/flim/ntlm
/home/sb/git/gnus/lisp/md4 hides /usr/share/emacs23/site-lisp/flim/md4
/home/sb/git/gnus/lisp/sha1 hides /usr/share/emacs23/site-lisp/flim/sha1
/home/sb/git/gnus/lisp/hex-util hides /usr/share/emacs23/site-lisp/flim/hex-util
/home/sb/git/gnus/lisp/sasl-cram hides /usr/share/emacs23/site-lisp/flim/sasl-cram
/usr/share/emacs23/site-lisp/psgml/psgml-info hides /usr/share/emacs/site-lisp/psgml/psgml-info
/usr/share/emacs23/site-lisp/psgml/psgml-dtd hides /usr/share/emacs/site-lisp/psgml/psgml-dtd
/usr/share/emacs23/site-lisp/psgml/psgml-init hides /usr/share/emacs/site-lisp/psgml/psgml-init
/usr/share/emacs23/site-lisp/psgml/psgml-html hides /usr/share/emacs/site-lisp/psgml/psgml-html
/usr/share/emacs23/site-lisp/psgml/psgml-api hides /usr/share/emacs/site-lisp/psgml/psgml-api
/usr/share/emacs23/site-lisp/psgml/psgml-charent hides /usr/share/emacs/site-lisp/psgml/psgml-charent
/usr/share/emacs23/site-lisp/psgml/psgml-edit hides /usr/share/emacs/site-lisp/psgml/psgml-edit
/usr/share/emacs23/site-lisp/psgml/psgml-ids hides /usr/share/emacs/site-lisp/psgml/psgml-ids
/usr/share/emacs23/site-lisp/psgml/psgml-parse hides /usr/share/emacs/site-lisp/psgml/psgml-parse
/usr/share/emacs23/site-lisp/psgml/psgml-sysdep hides /usr/share/emacs/site-lisp/psgml/psgml-sysdep
/usr/share/emacs23/site-lisp/psgml/psgml-other hides /usr/share/emacs/site-lisp/psgml/psgml-other
/usr/share/emacs23/site-lisp/psgml/psgml hides /usr/share/emacs/site-lisp/psgml/psgml
/usr/share/emacs/23.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/sb/git/gnus/lisp/pgg-parse hides /usr/share/emacs/23.3/lisp/pgg-parse
/home/sb/git/gnus/lisp/pgg-pgp hides /usr/share/emacs/23.3/lisp/pgg-pgp
/home/sb/apps/share/emacs/site-lisp/vc-git hides /usr/share/emacs/23.3/lisp/vc-git
/home/sb/git/gnus/lisp/pgg hides /usr/share/emacs/23.3/lisp/pgg
/home/sb/git/gnus/lisp/md4 hides /usr/share/emacs/23.3/lisp/md4
/home/sb/git/gnus/lisp/hex-util hides /usr/share/emacs/23.3/lisp/hex-util
/home/sb/git/gnus/lisp/pgg-gpg hides /usr/share/emacs/23.3/lisp/pgg-gpg
/home/sb/git/gnus/lisp/pgg-pgp5 hides /usr/share/emacs/23.3/lisp/pgg-pgp5
/home/sb/git/gnus/lisp/format-spec hides /usr/share/emacs/23.3/lisp/format-spec
/home/sb/git/gnus/lisp/sha1 hides /usr/share/emacs/23.3/lisp/sha1
/home/sb/git/gnus/lisp/password-cache hides /usr/share/emacs/23.3/lisp/password-cache
/home/sb/git/gnus/lisp/pgg-def hides /usr/share/emacs/23.3/lisp/pgg-def
/home/sb/git/gnus/lisp/dns-mode hides /usr/share/emacs/23.3/lisp/textmodes/dns-mode
/usr/share/emacs23/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/23.3/lisp/textmodes/ispell
/usr/share/emacs23/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/23.3/lisp/textmodes/flyspell
/home/sb/git/org-mode/lisp/org-faces hides /usr/share/emacs/23.3/lisp/org/org-faces
/home/sb/git/org-mode/lisp/org-icalendar hides /usr/share/emacs/23.3/lisp/org/org-icalendar
/home/sb/git/org-mode/lisp/org-gnus hides /usr/share/emacs/23.3/lisp/org/org-gnus
/home/sb/git/org-mode/lisp/org-exp hides /usr/share/emacs/23.3/lisp/org/org-exp
/home/sb/git/org-mode/lisp/org-feed hides /usr/share/emacs/23.3/lisp/org/org-feed
/home/sb/git/org-mode/lisp/org-publish hides /usr/share/emacs/23.3/lisp/org/org-publish
/home/sb/git/org-mode/lisp/org-src hides /usr/share/emacs/23.3/lisp/org/org-src
/home/sb/git/org-mode/lisp/org-mac-message hides /usr/share/emacs/23.3/lisp/org/org-mac-message
/home/sb/git/org-mode/lisp/org-rmail hides /usr/share/emacs/23.3/lisp/org/org-rmail
/home/sb/git/org-mode/lisp/org-exp-blocks hides /usr/share/emacs/23.3/lisp/org/org-exp-blocks
/home/sb/git/org-mode/lisp/org-info hides /usr/share/emacs/23.3/lisp/org/org-info
/home/sb/git/org-mode/lisp/org-mouse hides /usr/share/emacs/23.3/lisp/org/org-mouse
/home/sb/git/org-mode/lisp/org-timer hides /usr/share/emacs/23.3/lisp/org/org-timer
/home/sb/git/org-mode/lisp/org-archive hides /usr/share/emacs/23.3/lisp/org/org-archive
/home/sb/git/org-mode/lisp/org-bibtex hides /usr/share/emacs/23.3/lisp/org/org-bibtex
/home/sb/git/org-mode/lisp/org-attach hides /usr/share/emacs/23.3/lisp/org/org-attach
/home/sb/git/org-mode/lisp/org-jsinfo hides /usr/share/emacs/23.3/lisp/org/org-jsinfo
/home/sb/git/org-mode/lisp/org-xoxo hides /usr/share/emacs/23.3/lisp/org/org-xoxo
/home/sb/git/org-mode/lisp/org-compat hides /usr/share/emacs/23.3/lisp/org/org-compat
/home/sb/git/org-mode/lisp/org-mobile hides /usr/share/emacs/23.3/lisp/org/org-mobile
/home/sb/git/org-mode/lisp/org-id hides /usr/share/emacs/23.3/lisp/org/org-id
/home/sb/git/org-mode/lisp/org-macs hides /usr/share/emacs/23.3/lisp/org/org-macs
/home/sb/git/org-mode/lisp/org-plot hides /usr/share/emacs/23.3/lisp/org/org-plot
/home/sb/git/org-mode/lisp/org-protocol hides /usr/share/emacs/23.3/lisp/org/org-protocol
/home/sb/git/org-mode/lisp/org-colview hides /usr/share/emacs/23.3/lisp/org/org-colview
/home/sb/git/org-mode/lisp/org-indent hides /usr/share/emacs/23.3/lisp/org/org-indent
/home/sb/git/org-mode/lisp/org-latex hides /usr/share/emacs/23.3/lisp/org/org-latex
/home/sb/git/org-mode/lisp/org-habit hides /usr/share/emacs/23.3/lisp/org/org-habit
/home/sb/git/org-mode/lisp/org-mhe hides /usr/share/emacs/23.3/lisp/org/org-mhe
/home/sb/git/org-mode/lisp/org-w3m hides /usr/share/emacs/23.3/lisp/org/org-w3m
/home/sb/git/org-mode/lisp/org-remember hides /usr/share/emacs/23.3/lisp/org/org-remember
/home/sb/git/org-mode/lisp/org-freemind hides /usr/share/emacs/23.3/lisp/org/org-freemind
/home/sb/git/org-mode/lisp/org-crypt hides /usr/share/emacs/23.3/lisp/org/org-crypt
/home/sb/git/org-mode/lisp/org-table hides /usr/share/emacs/23.3/lisp/org/org-table
/home/sb/git/org-mode/lisp/org hides /usr/share/emacs/23.3/lisp/org/org
/home/sb/git/org-mode/lisp/org-ascii hides /usr/share/emacs/23.3/lisp/org/org-ascii
/home/sb/git/org-mode/lisp/org-wl hides /usr/share/emacs/23.3/lisp/org/org-wl
/home/sb/git/org-mode/lisp/org-install hides /usr/share/emacs/23.3/lisp/org/org-install
/home/sb/git/org-mode/lisp/org-mew hides /usr/share/emacs/23.3/lisp/org/org-mew
/home/sb/git/org-mode/lisp/org-list hides /usr/share/emacs/23.3/lisp/org/org-list
/home/sb/git/org-mode/lisp/org-irc hides /usr/share/emacs/23.3/lisp/org/org-irc
/home/sb/git/org-mode/lisp/org-docbook hides /usr/share/emacs/23.3/lisp/org/org-docbook
/home/sb/git/org-mode/lisp/org-footnote hides /usr/share/emacs/23.3/lisp/org/org-footnote
/home/sb/git/org-mode/lisp/org-bbdb hides /usr/share/emacs/23.3/lisp/org/org-bbdb
/home/sb/git/org-mode/lisp/org-vm hides /usr/share/emacs/23.3/lisp/org/org-vm
/home/sb/git/org-mode/lisp/org-agenda hides /usr/share/emacs/23.3/lisp/org/org-agenda
/home/sb/git/org-mode/lisp/org-clock hides /usr/share/emacs/23.3/lisp/org/org-clock
/home/sb/git/org-mode/lisp/org-html hides /usr/share/emacs/23.3/lisp/org/org-html
/home/sb/git/org-mode/lisp/org-datetree hides /usr/share/emacs/23.3/lisp/org/org-datetree
/home/sb/git/org-mode/lisp/org-inlinetask hides /usr/share/emacs/23.3/lisp/org/org-inlinetask
/home/sb/git/gnus/lisp/dns hides /usr/share/emacs/23.3/lisp/net/dns
/home/sb/git/gnus/lisp/sasl-ntlm hides /usr/share/emacs/23.3/lisp/net/sasl-ntlm
/home/sb/git/gnus/lisp/sasl hides /usr/share/emacs/23.3/lisp/net/sasl
/home/sb/git/gnus/lisp/sasl-digest hides /usr/share/emacs/23.3/lisp/net/sasl-digest
/home/sb/git/gnus/lisp/hmac-def hides /usr/share/emacs/23.3/lisp/net/hmac-def
/home/sb/git/gnus/lisp/dig hides /usr/share/emacs/23.3/lisp/net/dig
/home/sb/git/gnus/lisp/hmac-md5 hides /usr/share/emacs/23.3/lisp/net/hmac-md5
/home/sb/git/gnus/lisp/imap hides /usr/share/emacs/23.3/lisp/net/imap
/home/sb/git/gnus/lisp/ntlm hides /usr/share/emacs/23.3/lisp/net/ntlm
/home/sb/git/gnus/lisp/tls hides /usr/share/emacs/23.3/lisp/net/tls
/home/sb/git/gnus/lisp/sasl-cram hides /usr/share/emacs/23.3/lisp/net/sasl-cram
/home/sb/git/gnus/lisp/netrc hides /usr/share/emacs/23.3/lisp/net/netrc
/home/sb/git/gnus/lisp/hashcash hides /usr/share/emacs/23.3/lisp/mail/hashcash
/home/sb/git/gnus/lisp/uudecode hides /usr/share/emacs/23.3/lisp/mail/uudecode
/home/sb/git/gnus/lisp/binhex hides /usr/share/emacs/23.3/lisp/mail/binhex
/home/sb/git/gnus/lisp/nndraft hides /usr/share/emacs/23.3/lisp/gnus/nndraft
/home/sb/git/gnus/lisp/gnus-srvr hides /usr/share/emacs/23.3/lisp/gnus/gnus-srvr
/home/sb/git/gnus/lisp/nntp hides /usr/share/emacs/23.3/lisp/gnus/nntp
/home/sb/git/gnus/lisp/flow-fill hides /usr/share/emacs/23.3/lisp/gnus/flow-fill
/home/sb/git/gnus/lisp/nndiary hides /usr/share/emacs/23.3/lisp/gnus/nndiary
/home/sb/git/gnus/lisp/gnus-delay hides /usr/share/emacs/23.3/lisp/gnus/gnus-delay
/home/sb/git/gnus/lisp/mail-prsvr hides /usr/share/emacs/23.3/lisp/gnus/mail-prsvr
/home/sb/git/gnus/lisp/gnus-mh hides /usr/share/emacs/23.3/lisp/gnus/gnus-mh
/home/sb/git/gnus/lisp/gnus-agent hides /usr/share/emacs/23.3/lisp/gnus/gnus-agent
/home/sb/git/gnus/lisp/mail-source hides /usr/share/emacs/23.3/lisp/gnus/mail-source
/home/sb/git/gnus/lisp/gnus-uu hides /usr/share/emacs/23.3/lisp/gnus/gnus-uu
/home/sb/git/gnus/lisp/gnus-int hides /usr/share/emacs/23.3/lisp/gnus/gnus-int
/home/sb/git/gnus/lisp/mml-sec hides /usr/share/emacs/23.3/lisp/gnus/mml-sec
/home/sb/git/gnus/lisp/gnus-cache hides /usr/share/emacs/23.3/lisp/gnus/gnus-cache
/home/sb/git/gnus/lisp/gnus-util hides /usr/share/emacs/23.3/lisp/gnus/gnus-util
/home/sb/git/gnus/lisp/gnus-dired hides /usr/share/emacs/23.3/lisp/gnus/gnus-dired
/home/sb/git/gnus/lisp/gnus-ml hides /usr/share/emacs/23.3/lisp/gnus/gnus-ml
/home/sb/git/gnus/lisp/gnus-demon hides /usr/share/emacs/23.3/lisp/gnus/gnus-demon
/home/sb/git/gnus/lisp/mm-partial hides /usr/share/emacs/23.3/lisp/gnus/mm-partial
/home/sb/git/gnus/lisp/yenc hides /usr/share/emacs/23.3/lisp/gnus/yenc
/home/sb/git/gnus/lisp/gnus-spec hides /usr/share/emacs/23.3/lisp/gnus/gnus-spec
/home/sb/git/gnus/lisp/mm-uu hides /usr/share/emacs/23.3/lisp/gnus/mm-uu
/home/sb/git/gnus/lisp/gnus-sieve hides /usr/share/emacs/23.3/lisp/gnus/gnus-sieve
/home/sb/git/gnus/lisp/gmm-utils hides /usr/share/emacs/23.3/lisp/gnus/gmm-utils
/home/sb/git/gnus/lisp/gnus hides /usr/share/emacs/23.3/lisp/gnus/gnus
/home/sb/git/gnus/lisp/sieve hides /usr/share/emacs/23.3/lisp/gnus/sieve
/home/sb/git/gnus/lisp/nnir hides /usr/share/emacs/23.3/lisp/gnus/nnir
/home/sb/git/gnus/lisp/gnus-undo hides /usr/share/emacs/23.3/lisp/gnus/gnus-undo
/home/sb/git/gnus/lisp/rfc2047 hides /usr/share/emacs/23.3/lisp/gnus/rfc2047
/home/sb/git/gnus/lisp/nnmaildir hides /usr/share/emacs/23.3/lisp/gnus/nnmaildir
/home/sb/git/gnus/lisp/gnus-start hides /usr/share/emacs/23.3/lisp/gnus/gnus-start
/home/sb/git/gnus/lisp/nndoc hides /usr/share/emacs/23.3/lisp/gnus/nndoc
/home/sb/git/gnus/lisp/gnus-registry hides /usr/share/emacs/23.3/lisp/gnus/gnus-registry
/home/sb/git/gnus/lisp/utf7 hides /usr/share/emacs/23.3/lisp/gnus/utf7
/home/sb/git/gnus/lisp/sieve-manage hides /usr/share/emacs/23.3/lisp/gnus/sieve-manage
/home/sb/git/gnus/lisp/nnmairix hides /usr/share/emacs/23.3/lisp/gnus/nnmairix
/home/sb/git/gnus/lisp/mailcap hides /usr/share/emacs/23.3/lisp/gnus/mailcap
/home/sb/git/gnus/lisp/gnus-eform hides /usr/share/emacs/23.3/lisp/gnus/gnus-eform
/home/sb/git/gnus/lisp/sieve-mode hides /usr/share/emacs/23.3/lisp/gnus/sieve-mode
/home/sb/git/gnus/lisp/spam hides /usr/share/emacs/23.3/lisp/gnus/spam
/home/sb/git/gnus/lisp/mm-encode hides /usr/share/emacs/23.3/lisp/gnus/mm-encode
/home/sb/git/gnus/lisp/nnbabyl hides /usr/share/emacs/23.3/lisp/gnus/nnbabyl
/home/sb/git/gnus/lisp/smiley hides /usr/share/emacs/23.3/lisp/gnus/smiley
/home/sb/git/gnus/lisp/qp hides /usr/share/emacs/23.3/lisp/gnus/qp
/home/sb/git/gnus/lisp/compface hides /usr/share/emacs/23.3/lisp/gnus/compface
/home/sb/git/gnus/lisp/mm-bodies hides /usr/share/emacs/23.3/lisp/gnus/mm-bodies
/home/sb/git/gnus/lisp/gnus-logic hides /usr/share/emacs/23.3/lisp/gnus/gnus-logic
/home/sb/git/gnus/lisp/canlock hides /usr/share/emacs/23.3/lisp/gnus/canlock
/home/sb/git/gnus/lisp/nnoo hides /usr/share/emacs/23.3/lisp/gnus/nnoo
/home/sb/git/gnus/lisp/auth-source hides /usr/share/emacs/23.3/lisp/gnus/auth-source
/home/sb/git/gnus/lisp/mm-view hides /usr/share/emacs/23.3/lisp/gnus/mm-view
/home/sb/git/gnus/lisp/mail-parse hides /usr/share/emacs/23.3/lisp/gnus/mail-parse
/home/sb/git/gnus/lisp/nnimap hides /usr/share/emacs/23.3/lisp/gnus/nnimap
/home/sb/git/gnus/lisp/nnfolder hides /usr/share/emacs/23.3/lisp/gnus/nnfolder
/home/sb/git/gnus/lisp/gnus-salt hides /usr/share/emacs/23.3/lisp/gnus/gnus-salt
/home/sb/git/gnus/lisp/nnmbox hides /usr/share/emacs/23.3/lisp/gnus/nnmbox
/home/sb/git/gnus/lisp/nneething hides /usr/share/emacs/23.3/lisp/gnus/nneething
/home/sb/git/gnus/lisp/gnus-dup hides /usr/share/emacs/23.3/lisp/gnus/gnus-dup
/home/sb/git/gnus/lisp/smime hides /usr/share/emacs/23.3/lisp/gnus/smime
/home/sb/git/gnus/lisp/gnus-diary hides /usr/share/emacs/23.3/lisp/gnus/gnus-diary
/home/sb/git/gnus/lisp/gnus-fun hides /usr/share/emacs/23.3/lisp/gnus/gnus-fun
/home/sb/git/gnus/lisp/rfc1843 hides /usr/share/emacs/23.3/lisp/gnus/rfc1843
/home/sb/git/gnus/lisp/gnus-bcklg hides /usr/share/emacs/23.3/lisp/gnus/gnus-bcklg
/home/sb/git/gnus/lisp/score-mode hides /usr/share/emacs/23.3/lisp/gnus/score-mode
/home/sb/git/gnus/lisp/nngateway hides /usr/share/emacs/23.3/lisp/gnus/nngateway
/home/sb/git/gnus/lisp/nnnil hides /usr/share/emacs/23.3/lisp/gnus/nnnil
/home/sb/git/gnus/lisp/starttls hides /usr/share/emacs/23.3/lisp/gnus/starttls
/home/sb/git/gnus/lisp/mm-extern hides /usr/share/emacs/23.3/lisp/gnus/mm-extern
/home/sb/git/gnus/lisp/gnus-cus hides /usr/share/emacs/23.3/lisp/gnus/gnus-cus
/home/sb/git/gnus/lisp/spam-report hides /usr/share/emacs/23.3/lisp/gnus/spam-report
/home/sb/git/gnus/lisp/gnus-art hides /usr/share/emacs/23.3/lisp/gnus/gnus-art
/home/sb/git/gnus/lisp/gnus-range hides /usr/share/emacs/23.3/lisp/gnus/gnus-range
/home/sb/git/gnus/lisp/mml hides /usr/share/emacs/23.3/lisp/gnus/mml
/home/sb/git/gnus/lisp/nnml hides /usr/share/emacs/23.3/lisp/gnus/nnml
/home/sb/git/gnus/lisp/messcompat hides /usr/share/emacs/23.3/lisp/gnus/messcompat
/home/sb/git/gnus/lisp/gnus-mlspl hides /usr/share/emacs/23.3/lisp/gnus/gnus-mlspl
/home/sb/git/gnus/lisp/gnus-draft hides /usr/share/emacs/23.3/lisp/gnus/gnus-draft
/home/sb/git/gnus/lisp/legacy-gnus-agent hides /usr/share/emacs/23.3/lisp/gnus/legacy-gnus-agent
/home/sb/git/gnus/lisp/ietf-drums hides /usr/share/emacs/23.3/lisp/gnus/ietf-drums
/home/sb/git/gnus/lisp/nnspool hides /usr/share/emacs/23.3/lisp/gnus/nnspool
/home/sb/git/gnus/lisp/gnus-picon hides /usr/share/emacs/23.3/lisp/gnus/gnus-picon
/home/sb/git/gnus/lisp/gnus-topic hides /usr/share/emacs/23.3/lisp/gnus/gnus-topic
/home/sb/git/gnus/lisp/mml1991 hides /usr/share/emacs/23.3/lisp/gnus/mml1991
/home/sb/git/gnus/lisp/gnus-win hides /usr/share/emacs/23.3/lisp/gnus/gnus-win
/home/sb/git/gnus/lisp/gnus-sum hides /usr/share/emacs/23.3/lisp/gnus/gnus-sum
/home/sb/git/gnus/lisp/gnus-ems hides /usr/share/emacs/23.3/lisp/gnus/gnus-ems
/home/sb/git/gnus/lisp/nnmh hides /usr/share/emacs/23.3/lisp/gnus/nnmh
/home/sb/git/gnus/lisp/mm-url hides /usr/share/emacs/23.3/lisp/gnus/mm-url
/home/sb/git/gnus/lisp/pop3 hides /usr/share/emacs/23.3/lisp/gnus/pop3
/home/sb/git/gnus/lisp/mml-smime hides /usr/share/emacs/23.3/lisp/gnus/mml-smime
/home/sb/git/gnus/lisp/nnrss hides /usr/share/emacs/23.3/lisp/gnus/nnrss
/home/sb/git/gnus/lisp/gnus-async hides /usr/share/emacs/23.3/lisp/gnus/gnus-async
/home/sb/git/gnus/lisp/nnheader hides /usr/share/emacs/23.3/lisp/gnus/nnheader
/home/sb/git/gnus/lisp/nnagent hides /usr/share/emacs/23.3/lisp/gnus/nnagent
/home/sb/git/gnus/lisp/gnus-kill hides /usr/share/emacs/23.3/lisp/gnus/gnus-kill
/home/sb/git/gnus/lisp/spam-stat hides /usr/share/emacs/23.3/lisp/gnus/spam-stat
/home/sb/git/gnus/lisp/gnus-bookmark hides /usr/share/emacs/23.3/lisp/gnus/gnus-bookmark
/home/sb/git/gnus/lisp/html2text hides /usr/share/emacs/23.3/lisp/gnus/html2text
/home/sb/git/gnus/lisp/rfc2104 hides /usr/share/emacs/23.3/lisp/gnus/rfc2104
/home/sb/git/gnus/lisp/gnus-msg hides /usr/share/emacs/23.3/lisp/gnus/gnus-msg
/home/sb/git/gnus/lisp/nnvirtual hides /usr/share/emacs/23.3/lisp/gnus/nnvirtual
/home/sb/git/gnus/lisp/mml2015 hides /usr/share/emacs/23.3/lisp/gnus/mml2015
/home/sb/git/gnus/lisp/rfc2045 hides /usr/share/emacs/23.3/lisp/gnus/rfc2045
/home/sb/git/gnus/lisp/deuglify hides /usr/share/emacs/23.3/lisp/gnus/deuglify
/home/sb/git/gnus/lisp/gnus-setup hides /usr/share/emacs/23.3/lisp/gnus/gnus-setup
/home/sb/git/gnus/lisp/mm-util hides /usr/share/emacs/23.3/lisp/gnus/mm-util
/home/sb/git/gnus/lisp/nnmail hides /usr/share/emacs/23.3/lisp/gnus/nnmail
/home/sb/git/gnus/lisp/ecomplete hides /usr/share/emacs/23.3/lisp/gnus/ecomplete
/home/sb/git/gnus/lisp/rfc2231 hides /usr/share/emacs/23.3/lisp/gnus/rfc2231
/home/sb/git/gnus/lisp/gnus-score hides /usr/share/emacs/23.3/lisp/gnus/gnus-score
/home/sb/git/gnus/lisp/spam-wash hides /usr/share/emacs/23.3/lisp/gnus/spam-wash
/home/sb/git/gnus/lisp/mm-decode hides /usr/share/emacs/23.3/lisp/gnus/mm-decode
/home/sb/git/gnus/lisp/nndir hides /usr/share/emacs/23.3/lisp/gnus/nndir
/home/sb/git/gnus/lisp/gnus-cite hides /usr/share/emacs/23.3/lisp/gnus/gnus-cite
/home/sb/git/gnus/lisp/nnweb hides /usr/share/emacs/23.3/lisp/gnus/nnweb
/home/sb/git/gnus/lisp/gnus-group hides /usr/share/emacs/23.3/lisp/gnus/gnus-group
/home/sb/git/gnus/lisp/message hides /usr/share/emacs/23.3/lisp/gnus/message
/home/sb/git/gnus/lisp/gnus-vm hides /usr/share/emacs/23.3/lisp/gnus/gnus-vm
/home/sb/git/gnus/lisp/time-date hides /usr/share/emacs/23.3/lisp/calendar/time-date
/home/sb/git/gnus/lisp/parse-time hides /usr/share/emacs/23.3/lisp/calendar/parse-time
/home/sb/apps/share/emacs/site-lisp/icalendar hides /usr/share/emacs/23.3/lisp/calendar/icalendar

Features:
(shadow emacsbug grep vc-dir ewoc compile make-mode perl-mode nnfolder
log-view gnus-fun thingatpt flow-fill gnus-html xml info nxml-uchnm
rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok vc
face-remap magit magit-key-mode bbdb-gui vc-git org-wl org-w3m org-vm
org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp
org-exp-blocks org-agenda org-info org-gnus org-docview org-bibtex
org-bbdb org org-footnote org-src org-list org-faces org-compat
org-entities org-macs noutline outline dired-aux time-stamp rfc2104
mailalias smtpmail u-appt appt diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs canlock sha1 hex-util two-column help-mode view
multi-isearch newcomment browse-url ruler-mode hl-line hexl eldoc
vc-dispatcher vc-svn mule-util sort gnus-cite ansi-color gnus-async
gnus-bcklg qp gnus-ml spam-gmane dns url-cache url-http url-gw url-auth
url-handlers mm-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-util url-parse url-vars gnus-topic nnml
nndraft nnmh utf-7 nnimap utf7 parse-time tramp-imap tramp-gw tramp-fish
tramp-smb tramp-cache tramp-ftp tramp-cmds tramp shell comint
tramp-compat trampver bbdb-gnus bbdb-snarf mail-extr rot13 disp-table
auth-source eieio assoc netrc proto-stream starttls tls gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-cache gnus-demon nntp
gnus-diary nndiary spam-report spam spam-stat bbdb-com bbdb timezone
gnus-uu yenc gnus-msg gnus-art mm-uu mml2015 epg-config mm-view
mml-smime smime password-cache dig mailcap supercite regi gnus-sync
gnus-load package reporter desktop nnir gnus-sum macroexp gnus-group
gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range
gnus-win gnus gnus-ems nnoo nnheader gnus-util time-date gnus-setup
message sendmail format-spec rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mailabbrev mail-utils gmm-utils mailheader
nxml-psgml-compatibility filladapt time iso-transl psvn byte-opt
warnings bytecomp byte-compile advice help-fns advice-preload derived
edmacro kmacro wid-edit cl cl-19 log-edit ring pcvs-util add-log
diff-mode easy-mmode pp elp ediff-merg ediff-diff ediff-wind ediff-mult
ediff-help ediff-init ediff-util dired regexp-opt easymenu jka-compr
org-install w3m-load psgml-init bbdb-autoloads tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind system-font-setting font-render-setting
gtk x-toolkit x multi-tty emacs)




Acknowledgement sent to Steinar Bang <sb@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN:
bug#8756; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 1 Jan 2018 23:00:02 UTC

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