[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Question to Merging and Merge Tracking

From: Brian Gideon <briangideon_at_yahoo.com>
Date: Fri, 19 Sep 2008 13:45:44 -0700 (PDT)

On Sep 19, 8:59 am, "Wim Coenen" <wcoe..._at_gmail.com> wrote:
> After some more research it turns out that my above statement is inaccurate.
> What happens is that once a file/folder has explicit mergeinfo, each
> subsequent merge to the branch will update that mergeinfo even if the
> file/folder is unrelated. This is annoying as it introduces more and more
> clutter in the changelist for each merge.
>
> To avoid this, only merge to the "root" folder of the branch, for example
> "/branches/maintenance2.x". None of the files or folders below
> "/branches/maintenance2.x" should then get mergeinfo. Follow the advice athttp://svnbook.red-bean.com/en/1.5/svn.branchmerge.advanced.html#svn....
>
> Unfortunately, even if you merge only at the "root" folder of the branch,
> empty svn:mergeinfo properties can still appear on individual files and
> folders when they are copied, to indicate that they have not received the
> same merges as their siblings. This introduces the same issue again. The
> safest and easiest solution is probably to accept that merges can cause
> svn:mergeinfo updates all over the place. Don't worry about it and just
> commit them. Let's hope that future subversion releases will alleviate or
> hide the log clutter in some way.
>
> HTH,
>
> Wim Coenen

That's correct. Subversion is putting supurfluous mergeinfo on
individual files. It is a known issue. If you do a lot of
refactoring (like I do) then eventually the svn:mergeinfo property
will wind up on every single file in the repository and as a result
every merge will touch those files regardless of whether not their
contents changed. I also believe it will cause some strange results
in the show log dialog box. Note, that this is not a TortoiseSVN
problem, but a problem with Subversion itself.

What I have been doing to work around the problem is to remove the
unneeded svn:mergeinfo properties before I do a commit. If you follow
the best practice of only merging at the root then only root should
ever have the svn:mergeinfo property. That will make things easier.
You can then create an empty svn:mergeinfo property all children of
the root (hopefully there aren't too many at that level) and then
recursively delete the ones you created. That will wipe out all
instances of the property below the root. That will preserve
mergeinfo only on the root where it is really needed.

I'm actually a little surprised that this hasn't received a lot of
attention. Aside from cluttering the log it will prevent you from
doing a reintegrate merge.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-09-19 22:49:09 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.