view tests/fixtures/renametagdir.sh @ 1029:513f2b607b06

layouts: pull out logic for splitting svn paths into branch and local parts There is a single method on svnmeta that is responsible for both splitting a subversion path into a local component, which specifies a path relative to the mercurial root, and a branch component, which specifies the path to the root of a subversion branch, and translating that branch path into a mercurial branch name. This pulls the logic for doing the path splitting into a layout object method that *only* splits the path, and changes the svnmeta to call the layout objects's localname method to do the subversion branch path to mercurial branch name translation.
author David Schleimer <dschleimer@fb.com>
date Wed, 05 Jun 2013 11:06:34 -0700
parents d380e7e4175a
children
line wrap: on
line source

#!/bin/sh
# inspired by Python r62868

mkdir temp
cd temp
svnadmin create repo
svn co file://`pwd`/repo wc
export REPO=file://`pwd`/repo
cd wc
mkdir branches trunk tags
svn add *
svn ci -m 'btt'

echo a > trunk/a
svn add trunk/a
svn ci -m 'Add file.'
svn up

svn cp trunk branches/test
svn ci -m 'Branch.'
svn up

cd ..
svn cp -m 'First tag.' $REPO/branches/test@3 $REPO/tags/test-0.1
svn cp -m 'Weird tag.' $REPO/branches/test@3 $REPO/tags/test-0.1/test
svn mv -m 'Fix tag pt 1.' $REPO/tags/test-0.1/test $REPO/tags/test-0.1-real
svn rm -m 'Remove weird.' $REPO/tags/test-0.1
svn mv -m 'Fix tag pt 2.' $REPO/tags/test-0.1-real $REPO/tags/test-0.1

cd ..
svnadmin dump temp/repo > renametagdir.svndump
echo
echo 'Complete.'
echo 'You probably want to clean up temp now.'
echo 'Dump in renametagdir.svndump'
exit 0