views:

1308

answers:

5

Does TortoiseSVN Revision Graph draw a line from Branch back to the Trunk when I finish a "Merge"?

+1  A: 

From my experience the answer is no, but why don't you try it and tell us. I am sure you aren't going to cancel your merge because tortoise svn may or may not represent it graphicly.

Update based on response TSVN is just a tool to represent what is in SVN, so they have complete freedom to change the way they represent it without having any real world impact :) I am not saying your idea is a bad one, but really the information about the merge is still there if you added to the comments.

hhafez
you are right..i just finished trying it out (after a painful merge). so..how come TSVN shows a line for branch off ...but no line for merge in? What's the rationale behind that?
ShaChris23
A: 

After trying it out on my own, the answer is no.

These are my setup.

TortoiseSVN 1.6.2, Build 16344 - 64 Bit Subversion 1.6.2

Though this doesn't make sense at all...

If TSVN shows a line for branch off, how come there's no line for merge in? What's the rationale behind that?

ShaChris23
+3  A: 

Taking a branch is a copy operation (which is very cheap in svn) and it looks obvious in the logs that is what happened, hence the line. It's obvious (to svn/tortioiseSVN) because you can't make a branch without taking every single artefact from the trunk at the revision you chose. That's why a line is always shown - making a branch is guaranteed to take all your files from the trunk into your branch. Merging back in is different, you can selectively merge in whatever you want.

Merging back in is not a copy but a commit of your diffs from the HEAD (current latest trunk) to your own working copy (your branch). To SVN, it looks like someone took the latest trunk and changed a load of files at once and committed them in.

IMO, a line going back to trunk would be misleading because you could merge and choose the trunks version over your own for every single file - the line would imply you had brought all your changes in but there is actually no guarantee you brought any in.

Neil Trodden
thanks...i like your explanation.
ShaChris23
I'm glad you did! I hope it works out for you.
Neil Trodden
+1  A: 

You may wish to look at Subclipse Revision Graph.

It supports showing merge information as long as the merges were performed by 1.5.x and greater clients and server. (Starting with 1.5 line of SVN, Merge info tracking was added through meta data attached to folders)

The Subclipse tool attempts to show this information, but I've found it highly hit or miss in even working. It's not highly polished but shows extreme promise. Especially if this can be brought back out to TortoiseSVN at some point.

You may also wish to look at Subversion's notes on it's merge implementation.

Scott Markwell
+1  A: 

Speaking from "real world" scenario, it does help a lot if there is a line for merge just like it helps a line for branch. If logs are to be looked at, why even add a line for barnch..all the info is there in log.

But when you have to maintain multiple branches for different customers and merge changes into trunk...it becomes almost unmanageable without a graphical representation (I mean we have tools to make life simple...why use them if you have to sit for hours reading logs).

So, even if SVN/Tortoise can't decide when t make a line, but if user can force a line, I think it will help a lot.

It's true that some of the differences may not have been merged or the merge process itself wasn't executed properly, but that should be left for user to log :-)

FrustratedWithBranches