git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).