- You done all things correct
- For such "one-liners" you couldn't reverse merge without conflicts (and I can't see any sign of it in your message) , which must be resolved (probably by hand)
- If you use ancient SVN's version, it can give you additional headache
- If any case clean reverse merge can not affect any revisions, not included in merge range - reverse merge by desing is applying reversed patch from revisions in question only
Sample test in my repo with your data
>svn log
------------------------------------------------------------------------
r5 | Badger | 2015-02-01 12:03:39 +0500 (Вс, 01 фев 2015) | 1 line
Change 3
------------------------------------------------------------------------
r4 | Badger | 2015-02-01 12:03:00 +0500 (Вс, 01 фев 2015) | 1 line
Change 2
------------------------------------------------------------------------
r3 | Badger | 2015-02-01 12:02:02 +0500 (Вс, 01 фев 2015) | 1 line
Change 1
------------------------------------------------------------------------
r2 | Badger | 2015-02-01 12:01:22 +0500 (Вс, 01 фев 2015) | 1 line
Initial state
------------------------------------------------------------------------
r1 | Badger | 2015-02-01 12:00:01 +0500 (Вс, 01 фев 2015) | 1 line
Imported folder structure
------------------------------------------------------------------------
Your changes are in my r3, as you can see
>svn diff -c 3
Index: foo.js
===================================================================
--- foo.js (revision 2)
+++ foo.js (revision 3)
@@ -1,2 +1,4 @@
var x = "hello";
+var y = "blah";
console.log(x);
+console.log(y);
with HEAD-state
>svn cat foo.js
var x = "hello";
var y = "blah";
console.log(x);
console.log(y);
var z = "world";
console.log(x + " " + z);
and I can't reverse-merge it without conflicts (diff is context-aware) (my repo is single-file, thus I can use .
)
>svn merge -c -3 .
--- Reverse-merging r3 into '.':
C foo.js
--- Recording mergeinfo for reverse merge of r3 into '.':
G .
Conflict discovered in file 'foo.js'.
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
(mc) my side of conflict, (tc) their side of conflict,
(s) show all options
and for such conflicts best strategy may be merging using any pre-configured GUI-tool

or editing file in-place (you know, which result you want to get)