[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-issues
Subject:    [Issue 3975] New - adds with explicit mergeinfo don't get mergeinfo
From:       pburba () tigris ! org
Date:       2011-07-29 15:26:41
Message-ID: iz3975 () subversion ! tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=3975
                 Issue #|3975
                 Summary|adds with explicit mergeinfo don't get mergeinfo descr
                        |ibing merge which added them
               Component|subversion
                 Version|1.7.x
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|libsvn_client
             Assigned to|issues@subversion
             Reported by|pburba






------- Additional comments from pburba@tigris.org Fri Jul 29 08:26:40 -0700 2011 \
------- When a subtree is added by a merge, if the incoming subtree has its own \
explicit mergeinfo, we currently don't update that mergeinfo to describe the merge. 
Worst case this causes spurious merge conflicts in subsequent merges, best case
it results in wasted time on noop editor drives (with the attendant merge
notifications which are possibly confusing since there may be no local
modifications post-merge).

We can see this in our own repository on the
^/subversion/branches/gpg-agent-password-store branch in r1139384 'Sync the
gpg-agent-password-store branch with trunk'.

In that sync merge, the subtree
gpg-agent-password-store/subversion/libsvn_subr/svn_temp_serializer.c is added:

c:\SVN\sandbox\merge-mem-use\gpg-agent-password-store>svn log
^^/subversion/branches/gpg-agent-password-store@1139384 -r1139384 -v
------------------------------------------------------------------------
r1139384 | stsp | 2011-06-24 12:51:56 -0400 (Fri, 24 Jun 2011) | 2 lines
Changed paths:
   M /subversion/branches/gpg-agent-password-store
<SNIP>
   A
/subversion/branches/gpg-agent-password-store/subversion/libsvn_subr/svn_temp_serializer.c
 (from /subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c:1139365)
<SNIP>
   M /subversion/branches/gpg-agent-password-store/win-tests.py

Sync the gpg-agent-password-store branch with trunk.

------------------------------------------------------------------------

In r1139384 the root mergeinfo is updated as expected for /trunk, catching up
from the last sync merge:

C:\SVN\sandbox\merge-mem-use\gpg-agent-password-store>svn diff --depth empty
^^/subversion/branches/gpg-agent-password-store@1139384 -r1139383:1139384
Index: .
===================================================================
--- .   (revision 1139383)
+++ .   (revision 1139384)

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /subversion/branches/integrate-io-improvements:r1068684-1072297
   Merged /subversion/trunk:r1041571-1139365
   Merged /subversion/branches/integrate-txdelta-caching:r1072541-1078213
   Merged /subversion/branches/integrate-stream-api-extensions:r1068695-1072516
   Merged /subversion/branches/diff-optimizations:r1031270-1037352
   Merged
/subversion/branches/performance:r979193,980118,981087,981090,981189,981194,981287,981684,981827,982043,983398,983406,983430,983474,983488,983490,9837
 60,983770,984973,985487-985488,985493,985497,985514,985601,985603,985695,986465,986485,986491-986492,986517,986521,986605,986608,986817,986832,987865,987868-987
 869,987872,987886-987887,988319,988898,990330,990533,990535-990537,990541,990568,990572,990574-990575,990600,990759,992899,992904,992911,993127,993141,994956,99
 5478,998012,998858,999098,1001417,1004291,1022668,1022670,1022676,1022715,1022719,1025672,1027193,1027203,1027206,1027214,1027227,1028077,1028107,1028111,102835
 4,1029043,1029054-1029055,1029062-1029063,1029078,1029080,1029093,1029111,1029151,1029158,1029229-1029230,1029232,1029336,1029339-1029340,1029342,1029344,103082
 7,1031203,1031235,1032285,1032333,1033040,1033057,1033294,1035869,1035882,1039511,1043705,1053735,1056015,1066452,1067683,1067697-1078365
  Merged /subversion/branches/diff-optimizations-bytes:r1037353-1067789
   Merged /subversion/branches/integrate-partial-getter:r1072558-1076552
   Merged /subversion/branches/integrate-compression-level:r1068651-1072287
   Merged /subversion/branches/integrate-readline-speedup:r1072553-1072555
   Merged /subversion/branches/uris-as-urls:r1060426-1064427
   Merged /subversion/branches/integrate-cache-membuffer:r998649-998852
   Merged /subversion/branches/integrate-cache-item-serialization:r1068724-1068739
   Merged /subversion/branches/integrate-is-cachable:r1072568-1074082

But the mergeinfo on the newly added svn_temp_serializer.c subtree is not
updated to describe the merge and only has the mergeinfo from its copy source:

C:\SVN\sandbox\merge-mem-use\gpg-agent-password-store>svn pg svn:mergeinfo
^^/subversion/branches/gpg-agent-password-store/subversion/libsvn_subr/svn_temp_serializer.c@1139384
                
/subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c:1067687-1072301

c:\SVN\sandbox\merge-mem-use\gpg-agent-password-store>svn pg svn:mergeinfo -v
^^/subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c@1139365
Properties on
'http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c':
  svn:mergeinfo
    /subversion/trunk/subversion/libsvn_subr/svn_temp_serializer.c:1067687-1072301

This is a problem because subsequent sync merges will detect what it thinks are
operative revisions on svn_temp_serializer.c and try to merge them, possibly
resulting in conflicts.  We can see this if we repeat the sync merge of r1139384
(We'll confine the merge target to libsvn_subr to keep things simple, but the
same thing happens if targeting the root of the branch):

> svn info
Path: .
Working Copy Root Path: C:\SVN\sandbox\merge-mem-use\gpg-agent-password-store
URL: http://svn.apache.org/repos/asf/subversion/branches/gpg-agent-password-store
Repository Root: http://svn.apache.org/repos/asf
Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
Revision: 1139384
Node Kind: directory
Schedule: normal
Last Changed Author: stsp
Last Changed Rev: 1139384
Last Changed Date: 2011-06-24 12:51:56 -0400 (Fri, 24 Jun 2011)

> svn merge ^^/subversion/trunk/subversion/libsvn_subr subversion\libsvn_subr.
-r1041570:1139365 --accept postpone
--- Merging r1054579 into 'subversion\libsvn_subr\adler32.c':
U    subversion\libsvn_subr\adler32.c
--- Merging r1067680 into 'subversion\libsvn_subr\adler32.c':
U    subversion\libsvn_subr\adler32.c
--- Merging r1067800 into 'subversion\libsvn_subr\adler32.c':
 G   subversion\libsvn_subr\adler32.c
--- Merging r1078256 into 'subversion\libsvn_subr\svn_temp_serializer.c':
C    subversion\libsvn_subr\svn_temp_serializer.c
--- Recording mergeinfo for merge of r1041571 through r1078256 into
'subversion\libsvn_subr':
 G   subversion\libsvn_subr
--- Recording mergeinfo for merge of r1041571 through r1078256 into
'subversion\libsvn_subr\adler32.c':
 U   subversion\libsvn_subr\adler32.c
Summary of conflicts:
  Text conflicts: 1
..\..\..\subversion\svn\util.c:913: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:10998: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:10952: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:10952: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:10922: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:8933: (apr_err=155015)
..\..\..\subversion\libsvn_client\merge.c:4773: (apr_err=155015)
svn: E155015: One or more conflicts were produced while merging r1078255:1078256
into
'C:\SVN\sandbox\merge-mem-use\gpg-agent-password-store\subversion\libsvn_subr' --
resolve all conflicts and rerun the merge to apply the remaining
unmerged revisions

> svn st
 M      subversion\libsvn_subr
?       subversion\libsvn_subr\svn_temp_serializer.c.merge-right.r1078256
C       subversion\libsvn_subr\svn_temp_serializer.c
?       subversion\libsvn_subr\svn_temp_serializer.c.working
?       subversion\libsvn_subr\svn_temp_serializer.c.merge-left.r1078255
 M      subversion\libsvn_subr\adler32.c
Summary of conflicts:
  Text conflicts: 1

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&dsMessageId=2805972

To unsubscribe from this discussion, e-mail: \
[issues-unsubscribe@subversion.tigris.org].


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic