On 21/02/09 20:00, Luke Kanies wrote:
> On Feb 21, 2009, at 2:48 AM, Brice Figureau wrote:
>>> This all makes sense except for one bit:  How do we track what's been
>>> merged into next vs. master?
>> With the redmine tickets?
>> I understand that's not practical because it is out of band.
> 
> Well, I guess we could have different statuses in the tickets.  I  
> *think* redmine supports pretty good API-style calls with its restful  
> URIs, so maybe we could make some decent CLI tools for managing what's  
> in where.

That's a solution.

>>> That is, given, say, 15 topic branches published since the last
>>> release, how does the release maintainer track what's been applied to
>>> next, what's been applied to master, and what's still to be applied
>>> anywhere?
>> Re-applying a patch won't work since it's already applied. At worst  
>> you
>> have lost some time.
> 
> I guess that's true; just apply them all each time, I suppose.
> 
>>> I think it's related to the fact that the document mentions always
>>> having a merge commit (as opposed to how we currently do it, where we
>>> fast-forward all of our merges to explicitly avoid that merge  
>>> commit),
>>> but a) I don't know how to force a merge commit in a fast-forward
>>> situation and 2) I don't really see how it solves our problem unless
>>> James is just supposed to read 'git log' all day.
>> git merge -ff
>> this merges with fast-forward but at the same time produces a merge  
>> commit.
> 
> Um.  That's awesome.  A year ago I would have blustered that it was  
> silly to rebase and then have the merge commit, but I now clearly see  
> the benefit of both.

Sorry, that's git merge --no-ff, but that's the meaning I intended.

>> The workflow for a maintainer can be:
>> $ git fecth super-duper-repository
>> $ git checkout -b newfeature super-duper-repository/newfeature
>> $ git rebase master
>> $ git checkout master
>> $ git merge -ff newfeature
>> $ git branch -D newfeature
> 
> Yep.
> 
>>>> Clearly master will track major and middle version number X.Y
>>>> Since we also wants minor version increments, we should branch
>>>> master on
>>>> each release with a branch named from the version and/or codename  
>>>> (if
>>>> you still want them).
>>>> Bug fixes on this releases can be:
>>>> * backported from master
>>>> or
>>>> * applied on those branches only if the code has been
>>>> changed/refactored in master
>>>> Each subrelease on those branches will increase only the minor  
>>>> number.
>>>>
>>>> What this scheme can give us is:
>>>> * an assurance that there are not too many changes between minor
>>>> version release (unlike what we did between 0.24.5 and 0.24.6 with  
>>>> all
>>>> the stuff I contributed).
>>>> * an assurance we'll be doing more frequent middle release
>>>> (0.25,0.26...)
>>>> * an always (or as much as possible) stable moving forward master
>>>> * more people trying the master branch (we could have a nightly  
>>>> build
>>>> of the master tip), or running the current master.
>>>>
>>>> To summarize, I like the way the git dev have architectured their
>>>> repositories.
>>> I think this all basically makes sense; we just need to find a
>>> relatively low-overhead way of doing it.
>> Yes, that's the whole point :-)
>> Unfortunately I'm working only on projects involving a small number of
>> people working almost at the same place on a handful of branches, so  
>> my
>> at-work git workflow is not as complex as yours (and clearly not as
>> distributed).
> 
> 
> And ours isn't nearly as complicated as others, but we need to make it  
> just a bit more complicated - although I prefer "sophisticated", it  
> gives a better impression. :)

:-)

-- 
Brice Figureau
Days of Wonder
http://www.daysofwonder.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to