git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] GIT-VERSION-GEN: restrict tags used
@ 2010-05-11 17:33 Tay Ray Chuan
  2010-05-11 23:01 ` Jonathan Nieder
  0 siblings, 1 reply; 6+ messages in thread
From: Tay Ray Chuan @ 2010-05-11 17:33 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano, Jonathan Nieder, Jeff King

Restrict the tags used to generate the version string to those that
begin with "v", since git's tags for git-core (ie. excluding git-gui)
are all of the form "vX.Y...".

This is to avoid using private tags by the user in a clone of the git
code repository, which may break certain machinery (eg. Makefile).

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---

  Ran into this after tagging a topic branch and running make.

  Although a "v.*" match does not guarantee the non-usage of private
  tags, I feel it's an acceptable level of accuracy.

  After this patch, perhaps we could advertise somewhere to git hackers
  that tags beginning with "v" should be avoided.

 GIT-VERSION-GEN |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 59219bd..28b4d56 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -12,7 +12,7 @@ if test -f version
 then
 	VN=$(cat version) || VN="$DEF_VER"
 elif test -d .git -o -f .git &&
-	VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
+	VN=$(git describe --match "v*" --abbrev=4 HEAD 2>/dev/null) &&
 	case "$VN" in
 	*$LF*) (exit 1) ;;
 	v[0-9]*)
--
1.7.1.189.g07419

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] GIT-VERSION-GEN: restrict tags used
  2010-05-11 17:33 [RFC PATCH] GIT-VERSION-GEN: restrict tags used Tay Ray Chuan
@ 2010-05-11 23:01 ` Jonathan Nieder
  2010-05-11 23:05   ` Jonathan Nieder
  2010-05-12  3:23   ` Tay Ray Chuan
  0 siblings, 2 replies; 6+ messages in thread
From: Jonathan Nieder @ 2010-05-11 23:01 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: Git Mailing List, Junio C Hamano, Jeff King

Tay Ray Chuan wrote:

> Restrict the tags used to generate the version string to those that
> begin with "v"

I like it.  Thanks!

> since git's tags for git-core (ie. excluding git-gui)
> are all of the form "vX.Y...".

git gui’s too, now.

> This is to avoid using private tags by the user in a clone of the git
> code repository, which may break certain machinery (eg. Makefile).

Not to mention gitk:

  set git_version [join [lrange [split [lindex [exec git version] end] .] 0 2] .]
  if {[package vcompare $git_version "1.6.1"] >= 0} {

This requires ‘git version’ output to have the form

  introducing 1.2.3.otherstuff

or there will be errors at startup time.

>   After this patch, perhaps we could advertise somewhere to git hackers
>   that tags beginning with "v" should be avoided.

Maybe v[0-9]* would make this problem harder to trip.

Jonathan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] GIT-VERSION-GEN: restrict tags used
  2010-05-11 23:01 ` Jonathan Nieder
@ 2010-05-11 23:05   ` Jonathan Nieder
  2010-05-12  3:23   ` Tay Ray Chuan
  1 sibling, 0 replies; 6+ messages in thread
From: Jonathan Nieder @ 2010-05-11 23:05 UTC (permalink / raw)
  To: Tay Ray Chuan
  Cc: Git Mailing List, Junio C Hamano, Jeff King, Shawn O. Pearce

Jonathan Nieder wrote:
> Tay Ray Chuan wrote:

>> since git's tags for git-core (ie. excluding git-gui)
>> are all of the form "vX.Y...".
>
> git gui’s too, now.

Aggh --- sent early, there.  Here is what I meant to say.

Shawn, this helps avoid any stray (annotated) tags the user may have
made, following Tay’s example.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index b3f937e..d6a6601 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -13,7 +13,7 @@ tree_search ()
 	for p in $(git rev-list --parents --max-count=1 $head 2>/dev/null)
 	do
 		test $tree = $(git rev-parse $p^{tree} 2>/dev/null) &&
-		vn=$(git describe --abbrev=4 $p 2>/dev/null) &&
+		vn=$(git describe --match=gitgui-[0-9]* --abbrev=4 $p 2>/dev/null) &&
 		case "$vn" in
 		gitgui-[0-9]*) echo $vn; break;;
 		esac
-- 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [RFC PATCH] GIT-VERSION-GEN: restrict tags used
  2010-05-11 23:01 ` Jonathan Nieder
  2010-05-11 23:05   ` Jonathan Nieder
@ 2010-05-12  3:23   ` Tay Ray Chuan
  2010-05-12  3:29     ` [PATCH] " Tay Ray Chuan
  1 sibling, 1 reply; 6+ messages in thread
From: Tay Ray Chuan @ 2010-05-12  3:23 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Git Mailing List, Junio C Hamano, Jeff King

On Wed, May 12, 2010 at 7:01 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Tay Ray Chuan wrote:
>> This is to avoid using private tags by the user in a clone of the git
>> code repository, which may break certain machinery (eg. Makefile).
>
> Not to mention gitk:
>
>  set git_version [join [lrange [split [lindex [exec git version] end] .] 0 2] .]
>  if {[package vcompare $git_version "1.6.1"] >= 0} {
>
> This requires ‘git version’ output to have the form
>
>  introducing 1.2.3.otherstuff
>
> or there will be errors at startup time.

Thanks for the heads-up, I'll put that in the patch message.

>>   After this patch, perhaps we could advertise somewhere to git hackers
>>   that tags beginning with "v" should be avoided.
>
> Maybe v[0-9]* would make this problem harder to trip.

Oh, I didn't know character classes were allows. Sounds good.

-- 
Cheers,
Ray Chuan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] GIT-VERSION-GEN: restrict tags used
  2010-05-12  3:23   ` Tay Ray Chuan
@ 2010-05-12  3:29     ` Tay Ray Chuan
  2010-05-12  5:54       ` Junio C Hamano
  0 siblings, 1 reply; 6+ messages in thread
From: Tay Ray Chuan @ 2010-05-12  3:29 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano, Jonathan Nieder

Restrict the tags used to generate the version string to those that
begin with "v", since git's tags for git-core (ie. excluding git-gui)
are all of the form "vX.Y...".

This is to avoid using private tags by the user in a clone of the git
code repository, which may break certain machinery (eg. Makefile, gitk).

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---

  Changes from RFC:

    - used "v[0-9]*" instead of just "v*"
    - mentioned gitk as another piece that may break

 GIT-VERSION-GEN |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 59219bd..e45513d 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -12,7 +12,7 @@ if test -f version
 then
 	VN=$(cat version) || VN="$DEF_VER"
 elif test -d .git -o -f .git &&
-	VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
+	VN=$(git describe --match "v[0-9]*" --abbrev=4 HEAD 2>/dev/null) &&
 	case "$VN" in
 	*$LF*) (exit 1) ;;
 	v[0-9]*)
--
1.7.1.189.g07419

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] GIT-VERSION-GEN: restrict tags used
  2010-05-12  3:29     ` [PATCH] " Tay Ray Chuan
@ 2010-05-12  5:54       ` Junio C Hamano
  0 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2010-05-12  5:54 UTC (permalink / raw)
  To: Tay Ray Chuan; +Cc: Git Mailing List, Jonathan Nieder

Thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-05-12  5:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-11 17:33 [RFC PATCH] GIT-VERSION-GEN: restrict tags used Tay Ray Chuan
2010-05-11 23:01 ` Jonathan Nieder
2010-05-11 23:05   ` Jonathan Nieder
2010-05-12  3:23   ` Tay Ray Chuan
2010-05-12  3:29     ` [PATCH] " Tay Ray Chuan
2010-05-12  5:54       ` Junio C Hamano

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