view tests/fixtures/siblingbranchfix.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 41c333473dda
children
line wrap: on
line source

#!/bin/sh

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

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

cd ..
svn cp trunk wrongbranch
svn ci -m 'Branch to repo root dir.'
svn up

svn mv wrongbranch branches/wrongbranch
svn ci -m 'Move branch to correct branches location'
svn up

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