git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Kelly <steveire@gmail.com>
To: git@vger.kernel.org
Subject: Re: How to keep different version numbers in different branches?
Date: Tue, 06 Apr 2010 11:06:42 +0100	[thread overview]
Message-ID: <hpetj1$6af$1@dough.gmane.org> (raw)
In-Reply-To: n2x32541b131004051236m3a800c57k41536729ae3f192@mail.gmail.com

Avery Pennarun wrote:

> On Mon, Apr 5, 2010 at 3:22 PM, Matthieu Moy
> <Matthieu.Moy@grenoble-inp.fr> wrote:
>> You can even make sure it _never_ happens, by making a one-commit
>> release branch which changes the version number for each release. This
>> one-commit is never merged in anything:
>>
>> 0.1                         0.2
>> |                           |
>> v                           v
>> --o--o--o--o--o--o--o--o---o--o--o <--- master branch
>> \                      /
>> o--o--o--o--o--o--o--o--- ...  <--- maintainance branch
>> \              \
>> o <- 0.1.1     o <- 0.1.2
>>
>> Here, the maintainance branch never changes the version number in
>> README & friends.
> 
> This works too.  In fact, I even do it on one of my projects.
> However, I find it a little annoying, because then I don't know which
> version to tag: the pre-number-changed version, or the
> post-number-changed version.
> 
> The latter sounds like the obvious answer, but if I do that, then "git
> describe" never says anything useful on my master branch.  But if I do
> the former instead, then the tag doesn't accurately reflect the
> version I *actually* released.
> 
> I've never found an adequate solution to this problem, other than not
> including the version number in the repo at all.

Hi all, 

Thanks for the pointers. I considered the above solution too, but 
disregarded it for the same reason.

I also considered the git describe solution, but disregarded it because in 
CMake I need to know each component of the version separately 
(Grantlee_VERSION_MAJOR, Grantlee_VERSION_MINOR and Grantlee_VERSION_PATCH). 
I could split it on '.', but I think the better solution is to just put the 
version into the CMake files and deal with the conflict in that one place as 
it comes up. I can always switch in the future anyway if using describe 
makes more sense.

> you might want to have a look at this: http://nvie.com/git-model

Yes, that is an interesting read, but he doesn't cover this issue. In fact, 
he references a fictional script which updates the version number in the 
tracked files.

Junio C Hamano wrote:
>> Additionally, I have some stuff currently in master that should not be in
>> the 0.1 release, but should be in the 0.2 release. If I branch and then
>> remove those files from the 0.1 branch, a merge will then remove them
>> from master too? How do I keep them on master but delete them on 0.1 and
>> still be able to merge from 0.1 into master?
> 
> You do not have to fork maint-0.1 branch from the tip of the master.  In
> the earlier parts of the master branch there must be a point where
> everything before are for 0.1 and all things after that are not, and you
> fork from there.  After that, queue changes that are applicable to both to
> the 0.1 branch and merge that to 'master' as necessary, while queueing
> changes not for 0.1 to 'master'.
> 

There might be such a point, yes, but there are also likely commits which 
touch files which should be included and files which should not, so I'd 
probably end up rebasing ancient history of master and or creating a big 
mess.

I think for this situation the best solution is indeed the merge_revert 
commit.

Thanks for the responses.

All the best,

Steve.

  reply	other threads:[~2010-04-06  9:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-05 14:34 How to keep different version numbers in different branches? Stephen Kelly
2010-04-05 17:50 ` Christian MICHON
2010-04-05 18:15 ` Matthieu Moy
2010-04-05 18:51 ` Avery Pennarun
2010-04-05 19:22   ` Matthieu Moy
2010-04-05 19:36     ` Avery Pennarun
2010-04-06 10:06       ` Stephen Kelly [this message]
2010-04-06 11:29         ` Steven Michalske
2010-04-05 19:17 ` Junio C Hamano

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='hpetj1$6af$1@dough.gmane.org' \
    --to=steveire@gmail.com \
    --cc=git@vger.kernel.org \
    /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).