view tests/fixtures/unorderedbranch.sh @ 1028:c4b25a903ad3

layouts: consistently return None for default branch This makes the single and standard layouts consistent in what they return for the default branch. Previously, single had returned 'default' now they both return None. In addition, this fixes a now-exposed bug in stupid's convert_revision logic. Specifically, when a file is replaced by another file within the same branch, we treated that as replacing the entire branch. this bug was previously hidden because meta.split_branch_path and meta.localname were inconsistent in what they returned for the single layout. meta.split-branch_path is used to maintain the set of known branches, where meta.localname is used to determine the branch for the path being replaced. This resulted in erroneously hitting the condition that skipped paths outside branches we know about when considering replace operations from svn.
author David Schleimer <dschleimer@fb.com>
date Wed, 05 Jun 2013 11:00:06 -0700
parents 4d42dbbb5127
children
line wrap: on
line source

#!/bin/sh
#
# Generate unorderedbranch.svndump
#

mkdir temp
cd temp

mkdir project-orig
cd project-orig
mkdir trunk
mkdir branches
cd ..

svnadmin create testrepo
svnurl=file://`pwd`/testrepo
svn import project-orig $svnurl -m "init project"

svn co $svnurl project
cd project/trunk
echo a > a
svn add a
svn ci -m "add a in trunk"
echo b > b
echo z > z
svn add b z
svn ci -m "add b and z in trunk"
svn up
cd ../branches
# Copy from trunk past revision. The converted used to take the last
# trunk revision as branch parent instead of the specified one.
svn cp -r 2 ../trunk branch
svn cp ../trunk/z branch
echo c > branch/c
svn add branch/c
svn ci -m 'branch and add c'
cd ../..

svnadmin dump testrepo > ../unorderedbranch.svndump