Move tracking -- concept demo
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 25 Nov 2014 15:54:40 +0000
Hello, fans of move tracking.
May I invite you to switch to the 'move-tracking-2' branch and run 'svnmover_tests.py --verbose'? You will see a demo of my concepts for how move tracking should behave.
Test 4 is a simple example of what I'm aiming for. It performs a merge of some edits on trunk (which include a rename) into a branch where the parent directory was moved:
$ svnmover -U $REPO \
$ svnmover -U $REPO/trunk \
$ svnmover -U $REPO \
$ svnmover -U $REPO/trunk \
$ svnmover -U $REPO/branches/br1 \
$ svnmover -U $REPO \
That's a merge from trunk to branch br1, using an ancestor of trunk_at_3. Notice that all the merge says it needs to do is modify/move/rename one directory.
If we look at the diff committed by that merge...
$ svnmover -U $REPO diff trunk_at_6 trunk_at_7
... the change is described as just a move.
On the other hand, the traditional 'svn log' output for r7 shows a traditional 'copy and delete', as expected:
$ svn log -vq -r7 $REPO
(Here we can see a bug: 'bar' should be copied from /trunk/lib/foo_at_6, but the code instead committed 'bar' as a plain add and then copied its children.)
Please have a play with it! Questions? Thoughts? (First question: "So what are these concepts and goals?")
- Julian
|
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.