0

I ran commands like

svn merge -r1009:1007 .
svn ci

In fact, those are the exact commands I ran.

I've since made some changes and now I want the changes from commit 1008 reapplied to the working copy (which is at HEAD).

I tried

svn merge -r1007:1008 .

And no output was made and a diff shows no changes.

How do I re-apply the change from commit 1008?

This is similar to the question in Undo reverse merge in Subversion, or double-reverse merge, but note that I reverse merged 2 commits and only want to re-apply the one.

Community
  • 1
  • 1
Jason
  • 11,709
  • 9
  • 66
  • 82

1 Answers1

0

Try this, at your own risk!

svn merge -r1007:1008 --ignore-ancestry .

The problem with this solution is that it ignores svn mergeinfo. The mergeinfo helps prevent changes from being applied multiple times and intelligently handle merges.

In the case of the OP this will cause the mergeinfo to be corrupt because now SVN thinks that the reverse merge from

svn merge -r1009:1007 .

has been applied, but now only half of it has been applied.

If you're careful not to reverse merge the reverse merge then things should be good.

Jason
  • 11,709
  • 9
  • 66
  • 82