Jeff King <peff@xxxxxxxx> writes: > On Sun, May 29, 2011 at 06:13:22AM +1000, Tim Mazid wrote: > > > I was just looking at various versioning schemes, and I came to wonder > > about git's one. Most of the ones out there are of the form > > <major>.<minor>.<optional revision> (j.n.r), but git seems to have four, > > as in 1.7.5.1. > > > > So, I was wondering what you call each number in the git version; does > > the usual j.n.r apply to the last three and the first one is a > > "mystery"? What is the official versioning scheme? Does each number > > have any particular name? > > In "git w.x.y.z", the decoding is: > > w: not likely to change short of a complete rewrite or something that > is quite incompatible (i.e., will probably remain "1" for quite a > while) > > x: when this jumps, it is a "big" version change, meaning there may be > some minor incompatibilities or new ways of doing things. For > example, 1.5.0 introduced a lot of usability changes and the > separate-remotes layout became the default. In 1.6.0, we stopped > shipping "git-*" in the PATH, and started using some new packfile > features by default. And so on. If you want to know more, see > Documentation/RelNotes/1.?.0.txt. > > y: when this jumps, it is a new release cut from master that does not > have any "big" changes as above. There will be new features and > some bugfixes. See RelNotes/1.7.?.txt for examples of what gets > included. > > z: when this jumps, it is a bugfix release based on the feature > release w.x.y. See RelNotes/1.7.5.?.txt for examples. > > Getting more to your actual question, I don't know that we ever use any > particular name like "major" or "minor" for any of them. We do tend to > use the terms "feature release" for w.x.y releases and "bugfix release" > for w.x.y.z. I think that Git numbering scheme actually follows semver pattern used by Linux kernel... which just moved to scheme: x.y[.z] from w.x.y[.z] one https://lkml.org/lkml/2011/5/29/204 == http://lwn.net/Articles/445222/ http://lwn.net/Articles/445223/ Though git still breaks backward compatibility from time to time (separate remotes by default, not shipping git-xxx n PATH, deltabaseoffset, submodules, packed refs, push safeties, status != commit --dry-run) which change 'x'... though probably could change 'w' (thought we be then at 7.x with git codebase still in flux...). -- Jakub Narebski Poland ShadeHawk on #git -- 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