On 11/2/06, Han-Wen Nienhuys <hanwen@xs4all.nl> wrote:
Show 10 quoted lines
> Andy Whitcroft escreveu:
> > Han-Wen Nienhuys wrote:
> >>
> >> tag+sha1
> >>
> >> to separate the tag and the committish.
> >
> > Well there is a non-alphabet character in there, a minus (-). The g
> > prefix on the sha1 _fragment_ it to indicate that it is in fact a
> > truncated sha1, not a complete one.
I think it is there to indicate it is a git commit sha1.
Show 10 quoted lines
>
> is this policy documented somewhere? None of the tools understand it.
>
> [lilydev@haring git]$ git describe
> v1.4.3.3-g1e1f76e
> [lilydev@haring git]$ git show g1e1f76e
> fatal: ambiguous argument 'g1e1f76e': unknown revision or path not in
> the working tree.
> Use '--' to separate paths from revisions
>
Use the complete output of describe: $ git show v1.4.3.3-g1e1f76e
or the abbrev sha1: $ git show 1e1f76e
> My suggestion is to use
>
> v1.4.3.3+1e1f76e
My suggestion is to use:
v1.4.3.3-git1e1f76e
to make clear that it is a git revision version.
One problem I see with this scheme (either 'g', 'git' of '+') is that it does not provide an increasing version number, even for fast-forwarding commits. Then it is not useful as a package version number (deb or rpm). I've already seen deb packages with version+git20061010. One possibility could be to add the number of commits between the tag and the commit as:
v1.4.3.3-git12g1e1f76e
to provide a weak ordering for fast-forwarding commits. What do you thing?