[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-internals
Subject:    Re: [PHP-DEV] [RFC] Choosing a distributed version control system
From:       Joey Smith <joey () joeysmith ! com>
Date:       2011-08-09 4:30:16
Message-ID: 20110809043016.GB21131 () joeysmith ! com
[Download RAW message or body]

On Mon, Aug 08, 2011 at 10:44:12AM -0700, Stas Malyshev wrote:
> Hi!
> 
> On 8/8/11 9:34 AM, Johannes Schlüter wrote:
> >       * It is said that the preferred way to get a patch from one branch
> >         to another is by doing a merge operation in the VCS. Depending
> >         on the timing we will most likely end up with two (trunk + 5.4)
> >         or, more likely, three (+ 5.3) old branches which are active.
> >         Will it be possible to merge between them using the VCS's merge
> >         facilities or will we end up cherry-picking there? If this is
> 
> Depending on the direction of merges, it may work as merge (if you
> want all changes, i.e. merging up) or as cherry-pick (if you want to
> merge down). Or you may make a branch from your changes and merge it
> where you like.
> What's good with cherry-picking, you can still have full commits so
> you know who did it and why and can relate to the original source.
> 
> >         possible and we continuously merge these branches what are the
> >         strategies for preventing specific changes from being merged
> >         with the suggested systems (git and hg)?
> 
> I'd suggest putting changes always in the lowest (oldest) branch
> first and then merge the branches up to newest. This way we ensure
> the changes are always in sync. But there can be challenges if there
> is substantial code change between branches, of course, so sometimes
> we'd have to cherry-pick or even do something more interactive, git
> merge is good but not *that* good :)

I've been a long-time fan of the "nvie" git workflow laid out at [1].
In fact, if you're using git as your DVCS, there's even a bunch of
"porcelain" [2] to make it easier to manage your trees.

I'm not saying that other tools aren't capable of the same workflow,
just pointing out one solution that I've found works pretty well in
real-world environments.


[1] http://nvie.com/posts/a-successful-git-branching-model/
[2] https://github.com/nvie/gitflow

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic