On Wed, 17 Mar 2010, Jay Soffian wrote: > > My guess, from 908e531 (Add a "git-describe" command, 2005-12-24), is > that it's short for "git": Indeed. I actually wanted to make it possible to use other SCM's, even if it's stupid. And git is not the only one that uses hashes for versioning, so the "g" prefix is there to allow others that use -hg or monotone or similar to work. For the kernel, if you use mercurial, the kernel version prefix will be "hg", for example. For SVN, it will be "svn" (but the numbers won't be a hex number, they'll be the SVN revno). See 'scripts/setlocalversion' in the kernel tree for an example. So 'git describe' tries to match this kind of "multi-SCM model", where you can describe versions of your software in an environment where people may well use different SCMs. Of course, if you use "git describe", you'll always get the "g" thing, and it is entirely redundant within the settign of just git. But in a bigger setting, the point is that I can do this: [torvalds@i5 linux]$ git describe; uname -r v2.6.34-rc1-997-ga3d3203 2.6.34-rc1-00959-gbca14dd and they have basically the same format (not 100% identical, but the "-g<sha1>" part is similar - the SHA1's obviously don't match in this case, because the kernel I'm running is ~40 commits away from my current tip of tree, but you can see the pattern). Linus -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html