Mercurial > hgsubversion
view tests/fixtures/renamedproject.sh @ 960:502613f6b583
editor: ignore added or copied files excluded by a filemap
Files brought by a copied add_directory() were processed despite being
excluded by the filemap. This was also the case with added files. The
conversion was still correct because they were eventually filtered out
in the replay.convert_rev() but processing them in itself may be
problematic. Filemaps are often use to exclude large binary files and
before this change, some of them could be marked as missing and be
fetched before being discarded.
A test configuration entry named hgsubversion.failoninvalidreplayfile
was added to help testing this case. It should become the default
behaviour in the future.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Sun, 14 Oct 2012 15:51:12 +0200 |
parents | 942f198b8ff5 |
children |
line wrap: on
line source
#!/bin/sh # # Convert a project moving from a non-canonical to canonical # layout, exercizing the missing plaintext code paths. It also tests # branch creations where the branch source is not a canonical branch. # mkdir temp cd temp svnadmin create testrepo svnurl=file://`pwd`/testrepo mkdir project-orig cd project-orig echo a > a echo b > b echo c > c mkdir d echo a > d/a cd .. # Let's suppose it was actually branched in a previous life mkdir project-branch cd project-branch echo a > a echo b > b cd .. svn import project-orig $svnurl/project-orig -m "init project" svn import project-branch $svnurl/project-branch -m "init branch" svn mkdir $svnurl/project -m "create new project hierarchy" svn mv $svnurl/project-orig $svnurl/project/project -m "rename as project" svn mv $svnurl/project/project $svnurl/project/trunk -m "rename as project" svn mkdir $svnurl/project/branches -m "add branches root" svn mv $svnurl/project-branch $svnurl/project/misplaced -m "incorrect move of the branch" svn mv $svnurl/project/misplaced $svnurl/project/branches/branch -m "move of the branch" svn co $svnurl/project cd project echo a >> trunk/a svn ci -m "change a" echo a >> trunk/a echo b >> trunk/b svn rm trunk/c echo a >> trunk/d/a svn ci -m "change files in trunk" # Try the same thing with the branch echo a >> branches/branch/a svn rm branches/branch/b svn ci -m "change a in branch" cd .. # Add this to make test_rebuildmeta happy, needs something to convert svn import project-orig $svnurl/trunk -m "init fake trunk for rebuild_meta" svnadmin dump testrepo > ../renamedproject.svndump