git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joel Dice <dicej@mailsnare.net>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Subversion-style incrementing revision numbers
Date: Tue, 19 Sep 2006 16:30:05 -0600 (MDT)	[thread overview]
Message-ID: <Pine.LNX.4.62.0609191625000.9752@joeldicepc.ecovate.com> (raw)
In-Reply-To: <eeppkl$rm9$2@sea.gmane.org>

On Wed, 20 Sep 2006, Jakub Narebski wrote:

> Joel Dice wrote:
>
>> I'm considering adopting Git for a medium-sized project which is currently
>> managed using Subversion.  I've used Git for a few smaller projects
>> already, and the thing I've missed most from Subversion is the convenience
>> of incrementing revision numbers.  The following is a proposal to add this
>> feature to Git.
>>
>>
>> Rationale:
>>
>> Incrementing revision numbers (IRNs - an acronym I just made up) are
>> useful in that they can be treated as auto-generated tags which are easier
>> to remember and communicate than SHA hashes, yet do not require extra
>> effort to create like real tags.  Also, they have the advantage of being
>> chronologically ordered, so if I assert that a bug was fixed in revision
>> 42 of a shared repository, everyone may assume that revision 45 has that
>> fix as well.
>
> That is true _only_ if you have linear history. If you have multiple
> concurrent branches, revision 42 can be in branch 'next', revision '45' in
> topic branch 'xx/topic' which forked before revision 42, and do not have
> the fix.

In practice, this is not a problem.  The branch referred to is usually 
understood from the context (ex. a Bugzilla bug for a particular version 
of a product implies a particular branch).  Otherwise, yes, you must also 
explictly state which branch the fix was applied to.

> Unfortunately, one cannot (as of now) use result of git-describe as
> <commit-ish>. I'd rather have it fixed, than port idea from _centralized_
> SCM do distributed SCM.
>
>> Proposal:
>>
>> As with Subversion, the IRN state in Git would be specific to a given
>> repository and have no significance beyond that repository.  Also like
>> Subversion, IRN state would be global across a repository, so that a
>> commit to any branch would increment the current IRN value.  Every Git
>> command taking a revision parameter would accept an IRN using a syntax
>> such as "r$IRN".  Every commit would report the IRN to the user as well as
>> the SHA ID.  The IRN feature could be enabled or disabled via a
>> configuration option.
>
> This of course limits IRN much. Tags are valid across repositories.
> I'm not sure if many repositories are managed using shared repositories
> (centralized approach).

I would suggest that most repositories are centralized.  They're just not 
using Git yet :)

  - Joel

  parent reply	other threads:[~2006-09-19 22:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-19 21:07 Subversion-style incrementing revision numbers Joel Dice
2006-09-19 21:18 ` Petr Baudis
2006-09-19 21:42   ` Joel Dice
2006-09-19 22:00     ` Petr Baudis
2006-09-19 22:24       ` Joel Dice
2006-09-19 22:33         ` Shawn Pearce
2006-09-19 22:40         ` Johannes Schindelin
2006-09-19 22:39     ` Shawn Pearce
2006-09-19 21:58   ` Jakub Narebski
2006-09-19 21:51 ` Linus Torvalds
2006-09-19 22:06   ` Petr Baudis
2006-09-19 22:20     ` Linus Torvalds
2006-09-19 23:35       ` Joel Dice
2006-09-20  0:15         ` Jakub Narebski
2006-09-20 16:13           ` Joel Dice
2006-09-20  7:46     ` Junio C Hamano
2006-09-20 17:28     ` Robin Rosenberg
2006-09-20 18:22       ` Petr Baudis
2006-09-20 19:07         ` Junio C Hamano
2006-09-19 22:07 ` Jakub Narebski
2006-09-19 22:11   ` Petr Baudis
2006-09-19 22:17   ` Jakub Narebski
2006-09-19 23:07     ` Joel Dice
2006-09-19 22:18   ` Shawn Pearce
2006-09-19 22:23   ` Shawn Pearce
2006-09-19 22:30   ` Joel Dice [this message]
2006-09-19 22:09 ` Shawn Pearce
2006-09-19 22:40   ` Joel Dice

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.62.0609191625000.9752@joeldicepc.ecovate.com \
    --to=dicej@mailsnare.net \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).