Mercurial > hg
view tests/test-subrepo-svn @ 10505:b3311e26f94f stable
merge: fix --preview to show all nodes that will be merged (issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Feb 2010 15:25:29 -0500 |
parents | 4f38d03d4975 |
children | c52057614c72 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn || exit 80 fix_path() { tr '\\' / } escapedwd=`pwd | fix_path` # SVN wants all paths to start with a slash. Unfortunately, # Windows ones don't. Handle that. expr $escapedwd : "\/" > /dev/null if [ $? -ne 0 ]; then escapedwd='/'$escapedwd fi filterpath="sed s|$escapedwd|/root|" filtersvn='s/ in transaction.*/ is out of date/;s/Out of date: /File /' echo % create subversion repo SVNREPO="file://$escapedwd/svn-repo" WCROOT="`pwd`/svn-wc" svnadmin create svn-repo svn co $SVNREPO svn-wc cd svn-wc mkdir src echo alpha > src/alpha svn add src mkdir externals echo other > externals/other svn add externals svn ci -m 'Add alpha' svn up cat > extdef <<EOF externals -r1 $SVNREPO/externals EOF svn propset -F extdef svn:externals src svn ci -m 'Setting externals' cd .. echo % create hg repo mkdir sub cd sub hg init t cd t echo % first revision, no sub echo a > a hg ci -Am0 echo % add first svn sub with leading whitespaces echo "s = [svn] $SVNREPO/src" >> .hgsub svn co --quiet $SVNREPO/src s hg add .hgsub hg ci -m1 echo % debugsub hg debugsub | $filterpath echo echo % change file in svn and hg, commit echo a >> a echo alpha >> s/alpha hg commit -m 'Message!' hg debugsub | $filterpath echo echo a > s/a echo % should be empty despite change to s/a hg st echo echo % add a commit from svn cd "$WCROOT"/src svn up echo xyz >> alpha svn propset svn:mime-type 'text/xml' alpha svn ci -m 'amend a from svn' cd ../../sub/t echo % this commit from hg will fail echo zzz >> s/alpha hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn" svn revert -q s/alpha echo % this commit fails because of meta changes svn propset svn:mime-type 'text/html' s/alpha hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn" svn revert -q s/alpha echo % this commit fails because of externals changes echo zzz > s/externals/other hg ci -m 'amend externals from hg' svn revert -q s/externals/other echo % this commit fails because of externals meta changes svn propset svn:mime-type 'text/html' s/externals/other hg ci -m 'amend externals from hg' svn revert -q s/externals/other echo echo % clone cd .. hg clone t tc | fix_path cd tc echo % debugsub in clone hg debugsub | $filterpath