40

I have a couple of fixes I've done on a branch that I want merged back into the trunk. I do not want to merge the whole branch into the trunk, just the few branch checkins I've done. What's the correct syntax for doing this?

TY, Fred

Xavi
  • 20,111
  • 14
  • 72
  • 63
fred basset
  • 9,774
  • 28
  • 88
  • 138
  • Did the_mandrills answer work? I have the same problem but since you haven't accepted I'm not sure if I should try it or not. – Joel Peltonen Jan 07 '14 at 09:15

2 Answers2

39

I'm not sure exactly what you're asking as the title talks about merging single files but the text of the question talks about single revisions. In the case of merging single revisions you need: (to merge the changes committed in revisions 100, 105, 115)

cd trunk
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch .

If you want to merge only the part of revision 100 that affects file.cpp:

cd trunk/path/to/file.cpp
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp
the_mandrill
  • 29,792
  • 6
  • 64
  • 93
2

You want to merge the whole branch. Starting in svn 1.5, information on what was merged is stored in the repo - in the svn:mergeinfo property. If you merge an individual file svn:mergeinfo will be set deep in the tree. When someone tries to do a merge from the top of the project, svn:mergeinfo won't exist and they'll have to decide to take that changeset. If you really don't want it to get merged you should merge from the top of the project and then only commit the top level directory (svn:mergeinfo will be the only change) and the file you want.

Way more than anyone ever wanted to know about mergeinfo

thekbb
  • 7,668
  • 1
  • 36
  • 61