Before cutting the release, I start a new release branch, do the maven release, 
then when I'm happy, finish the release branch, THEN push to origin

$ git flow release start 3.4.5
$ mvn release:prepare release:perform
$ git flow release finish 3.4.5
$ git push && git push --tags

At least thats my work flow.  There may be one or two fix up patches before I 
finish the release branch, if I need to roll back the release and tweak 
something ( I'll git tag -d the maven made tag if things for that far ).

After the git flow release is finnished, both master and develop sit at the 
next -SNAPSHOT version, this actually works out nice as it means you can then 
at some point do a "git flow hotfix start..." if need be to patch the last 
release ( which branches from master ).

Master will always be the code at the time the git flow release branch 
finished, it's not necessarily a direct match to your maven repo.


As for our feature branches, we also use Gerrit for code review, so tend to 
start a feature for a bug ticket, do some code, push it to gerrit for review 
and ONLY finish the git flow feature once its passed the review.



On 26/07/2011, at 7:30 PM, Lars Fischer wrote:

> Hello Mark,
> 
> 2011/7/25 Mark Derricutt <[email protected]>
>> 
>> We're using gitflow/maven quite nicely, I use for my release plugin:
>> 
>>              <plugin>
>>                    <groupId>org.apache.maven.plugins</groupId>
>>                    <artifactId>maven-release-plugin</artifactId>
>>                    <version>2.1</version>
>>                    <configuration>
>>                        <goals>deploy</goals>
>>                        <pushChanges>false</pushChanges>
>>                        <localCheckout>true</localCheckout>
>>                    </configuration>
>>                </plugin>
> 
>> In this configuration maven does a local checkout, and doesn't require a git 
>> push during release.
>> This means after a maven release, I do my git-flow release, THEN push the 
>> master/develop branch to my origin.
> 
> 
> I'm sorry, I don't understand. You first run the maven-release-plugin?
> On which gitflow-branch (develop, feature, release)?
> 
> I think the maven release results in a NON-SNAPSHOT tag and finaly
> creates a new SNAPSHOT-pom on head. If you now do finish the gitflow
> release, this SNAPSHOT-pom will go on the master branch. But gitflow
> defines master as the stable production branch. There should no
> SNAPSHOT-pom exist on the master branch.
> 
> Am I mistaken?
> 
> Regards,
> Lars
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to