svn merge --dry-run Show svn diff -
i'm working codebase has (historically) been merged hand rather via svn merge
. i'm trying change proving how useful merge - when dry run, this:
$ svn merge [[repo url]] . -c 21355,21358,21364,21370,21371,21373 --dry-run --- merging r21355 '.': u [[file 1]] --- merging r21355 '[[dir]]': u [[dir]]/[[file 2]] u [[dir]]/[[file 3]] --- merging r21358 '[[dir]]': u [[dir]]/[[file 4]] --- merging r21364 '[[dir]]': u [[dir]]/[[file 2]] c [[dir]]/[[file 4]] --- merging r21370 '[[dir]]': u [[dir]]/[[file 5]] --- merging r21371 '[[dir]]': u [[dir]]/[[file 5]] --- merging r21373 '[[dir]]': c [[dir]]/[[file 5]] u [[dir]]/[[file 6]] summary of conflicts: text conflicts: 2
i have 2 files (listed 4 , 5, respectively), survive 1 merge pop conflict last one. i'm trying figure out conflict now, , see if can resolve it. i'd if can force svn spit out diff of 2 conflicted changes.
i checked out new working copy of narrowest directory, , when ran merge without dry run, got:
--- merging r21355 '.': u [[file 3]] --- merging r21358 '.': u [[file 4]] --- merging r21364 '.': g [[file 4]] --- merging r21370 '.': u [[file 5]] --- merging r21371 '.': g [[file 5]] --- merging r21373 '.': g [[file 5]]
(files 1, 2, , 6 reside elsewhere)
so, i'm confused - dry run reports conflict, when merge run, it's successful? intended behaviour? i'll admit i'm no svn wizard, i'm left quite bewildered.
this expected behavior --dry-run
, not modify filesystem.
because specified individual revisions, revisions being applied separately, 1 after another. g
in merge output means merge occured - svn made change file had local change.
in detail:
- r21358 modifies file 4.
- in normal merge, file 4 has local changes , r21364 merges changes because diff matches current state of file.
- in dry-run, file 4 not changed r21358. file not match next revision, r21364, expects be, conflict instead.
- the same things happens r21373 - either r21370 or r21371 modified same part of file applies to.
- r21371 not suffer because affects different part of file 5 r21370.
once you're past these hiccups, you'll able merge of these in 1 go, without having specify individual revisions, , difference between dry-run , regular merge go away.
Comments
Post a Comment