Hi Everyone, 

At the moment we do all of our work on /trunk and also have 
/branches/releases/1.0
When we have enough issues, we mark the ready / required issues with a new 
release milestone and I go about the task of merging the required changes from 
trunk to the release branch.

Here is what I am currently doing, that is giving me some issues, and I am 
hoping someone might be able to see what I am doing wrong / have some advice / 
comments to better the process I am using.

Let's assume that I have multiple completed issues ready to merge from trunk 
that will become the "Changes" from the last version.
Let's also assume that I have multiple subversion commits per issue - sometimes 
~20 commits can be assigned against an issue.
Let's also assume that the very same files that have the required changes to go 
to the new release - have other, not-ready for release changes made to them too.

The scenario seems pretty ordinary to me - but I could, of course, be 
completely wrong.

Anyway,
So I open the first issue, notice there are 3 commits assigned to this issue.
The first commit has 3 files,
I do a cherry pick merge from trunk for each of the individual files listed in 
the issue.

(Ignoring the paths...)
svn merge -c 1234 /trunk/myPath/myFile1.c /branches/release/myPath/myFile1.c
svn merge -c 1234 /trunk/myPath/myFile2.c /branches/release/myPath/myFile2.c
svn merge -c 1234 /trunk/myPath/myFile3.c /branches/release/myPath/myFile3.c

I manually resolve any conflicts that I may have.

I then open the 2nd issue and repeat the process above as required for the 
change sets listed in the 2nd issue.

A "problem" I am having is that I tend to get a lot of Merge conflicts doing it 
this way. 

But my biggest problem and the purpose for this email is;
I might have a quite a few helpdesk issues to create a new release from.
The same file might be edited in numerous issues.
I often find myself doing a merge of a revision number less than one I have 
already performed.
(depending on the order that I do the issue merging, of course)

And "oddly" to me - I find at times when this is the case that my initial merge 
to the release branch is negated / overwritten.

I am certain that it is a usage issue - but short of somehow ensuring that I do 
all the required merges in order - which is simply just too difficult to 
achieve - I find myself constantly battling with ensuring that the release 
branch is updated with all that this is necessary.

If anyone has any ideas I would be most grateful.

- Gavin

Reply via email to