subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Hett <ste...@egosoft.com>
Subject Re: svn-mergeinfo-normalizer ideas
Date Tue, 25 Aug 2015 12:11:37 GMT
Hi,
> On Fri, Jul 10, 2015 at 12:40 AM, Stefan Fuhrmann 
> <stefan.fuhrmann@wandisco.com <mailto:stefan.fuhrmann@wandisco.com>> 
> wrote:
>
>     On Thu, Jun 25, 2015 at 5:10 PM, Stefan Hett <stefan@egosoft.com
>     <mailto:stefan@egosoft.com>> wrote:
>
>         Hi,
>
>         I'm dealing with one remaining case svn-mergeinfo-normalizer
>         normalize doesn't seem to be able to handle yet. Would it be
>         possible to add support for this?
>
>         Case: Eliminate incorrect mergeinfos of pre-branch-revisions.
>
>         Looking at the following output:
>         Trying to elide mergeinfo from path
>         E:/[projects]/XR/clean_source_branch/src/SDKs/bullet
>             into mergeinfo at path
>             E:/[projects]/XR/clean_source_branch/src
>
>             All branches still exist in HEAD.
>
>             Try to elide remaining branches:
>             CANNOT elide branch /XRebirth/trunk/src/SDKs/bullet
>                 revisions not movable to parent:
>         173817,174057,180942,181150
>
>             Branches not mentioned in parent:
>             /SDKs/BulletPhysics/tags/2.82
>             /SDKs/BulletPhysics/trunk
>
>             Sub-tree merge info cannot be elided due to the following
>         branches:
>             /SDKs/BulletPhysics/tags/2.82
>             /SDKs/BulletPhysics/trunk
>             /XRebirth/trunk/src/SDKs/bullet
>
>         here you see that the revisions 173817,174057,180942,181150
>         are reported to not be movable to the parent.
>
>         The thing here is that all of these revisions are effectively
>         referencing themselves and therefore should be removable in
>         principle.
>
>         The WC is a check-out of
>         repo
>             \proj1
>                 \branches
>                     \proj1v1
>
>         The proj1v1 branch was created in revision 184223 from trunk -
>         aka from:
>         repo
>             \proj1
>                 \trunk
>
>         so all the revisions (173817,174057,180942,181150) are
>         referring to the same thing which is implicitly included in
>         the branch (due to its creation from trunk at r184223). So
>         these should simply be eliminated, no?
>
>
>     Yes, for all paths, their natural history can be considered being
>     an implicit
>     part of their merge history, i.e. "they contain all their own
>     changes". Hence,
>     they can't be actually missing and the branch entry in your
>     example should
>     be removed from the mergeinfo.
>
>     To do this efficiently requires a fair amount coding, though. I'll
>     give it a try.
>
>
> The tool is on /trunk now and will detect overlapping "natural path 
> history".
>
> -- Stefan^2.
>
Thanks so much. Just tested it and it works like a charm.

-- 
Regards,
Stefan Hett


Mime
View raw message