Thread (23 messages) flat view 23 messages, 10 authors, 2016-06-15

Re: Creating something like increasing revision numbers

From: Johan Herland <hidden>
Date: 2016-06-15 22:47:34

On Sunday 18 October 2009, Norbert Preining wrote:
Now, there is one show-stopper I see. From our repository we create a
set of "packages", and the maximum of the "last-changed" revisions of
the contained files determine the "version" of the package. This
guarantees that any change in a file will increase the revision number
of the package (some tricks for removals have to be done). This is
 necessary since we are distributing the packages from servers and the
 version number pf a package determines whether it should be upgraded
 (well known concept).

Now my question, is there any way to set up something similar with git?

My idea is that git - like subversion - could (if asked to) count each
commit (global to the repository, irrelevant of the branch) and give it
a version number. Since we all will use a bare repository on a server
and pull/push from/to there, I think that something similar could be
 possible.

So, before I delve into more gitty-nitty conversion, let me know if
there is any chance for that, or we should stay with subversion.
A global, increasing version number ala SVN is fundamentally impossible in 
any distributed version control system (like Git).

However, you can get a useful version specifier from the "git describe" 
command. It will give you back something like the following:

    $ git describe
    v1.0.4-14-g2414721

where the "v1.0.4" part is the last tag that the current state is based on, 
the "14" part is the number of commit between that tag and the current 
state, and the "2414721" is the abbreviated object name (SHA1 id) for the 
current commit itself.

This is somewhat more complex than a simple version number, but guarantees a 
globally unique name for your current state that works in a distributed 
environment.

Also, I find "v1.0.4-14..." (i.e. 14 commits since v1.0.4) much more useful 
than, say, "12534" (i.e. 12534 commits since the start of the project).

See 'git help describe for more info'


Have fun! :)

...Johan

-- 
Johan Herland, [off-list ref]
www.herland.net
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help