view tests/fixtures/siblingbranchfix.sh @ 628:4375d37fea1e

svnrepo: fix issue 187: ignore pushable bookmarks in hg 1.6 Mercurial 1.6 introduces two new methods for repo subclasses -- pushkey and listkeys -- to support pushing/pulling bookmarks between hg repositories. (See mpm's blog post http://www.selenic.com/blog/?p=644 for details.) Unfortunately, these are only defined in the subclasses, and not in the repo base class. Perhaps the bookmarks extension should also be checking the repo for pushkeys capability by calling repo.capable('pushkey') to check. It doesn't. In the meantime, we can implement these ourselves. svnrepo should declare these methods since it is derived directly from repo. They do nothing -- listkeys merely returns an empty dictionary; pushkey returns False; this is the behaviour of httprepo or sshrepo when the remote end is running an earlier version of Mercurial. svnlocalrepo should not declare these methods since it derives from a subclass of localrepo, which already will have them, unless some other badly behaved extensions are doing something intensely weird.
author James McKay <code@jamesmckay.net>
date Sun, 04 Jul 2010 18:21:20 +0100
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