git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 2/2] version-gen: fix versions

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Oct 14, 2013, 02:42 UTC
Message-ID
<CAMP44s2o5O=zKBef5Jn486yYkYYvuLSZRQokZAUQVN+EE=3+3Q@mail.gmail.com>
In-Reply-To
<CAJDDKr5K0UjcbhUpAjHjGcEk6=E2+cAVC8-RpxY+C1atSVj-Tg@mail.gmail.com>
On Sun, Oct 13, 2013 at 4:56 PM, David Aguilar <davvid@gmail.com> wrote:
Show 37 quoted lines
> On Sat, Oct 12, 2013 at 12:07 AM, Felipe Contreras
> <felipe.contreras@gmail.com> wrote:
>> Virtually all packaging guidelines would prefer 1.8.4~rc1, over
>> 1.8.4.rc1 or 1.8.4-rc1, so it makes sense to use that instead.
>>
>> In particular, the only packaging we provide, git.spec, generates a
>> wrong version, because git-1.8.4 < git-1.8.4.rc1, changing to ~rc1 fixes
>> the problem as it's considered newer.
>>
>> The same happens in dpkg.
>>
>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
>> ---
>>  GIT-VERSION-GEN | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
>> index e96538d..c04c4de 100755
>> --- a/GIT-VERSION-GEN
>> +++ b/GIT-VERSION-GEN
>> @@ -28,7 +28,7 @@ then
>>         VN=$(cat version) || VN="$DEF_VER"
>>  elif test -d ${GIT_DIR:-.git} -o -f .git && describe
>>  then
>> -       VN=$(echo "$VN" | sed -e 's/-/./g')
>> +       VN=$(echo "$VN" | sed -e 's/-/~/g')
>>  else
>>         VN="$DEF_VER"
>>  fi
>> --
>
> This seems related:
>
> http://lintian.debian.org/tags/rc-version-greater-than-expected-version.html
>
> Should the RC tags in the Git repo be named v1.2.3~rc4 (tilde-rc#)
> instead of dash-rc#, or does that not matter?
I thought so first, but then I realized ~ is not allowed in a ref.
Show 6 quoted lines
> If so, would that change anything about this patch, or is it better to
> normalize it all here?
>
> The input is subtly different sometimes so I'm curious whether whether
> "~" is preferred in all cases (particularly, by all package managers).
>  e.g.

All package managers I investigated do handle ~ specially, and thus recommend it for rc versioning, except pacman. So in pacman, v1.5.0~rc4 would remain newer than v1.5.0, but that's not different from the current situation, and there isn't much we can do about that.

Show 5 quoted lines
> $ git describe v1.5.0^
> v1.5.0-rc4-372-g26cfcfb
>
> $ git describe v1.5.0.1^
> v1.5.0-27-g38eb932
At least both in RPM and dpkg, 1.5.0~27 is newer than 1.5.0~rc4.
-- 
Felipe Contreras
Previous: David AguilarNext: Jonathan Nieder
Message 5 of 7 in “Version fixes and cleanups”
  1. 0/2 Version fixes and cleanupsFelipe Contreras, Oct 12, 2013
  2. 1/2 version-gen: cleanupFelipe Contreras, Oct 12, 2013
  3. 2/2 version-gen: fix versionsFelipe Contreras, Oct 12, 2013
  4. David AguilarOct 13, 2013
  5. Felipe ContrerasOct 14, 2013
  6. Jonathan NiederOct 14, 2013
  7. Felipe ContrerasOct 14, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.