You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rainer Jung <ra...@kippdata.de> on 2011/12/04 14:44:23 UTC
Re: Stray svn:mergeinfo on files
On 30.11.2011 01:02, Graham Leggett wrote:
> Hi all,
>
> While merging I am getting a lot of stray svn:mergeinfo changes on arbitrary files, for example:
>
> M modules/core/mod_watchdog.c
> M modules/core/mod_so.c
> M modules/core/Makefile.in
> M modules/core/config.m4
> M modules/core/mod_watchdog.dsp
> M modules/core/mod_watchdog.h
> M modules/core/mod_so.h
>
> According to various googling[1][2], the solution is to remove the svn:mergeinfo property from all files except for the root. Can anyone confirm whether this makes sense?
>
> [1] http://stackoverflow.com/questions/1496884/subversion-marks-unmodified-files-as-modified
> [2] http://stackoverflow.com/questions/767418/remove-unnecessary-svnmergeinfo-properties
I talked to Hyrum from the svn project about this. The experience of
merging from trunk to a branch differs a bit between the httpd and e.g.
the Tomcat project. The commits in the Tomcat project always only
produce a single mergeinfo change for the top level directory.
I think the explanation is the following: as soon as you merge not a
full revision or commit only part of the merge w.r.t. which files are
involved, you get mergeinfo for individual files.
Once you end up having those, each merge will update those mergeinfos,
even if the files are not involved at all in the later merges. This
leads to the annoying mergeinfo changes in the log mails.
As long as you always merge a full revision and commit the full merged
workspace, even including additional changes, you should only end up
with one mergeinfo at the top level directory. That's how we do it in
Tomcat land.
Now svn 1.7 detects the situation and as I understood Hyrum it will no
longer update the mergeinfo for the files that are not part of the merge.
So there are a couple of options:
1) remove the additional mergeinfos except for the top level directory
2) like 1), but also add the missing ones to the top level mergeinfo
In addition:
- always merge and commit completely to avoid the additional
mergeinfos to reappear
and/or
- upgrade you clients to 1.7 so that even if there are additional
mergeinfos, merges will only update the ones that are related to
the actual merge.
Regards,
Rainer