* [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
@ 2005-12-30 16:23 John Ellson
2005-12-30 18:49 ` Linus Torvalds
2005-12-30 19:31 ` John Ellson
0 siblings, 2 replies; 6+ messages in thread
From: John Ellson @ 2005-12-30 16:23 UTC (permalink / raw)
To: git
I think it is probably a bug that "git non_existent_command"
returns its error message to stdout without an error, where
"git-non_existent_command" behaves differently and does return an
error.
Older versions of git did not implement "git describe" and
GIT-VERSION-GEN produces an empty version string if run on
a system with such a git installed. The consequence
is that "make rpm" fails.
This patch fixes GIT-VERSION-GEN so that it works in the
absence of a working "git describe"
----------------------------------------
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 196402c..845b9dc 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -2,7 +2,7 @@
GVF=GIT-VERSION-FILE
-VN=$(git describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT
+VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT
VN=$(expr "$VN" : v'\(.*\)')
if test -r $GVF
then
----------------------------------------
Signed-off-by: John Ellson <ellson@research.att.com>
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
2005-12-30 16:23 [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command John Ellson
@ 2005-12-30 18:49 ` Linus Torvalds
2005-12-30 19:12 ` John Ellson
2005-12-30 19:31 ` John Ellson
1 sibling, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-12-30 18:49 UTC (permalink / raw)
To: John Ellson; +Cc: git
On Fri, 30 Dec 2005, John Ellson wrote:
>
> I think it is probably a bug that "git non_existent_command"
> returns its error message to stdout without an error, where
> "git-non_existent_command" behaves differently and does return an
> error.
>
> Older versions of git did not implement "git describe" and
> GIT-VERSION-GEN produces an empty version string if run on
> a system with such a git installed. The consequence
> is that "make rpm" fails.
>
> This patch fixes GIT-VERSION-GEN so that it works in the
> absence of a working "git describe"
Shouldn't you make "git.c" return an error too, so that "git-describe" and
"git describe" both fail properly?
I realize that you'd want to do your patch _too_ (in case somebody has an
old version of "git" installed), but I just think it would be sensible to
fix the problem that causes this in the first place..
Continuing to output to stdout rather than stderr is probably a good idea
(so that it's easy to do "git help | less" or something), but yeah, I
think an unrecognized command should at least return an error.
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
2005-12-30 18:49 ` Linus Torvalds
@ 2005-12-30 19:12 ` John Ellson
2005-12-30 19:55 ` Linus Torvalds
0 siblings, 1 reply; 6+ messages in thread
From: John Ellson @ 2005-12-30 19:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
Linus Torvalds wrote:
> On Fri, 30 Dec 2005, John Ellson wrote:
>
>> I think it is probably a bug that "git non_existent_command"
>> returns its error message to stdout without an error, where
>> "git-non_existent_command" behaves differently and does return an
>> error.
>>
>> Older versions of git did not implement "git describe" and
>> GIT-VERSION-GEN produces an empty version string if run on
>> a system with such a git installed. The consequence
>> is that "make rpm" fails.
>>
>> This patch fixes GIT-VERSION-GEN so that it works in the
>> absence of a working "git describe"
>>
>
> Shouldn't you make "git.c" return an error too, so that "git-describe" and
> "git describe" both fail properly?
>
> I realize that you'd want to do your patch _too_ (in case somebody has an
> old version of "git" installed), but I just think it would be sensible to
> fix the problem that causes this in the first place..
>
> Continuing to output to stdout rather than stderr is probably a good idea
> (so that it's easy to do "git help | less" or something), but yeah, I
> think an unrecognized command should at least return an error.
>
> Linus
>
I checked and that bug has been fixed since the older version of git that
was causing me problems. "git non_existent_command" now returns 1.
However, the error message was also changed to
goto stderr, which it sounds like you disagree with? Personally
I don't have a problem with it, although a real "git-help" command
might be a good idea too.
John
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
2005-12-30 16:23 [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command John Ellson
2005-12-30 18:49 ` Linus Torvalds
@ 2005-12-30 19:31 ` John Ellson
2005-12-31 0:15 ` H. Peter Anvin
1 sibling, 1 reply; 6+ messages in thread
From: John Ellson @ 2005-12-30 19:31 UTC (permalink / raw)
To: git
John Ellson wrote:
> I think it is probably a bug that "git non_existent_command"
> returns its error message to stdout without an error, where
> "git-non_existent_command" behaves differently and does return an
> error.
BTW. Its the old shell-script version of "git" that fails to return an error on
non_existent_commands. The newer C version of "git" correctly returns an
error code.
The reason that this is a sufficiently serious problem to require a fix is that
the broken version of "git" is in the git-core-0.99.9a-2.fc5.i386.rpm that is
currently in Fedora Core Extras development.
John
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
2005-12-30 19:12 ` John Ellson
@ 2005-12-30 19:55 ` Linus Torvalds
0 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2005-12-30 19:55 UTC (permalink / raw)
To: John Ellson; +Cc: git
On Fri, 30 Dec 2005, John Ellson wrote:
>
> I checked and that bug has been fixed since the older version of git that
> was causing me problems. "git non_existent_command" now returns 1.
Ahh, good.
> However, the error message was also changed to goto stderr, which it
> sounds like you disagree with?
Not that I can see:
[torvalds@g5 ~]$ git --version
git version 1.0.6-g58e3
[torvalds@g5 ~]$ git hjsdhjas > /dev/null
[torvalds@g5 ~]$ echo $?
1
so yes, it returns a proper error, and it outputs the help message to
stdout, not stderr. Which is fine, because it means that you can indeed do
git help | less
and it will do the right thing (apart from printing the line
git: 'help' is not a git-command
which is a bit sad).
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command
2005-12-30 19:31 ` John Ellson
@ 2005-12-31 0:15 ` H. Peter Anvin
0 siblings, 0 replies; 6+ messages in thread
From: H. Peter Anvin @ 2005-12-31 0:15 UTC (permalink / raw)
To: John Ellson; +Cc: git
John Ellson wrote:
> John Ellson wrote:
>
>> I think it is probably a bug that "git non_existent_command"
>> returns its error message to stdout without an error, where
>> "git-non_existent_command" behaves differently and does return an
>> error.
>
>
> BTW. Its the old shell-script version of "git" that fails to return an
> error on non_existent_commands. The newer C version of "git"
> correctly returns an error code.
>
> The reason that this is a sufficiently serious problem to require a fix
> is that the broken version of "git" is in the
> git-core-0.99.9a-2.fc5.i386.rpm that is currently in Fedora Core Extras
> development.
>
It has been fixed. What's broken is that Fedora Extras still contains
0.99.9a which is totally ancient.
-hpa
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-12-31 0:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-30 16:23 [PATCH] Make GIT-VERSION-GEN tolerate missing git describe command John Ellson
2005-12-30 18:49 ` Linus Torvalds
2005-12-30 19:12 ` John Ellson
2005-12-30 19:55 ` Linus Torvalds
2005-12-30 19:31 ` John Ellson
2005-12-31 0:15 ` H. Peter Anvin
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 NNTP newsgroup(s).