Re: Difference in how "git status" and "git diff --name-only" lists filenames

Subsystems: documentation, the rest

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Difference in how "git status" and "git diff --name-only" lists filenames

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:55

"Gustaf Hendeby" [off-list ref] writes:
A while ago 'git status' was patched to report relative pathnames.  (I
like that change it makes cut'n'paste easier.)  However, 'git diff
--name-only' and 'git diff --name-status' (other commands as well),
which gives in a sense similar output has not been changed the same
way.  Is this intentionally, or just because no one has stepped up and
provided a patch?  If the difference is to stay, maybe this should be
reflected in the help texts to avoid any confusion.
The commands output from diff always talks about paths relative to the
tree root, and scripts rely on it.  The recent change made exceptions to
the status command.  I agree an additional documentation to git-status
would be beneficial.

Having said that, a switch --relative-name might be an option.  It could
be argued that doing it the other way around (like --full-name option to
ls-files does), defaulting to relative to cwd, would have been a getter
approach if we were doing git from scratch, though.  We may still want
to do so in the longer run, but that would be a huge interface change
that would impact a lot of peoples' scripts.

diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 8fd0fc6..b0cb6bc 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -40,6 +40,10 @@ OUTPUT
 The output from this command is designed to be used as a commit
 template comments, and all the output lines are prefixed with '#'.
 
+The paths mentioned in the output, unlike many other git commands, are
+made relative to the current directory, if you are working in a
+subdirectory (this is on purpose, to help cutting and pasting).
+
 
 CONFIGURATION
 -------------

Re: Difference in how "git status" and "git diff --name-only" lists filenames

From: Gustaf Hendeby <hidden>
Date: 2016-06-15 22:43:56

On Dec 2, 2007 7:44 PM, Junio C Hamano [off-list ref] wrote:
quoted hunk
"Gustaf Hendeby" [off-list ref] writes:
quoted
A while ago 'git status' was patched to report relative pathnames.  (I
like that change it makes cut'n'paste easier.)  However, 'git diff
--name-only' and 'git diff --name-status' (other commands as well),
which gives in a sense similar output has not been changed the same
way.  Is this intentionally, or just because no one has stepped up and
provided a patch?  If the difference is to stay, maybe this should be
reflected in the help texts to avoid any confusion.
The commands output from diff always talks about paths relative to the
tree root, and scripts rely on it.  The recent change made exceptions to
the status command.  I agree an additional documentation to git-status
would be beneficial.

Having said that, a switch --relative-name might be an option.  It could
be argued that doing it the other way around (like --full-name option to
ls-files does), defaulting to relative to cwd, would have been a getter
approach if we were doing git from scratch, though.  We may still want
to do so in the longer run, but that would be a huge interface change
that would impact a lot of peoples' scripts.

diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 8fd0fc6..b0cb6bc 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -40,6 +40,10 @@ OUTPUT
 The output from this command is designed to be used as a commit
 template comments, and all the output lines are prefixed with '#'.

+The paths mentioned in the output, unlike many other git commands, are
+made relative to the current directory, if you are working in a
+subdirectory (this is on purpose, to help cutting and pasting).
+

 CONFIGURATION
 -------------
Thank you for your timely answer and the good explanation.  Sorry for
my late response!  I think that the addition to the documentation that
you suggest sounds good, and would be useful.  Do you want me to do
anything else about this?

/Gustaf
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help