[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [DEV] New git workflow
From: |
Bastien |
Subject: |
Re: [O] [DEV] New git workflow |
Date: |
Tue, 20 Mar 2012 11:40:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) |
Hi Achim,
Achim Gratz <address@hidden> writes:
> Bastien <address@hidden> writes:
>> The main problem I see With this workflow is that releases are made
>> from two different branches: bugfix releases are made from maint and
>> major releases are made from master. This doesn't look right to me.
>
> That ain't necessarily so. IMHO, the release always has to be done from
> maint (that's the whole purpose of it), preceded by a merge from master
> if and only if a major release is done.
Agreed. What I want on top of this is a to have a branch where *every*
commit corresponds to a single release.
>> - master: the main persistent branch. This is were regular development
>> goes. This branch is merged back to the maint branch when we release
>> a new major version. No release happens directly from this branch.
>>
>> - maint: the "production" persistent branch. This branch is dedicated
>> to the release process: when hot fixes are hot enough, we merge the
>> hotfix branch to the maint branch and release a bugfix release. When
>> the master branch (where hot fixes are also merged to) is mature and
>> well tested, we merge master into maint and release a major version.
>
> So far no deviation from today.
There is one important deviation: so far we could commit changes to
maint and _not_ make a release. From now on, every commit to maint
should correspond to a release.
> All things considered, the hotfix branch and maint
> should almost always point to the same commit. In other words, all
> hotfix branches should merge into maint first and then maint back into
> master.
No. All hotfix branches should merge into master regularily. When
hotfix contains enough fixes for a bugfix release, then we merge it to
maint, and process with release.
My main goal is this: have a branch with one commit = one release.
>> Here are the advantages I see:
>>
>> 1) *all releases happen on the same branch* (the maint branch): it is
>> easier to keep this branch in sync with Emacs and we can also add
>> git hooks to automate the release process.
>
> See above, that was always how it was supposed to work.
Yes.
--
Bastien