* git log --name-only improvement: show old file name in rename
@ 2020-06-11 11:19 Ed Avis
2020-06-11 23:16 ` Junio C Hamano
0 siblings, 1 reply; 5+ messages in thread
From: Ed Avis @ 2020-06-11 11:19 UTC (permalink / raw)
To: git@vger.kernel.org
The git-log manual page says
--name-only
Show only names of changed files.
But when a file has been renamed, only the new name is printed, not the
old. I think it would be more useful and more correct to print both
names.
For example
% git init
Initialized empty Git repository in /home/eda/test/.git/
% touch a
% git add a
% git commit -mx
[master (root-commit) ca81aa7] x
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
% git mv a b
% git commit -my
[master 7b3925c] y
1 file changed, 0 insertions(+), 0 deletions(-)
rename a => b (100%)
% git log --name-only -n 1
commit 7b3925c1ece26d08d79cf9f06bfcb0b38fea611f (HEAD -> master)
Author: Ed Avis <eda@waniasset.com>
Date: 2020-06-11 11:59:34 +0100
y
b
I would expect that last log message to show the old filename a as well
as the new filename b. If you give --no-renames then both filenames are
shown, of course, but I think it should be possible to detect the
rename and print out both old and new names. There is --name-status
which will print more info including renames, but again I believe
--name-only should also show both. Thank you for considering this
improvement request.
% git --version
git version 2.26.0
--
Ed Avis <ed.avis@qmaw.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: git log --name-only improvement: show old file name in rename
2020-06-11 11:19 git log --name-only improvement: show old file name in rename Ed Avis
@ 2020-06-11 23:16 ` Junio C Hamano
2020-06-12 14:18 ` Philip Oakley
0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2020-06-11 23:16 UTC (permalink / raw)
To: Ed Avis; +Cc: git@vger.kernel.org
Ed Avis <ed.avis@qmaw.com> writes:
> The git-log manual page says
>
> --name-only
> Show only names of changed files.
>
> But when a file has been renamed, only the new name is printed, not the
> old. I think it would be more useful and more correct to print both
> names.
It is just you who thinks it would be more useful.
Scripts written by people over the last 10 years that expect to see
new name would certainly hate to see two names start appearing
there.
Perhaps you can use --summary at the same time?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: git log --name-only improvement: show old file name in rename
2020-06-11 23:16 ` Junio C Hamano
@ 2020-06-12 14:18 ` Philip Oakley
2020-06-12 17:03 ` Junio C Hamano
0 siblings, 1 reply; 5+ messages in thread
From: Philip Oakley @ 2020-06-12 14:18 UTC (permalink / raw)
To: Junio C Hamano, Ed Avis; +Cc: git@vger.kernel.org
@Ed
On 12/06/2020 00:16, Junio C Hamano wrote:
> Ed Avis <ed.avis@qmaw.com> writes:
>
>> The git-log manual page says
>>
>> --name-only
>> Show only names of changed files.
>>
>> But when a file has been renamed, only the new name is printed, not the
>> old. I think it would be more useful and more correct to print both
>> names.
Was this a concern that the manual did not clarify which name (old or
new) was being reported?
Philip
> It is just you who thinks it would be more useful.
>
> Scripts written by people over the last 10 years that expect to see
> new name would certainly hate to see two names start appearing
> there.
>
> Perhaps you can use --summary at the same time?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: git log --name-only improvement: show old file name in rename
2020-06-12 14:18 ` Philip Oakley
@ 2020-06-12 17:03 ` Junio C Hamano
2020-06-15 7:36 ` Ed Avis
0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2020-06-12 17:03 UTC (permalink / raw)
To: Philip Oakley; +Cc: Ed Avis, git@vger.kernel.org
Philip Oakley <philipoakley@iee.email> writes:
> @Ed
> On 12/06/2020 00:16, Junio C Hamano wrote:
>> Ed Avis <ed.avis@qmaw.com> writes:
>>
>>> The git-log manual page says
>>>
>>> --name-only
>>> Show only names of changed files.
>>>
>>> But when a file has been renamed, only the new name is printed, not the
>>> old. I think it would be more useful and more correct to print both
>>> names.
> Was this a concern that the manual did not clarify which name (old or
> new) was being reported?
Good point.
I am not Ed so I cannot give an answer to that question, but if we
do not document what name is listed in the output, we definitely
should.
Thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: git log --name-only improvement: show old file name in rename
2020-06-12 17:03 ` Junio C Hamano
@ 2020-06-15 7:36 ` Ed Avis
0 siblings, 0 replies; 5+ messages in thread
From: Ed Avis @ 2020-06-15 7:36 UTC (permalink / raw)
To: Junio C Hamano, Philip Oakley; +Cc: git@vger.kernel.org
Thanks all for your replies to this. I hoped that --name-only could show when
a filename was removed, as well as when it was added. If you delete a
file in one commit then add it with a new name in the next, both
filenames appear in the log. If these happen in a single commit, only
one does. And in fact it's not predictable whether you will get one
filename or two: it depends on rename detection. Sometimes if a file is
changed and moved to a new name, git log --name-only will show only the
new name in the log, but at other times, if git doesn't detect it as a
rename, both filenames appear. This feels more like an implementation
detail than a deliberate choice.
I accept that scripts may rely on the current behaviour, though I would
be surprised to find a script that depended on *not* seeing the old
filename printed.
Anyway, if it shouldn't change, or if it cannot change because of backwards compatibility, the manual page could be improved:
--name-only
Show only names of changed or added files.
If a file is removed, its name is also printed, unless this is detected
as a rename, in which case only the new name is printed.
That would be enough to direct users towards something more suitable like --compact-summary.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-06-15 7:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-11 11:19 git log --name-only improvement: show old file name in rename Ed Avis
2020-06-11 23:16 ` Junio C Hamano
2020-06-12 14:18 ` Philip Oakley
2020-06-12 17:03 ` Junio C Hamano
2020-06-15 7:36 ` Ed Avis
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).