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

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -