RFC: Improvements to 'svn mergeinfo' subcommand for 1.7
From: Paul Burba <ptburba_at_gmail.com>
Date: Fri, 14 Aug 2009 10:54:24 -0400
Currently the svn mergeinfo command works well if you do
All of this means that 'svn merge' and 'svn mergeinfo' can easily
I'd like to make two changes to the svn mergeinfo command for 1.7 to
1) Account for Non-Inheritable Revision Ranges
Currently svn mergeinfo treats inheritable and non-inheritable
For example, say we merge r6 (at depth=infinity) from 'A' to a branch of 'A_at_1':
trunk.dev>svn merge ^^/A A_COPY -c6
Inheritable mergeinfo for r6 is set as expected:
trunk.dev>svn pl -vR
And r6 no longer shows as eligible for merging:
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY
That's good, but what happens if we do a shallow merge?
trunk.dev>svn revert -R .
trunk.dev>svn merge ^^/A A_COPY -c6 --depth empty
trunk.dev>svn pl -vR
Clearly r6's changes to A_COPY/D/H/psi are *not* merged, but svn
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY
trunk.dev>
To fix this I propose we alter the default output of svn mergeinfo to
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY
trunk.dev>
Likewise, when asking svn mergeinfo what has been merged,
trunk.dev>svn mergeinfo --show-revs merged ^^/A A_COPY
trunk.dev>
2) Optionally Consider Subtrees with Explicit Mergeinfo
Currently svn mergeinfo doesn't consider subtrees with explicit
Again, starting with a fresh branch of 'A', we merge a couple
trunk.dev>svn merge ^^/A A_COPY -r4:6
trunk.dev>svn merge ^^/A/D/H A_COPY\D\H -c-6
trunk.dev>svn pl -vR
So while r6 has clearly not been merged fully into the tree rooted at
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY
trunk.dev>
trunk.dev>svn mergeinfo --show-revs merged ^^/A A_COPY
I'd like to add the --depth option to svn mergeinfo so these differing
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY --depth infinity
trunk.dev>
If a revision is not merged to some subtree per the set of mergeinfo
trunk.dev>svn pl -vR
In this case svn mergeinfo would ignore the fact that r6 "appears" to
trunk.dev>svn mergeinfo --show-revs eligible ^^/A A_COPY --depth infinity
Any thoughts, questions, or objections?
Paul
------------------------------------------------------
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.