views:

48

answers:

0

We have a SVN repository structure with feature branches, where we finally do a svn merge --reintegrate into the trunk. This usually works fine (so far we had about 200 feature branches reintegrated). Now, when trying svn merge --reintegrate, we received the following error message:

svn: Reintegrate can only be used if revisions 94538 through 104333 were previously merged from /prod to the reintegrate source, but this is not the case: /cr/CR_0176
Missing ranges: /prod:94538-96446,101947-104321

Examining the svn:mergeinfo properties on /cr/CR_0176, this shows:

/prod:94538-96446*,96447-101946,101947-104321*,104322-104328

(in addition to a lot of revision numbers from other CRs)

Q1: What is the meaning of this asterisk in the mergeinfo properties? I do not find any information about this at all?

Q2: Any idea how this could have been caused?

Looking into the data, the changes in these two ranges which are said to be missing are really in the /cr/CR_0176 branch! There are log messages telling clearly that such merges from prod to CR have been done, and we could identify the expected data from prod in the CR!

Some additional revision and mergeinfo data:
- At rev 94538, the branch was created.
- At rev 96481, the first merge from prod -> CR was done, this caused a mergeinfo property /prod:94538-96446* (but actually, files were modified!)
- At rev 98437, another merge prod -> CR was done, this gave mergeinfo /prod:94538-96446*,96447-98435
- Several other merges prod -> CR after this revision also look ok.
- At rev 101947, a merge prod -> CR gave /prod:94538-96446*,96447-101946
- At rev 102755, a merge prod -> CR gave /prod:94538-96446*,96447-101946,101947-102752*

Trying yet another merge prod -> CR simply did not help anyhing.

Finally, I just edited the mergeinfo properties on the feature branch, and kicked out the asterisks:

/prod:94538-96446,96447-101946,101947-104321,104322-104328

After the commit of this, we retried the svn merge --reintegrate, and now this worked fine!

Q3: Was this the correct way to get out of the mess, or what else could we have done?

Thanks for any light on this issue.

Regards Christoph