| 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.