osullic
osullic

Reputation: 612

Force svn to merge changes from specific revisions into my working copy

A colleague of mine implemented new features in his svn branch, which is called dev7.
I want to merge those new features into my branch, which is called dev6. But I only want to merge commits from revision 28537 to 28979 – the dev7 branch has moved beyond 28979 now.

I tried to use this command:
svn merge -r 28537:28979 --accept postpone svn+vm-ssh://svn.example.com/svn/repos/dev/dev7 .

It seemed to work, but then I made a mess of manually resolving the conflicts, and decided to start from scratch.
I ran svn revert -R ., followed by the above command again, but now no changes are brought into my working copy. I guess svn believes the merge has already been done?

(This was all done over the course of a few days, so I hope I'm remembering the sequence of events correctly!)

How can I force svn to merge the lines changed between 28537 and 28979 into my working copy. Or maybe my mental model of how this all should work is flawed?

Upvotes: 0

Views: 475

Answers (2)

bahrep
bahrep

Reputation: 30662

As @sdanil has already mentioned, it is possible that you had committed changes to the svn:mergeinfo property into your branch dev6. I.e., now svn:mergeinfo on dev6 includes the range of revisions 28537:28979. This makes your Subversion client think that these revisions have already been merged, and it does not bring actual changes into your branch's working copy when you attempt the merge again.

If its the case, then you could undo changes made to svn:mergeinfo in dev6 and run your svn merge command again. Please see SVNBook to learn more about behavior:

Upvotes: 1

sdanil
sdanil

Reputation: 76

There is a chance that you have accidentally committed svn:mergeinfo changes into the dev6 branch.

You can run svn propget svn:mergeinfo and check if dev7:28537-28979 range appears in the returned values.

Upvotes: 1

Related Questions