I don't fully understand the difference between the three Tortoise SVN merge options. My understanding is as follows:
- Merge a range of revisions - use to apply changes to the Trunk to a Branch when the Branch is incomplete.
- Reintegrate a branch - use when a branch is complete.
- Merge two different trees - not sure
I have read this: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html. I have also read a few questions on here e.g. this: What are the differences between merging a range of revisions vs. reintegrate in SVN?.
It appears to me that they all do the same thing, but I am obviously wrong. Why are there three options?
The accepted answer to the question in the StackOverflow link suggests that Tortoise SVN uses a different approach when identifying the difference between a branch and the Trunk i.e. it does not use revision numbers (it just looks for differences between the files).
The documentation suggests to me that "Merge two different trees" is used instead of "Merge a range of revisions" if there are no version numbers i.e. simply look at the head. Surely you can do this with: "Merge a range of revisions"?