Hi, I'm using svn 1.6.6 to merge a single revision from trunk to a branch,
and am getting a bunch of seemingly-unneeded mergeinfo. I've read
http://blogs.open.collab.net/svn/2009/11/where-did-that-mergeinfo-come-from.html
, but as far as I can tell, it doesn't address what I'm seeing.
Trunk has a bit of mergeinfo, which seems related to some renames that were
done a while back:
. - /branches/B1:20664-20666
Data\File.zip - /branches/B1/Data/file.zip:20664-20666
Other Data\File.zip - /branches/B1/Other Data/file.zip:20664-20666
Reports\SummaryByPeriod.rpt -
/branches/B1/Reports/SummaryByMonth.rpt:20664-20666
Other Reports\TopNSalesSummary.rpt - /branches/B1/Other
Reports/TopNCustomersSales.rpt:20664-20666
Reports\TopNSalesSummary.rpt -
/branches/B1/Reports/TopNCustomersSales.rpt:20664-20666
Other Reports\SummaryByPeriod.rpt - /branches/B1/Other
Reports/SummaryByMonth.rpt:20664-20666
The branch, NewBranch, was recently created, and the mergeinfo looks the same:
. - /branches/B1:20664-20666
Data\File.zip - /branches/B1/Data/file.zip:20664-20666
Other Data\File.zip - /branches/B1/Other Data/file.zip:20664-20666
Reports\SummaryByPeriod.rpt -
/branches/B1/Reports/SummaryByMonth.rpt:20664-20666
Other Reports\TopNSalesSummary.rpt - /branches/B1/Other
Reports/TopNCustomersSales.rpt:20664-20666
Reports\TopNSalesSummary.rpt -
/branches/B1/Reports/TopNCustomersSales.rpt:20664-20666
Other Reports\SummaryByPeriod.rpt - /branches/B1/Other
Reports/SummaryByMonth.rpt:20664-20666
Now, I cd into NewBranch's WC and do:
svn merge -c 26096 ^/trunk .
--- Merging r26096 into '.':
U Installers\Projects\CA\CA.ism
I now have a ton of mergeinfo on files that previously didn't have any.
svn propget svn:mergeinfo -R . [extra line breaks added to hopefully make it
easier to read]
Other Data\Stored Procedures - /trunk/Other Data/Stored Procedures:26096*
/branches/B1/Other Data/Stored Procedures:20664-20666
. - /trunk:26096
/branches/B1:20664-20666
Data\Views\v1.sql - /trunk/Data/Views/v1.sql:26096
/branches/B1/Data/Views/v1.sql:20664-20666
Other Data\Views\flatten.bat - /trunk/Other Data/Views/flatten.bat:26096
Other Data\Views\v2.sql - /trunk/Other Data/Views/v2.sql:26096
/branches/B1/Other Data/Views/v2.sql:20664-20666
Other Data\Views\v3.sql - /trunk/Other Data/Views/v3.sql:26096
/branches/B1/Other Data/Views/v3.sql:20664-20666
[ ... a bunch more in Other Data\Views ... ]
Data\Views\v4.sql - /trunk/Data/Views/v4.sql:26096
/branches/B1/Data/Views/v4.sql:20664-20666
[ ... a bunch more in Data\Views ... ]
Other Data\Stored Procedures\sp1.sql - /trunk/Other Data/Stored
Procedures/sp1.sql:26096
/branches/B1/Other Data/Stored Procedures/sp1.sql:20664-20666
[ ... a bunch more in Other Data\Stored Procedures ... ]
Data\Stored Procedures\flatten.bat - /trunk/Data/Stored
Procedures/flatten.bat:26096
Data/Stored Procedures/sp2.sql:26096
/branches/B1/Other Data/Stored Procedures/sp2.sql:20664-20666
[ ... a bunch more in Data\Stored Procedures ... ]
Other Data\Stored Procedures\flatten.bat - /trunk/Other Data/Stored
Procedures/flatten.bat:26096
Other Data\Views\flattenall.bat - /trunk/Other Data/Views/flattenall.bat:26096
Data\Stored Procedures\flatten_a.sed - /trunk/Data/Stored
Procedures/flatten_a.sed:26096
Data\Stored Procedures\flatten_b.sed - /trunk/Data/Stored
Procedures/flatten_b.sed:26096
Other Data\Stored Procedures\flatten_a.sed - /trunk/Other Data/Stored
Procedures/flatten_a.sed:26096
Other Data\Stored Procedures\flatten_b.sed - /trunk/Other Data/Stored
Procedures/flatten_b.sed:26096
Data\Views - /trunk/Data/Views:26096*
/branches/B1/Data/Views:20664-20666
Data\Views\flatten_a.sed - /trunk/Data/Views/flatten_a.sed:26096
Data\Views\flatten_b.sed - /trunk/Data/Views/flatten_b.sed:26096
Other Data\Views - /trunk/Other Data/Views:26096*
/branches/B1/Other Data/Views:20664-20666
Other Data\Views\flatten_a.sed - /trunk/Other Data/Views/flatten_a.sed:26096
Other Data\Views\flatten_b.sed - /trunk/Other Data/Views/flatten_b.sed:26096
Data\Views\flattenall.bat - /trunk/Data/Views/flattenall.bat:26096
Data\Stored Procedures - /trunk/Data/Stored Procedures:26096*
/branches/B1/Data/Stored Procedures:20664-20666
Data\Views\flatten.bat - /trunk/Data/Views/flatten.bat:26096
Data\File.zip - /trunk/Data/File.zip:26096
/branches/B1/Data/file.zip:20664-20666
Other Data\File.zip - /trunk/Other Data/File.zip:26096
/branches/B1/Other Data/file.zip:20664-20666
Other Reports\SummaryByPeriod.rpt - /trunk/Other
Reports/SummaryByPeriod.rpt:26096
/branches/B1/Other Reports/SummaryByMonth.rpt:20664-20666
Reports\SummaryByPeriod.rpt - /trunk/Reports/SummaryByPeriod.rpt:26096
/branches/B1/Reports/SummaryByMonth.rpt:20664-20666
Reports\TopNSalesSummary.rpt - /trunk/Reports/TopNSalesSummary.rpt:26096
/branches/B1/Reports/TopNCustomersSales.rpt:20664-20666
Other Reports\TopNSalesSummary.rpt - /trunk/Other
Reports/TopNSalesSummary.rpt:26096
/branches/B1/Other Reports/TopNCustomersSales.rpt:20664-20666
It's probably relevant to note that the various flatten* files are externals:
Other Data\Stored Procedures - -r26096
^/Build%20Scripts/flattensp/flatten.bat flatten.bat
-r26096 ^/Build%20Scripts/flattensp/flatten_a.sed flatten_a.sed
-r26096 ^/Build%20Scripts/flattensp/flatten_b.sed flatten_b.sed
Other Data\Views - -r26096 ^/Build%20Scripts/flattenview/flatten.bat flatten.bat
-r26096 ^/Build%20Scripts/flattenview/flatten_a.sed flatten_a.sed
-r26096 ^/Build%20Scripts/flattenview/flatten_b.sed flatten_b.sed
-r26096 ^/Build%20Scripts/flattenview/flattenall.bat flattenall.bat
Data\Stored Procedures - -r26096 ^/Build%20Scripts/flattensp/flatten.bat
flatten.bat
-r26096 ^/Build%20Scripts/flattensp/flatten_a.sed flatten_a.sed
-r26096 ^/Build%20Scripts/flattensp/flatten_b.sed flatten_b.sed
Data\Views - -r26096 ^/Build%20Scripts/flattenview/flatten.bat flatten.bat
-r26096 ^/Build%20Scripts/flattenview/flatten_a.sed flatten_a.sed
-r26096 ^/Build%20Scripts/flattenview/flatten_b.sed flatten_b.sed
-r26096 ^/Build%20Scripts/flattenview/flattenall.bat flattenall.bat
The externals originally didn't have the "-r26096"; I added that in both
trunk and the branch to see if it'd change anything, but it didn't. It seems
that the extra mergeinfo has something to do with the externals though...
each directory that has an external definition gets non-inheritable
mergeinfo for /trunk, and every file in that directory gets inheritable
mergeinfo for the same revision.
Why is svn doing that? Putting non-inheritable mergeinfo on the directory,
then putting the same mergeinfo on the files in that directory seems to be
the equivalent of just putting inheritable mergeinfo on the directory. Is it
to prevent mergeinfo from propagating down to any new files/directories that
are added later? Not really sure what the purpose of that would be though...
In any case, is there something I can do to have it not touch a bunch of
mergeinfo each time I merge to this branch?
Received on 2010-01-09 02:10:03 CET