tags:

views:

4955

answers:

5

How am I supposed to use merge with the latest version of Tortoise SVN? I'm an old clearcase guy, and I've never understood it. When I merge a branch back into the trunk, I just select range of revisions and then leave the version numbers blank and it starts spitting out all kinds of files that its merging. It basically looks like its adding and modifying everything.

The funny thing is, when the merge is done, the only files that are actually touched are the files I updated, so it seems like everything worked fine(and after running a few tests, this seems to be the case). I just get scared by everything getting spit out of the merge log, it doesn't give me any indication of whats really happening.

I'm guessing I should put something in the version number box? Tortoise seems to indicate that won't be necessary.

+8  A: 

TortoiseSVN contains two notions of "merge":

  1. The TortoiseMerge tool, which is the graphical diffing tool that comes with TortoiseSVN
  2. Merging, as in "branching and merging", which is a Subversion concept (which is what you appear to be referring to)

The latter is a classic source code control concept that differs between products. I know nothing about ClearCase, so I can't really attempt any conversion explanation, but I can point you in the direction of the Subversion book, which is an excellent guide, and which contains a really good explanation of how branching and merging work in the Subversion world.

Rob
A: 
CMS
A: 

So it seems like what I missing is the fact that the "Range of Revisions" should not be blank. To get functionality similar to what I was used to, I needed to put in the revision that created the branch-HEAD. So if revision 289 created my branch, then I needed to put 289-HEAD in the revisions to merge field and the results would match what I expected.

Jonathan Beerhalter
I have always left Range of Revisions blank and it works fine. Any "excess" revisions should not cause any problem.
JoelFan
+1  A: 

Sorry if this is coming in a bit late, but one of the things hiding deep down in the documentation is how a reintegrate merge works.

If you're doing a TortoiseSVN reintegrate from a branch path to the trunk, your working copy should be a checkout of the trunk, not the branch path as you might expect. The reintegrate dumps changes into your working copy which you then commit to the trunk.

Glazius
+1  A: 

For click-by-click instructions, see my answer:

http://stackoverflow.com/questions/1461922/what-is-the-simplest-way-to-do-branching-and-merging-using-tortoise-svn

JoelFan