mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
ad813edcbd
Summary: Now that all our repos are treemanifest, let's enable the extension by default in tests. Once we're certain no one needs it in production we'll also make it the default in core Mercurial. This diff includes a minor fix in treemanifest to be aware of always-enabled extensions. It won't matter until we actually add treemanifest to the list of default enabled extensions, but I caught this while testing things. Reviewed By: ikostia Differential Revision: D15030253 fbshipit-source-id: d8361f915928b6ad90665e6ed330c1df5c8d8d86
125 lines
3.3 KiB
Perl
125 lines
3.3 KiB
Perl
$ setconfig extensions.treemanifest=!
|
|
$ . helpers-usechg.sh
|
|
|
|
#require svn svn-bindings
|
|
|
|
$ filter_svn_output () {
|
|
> egrep -v 'Committing|Updating|(^$)' | sed -e 's/done$//' || true
|
|
> }
|
|
|
|
$ cat <<EOF >> $HGRCPATH
|
|
> [extensions]
|
|
> convert =
|
|
> mq =
|
|
> EOF
|
|
|
|
$ SVNREPOPATH=`pwd`/svn-repo
|
|
#if windows
|
|
$ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
|
|
#else
|
|
$ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
|
|
#endif
|
|
|
|
$ svnadmin create "$SVNREPOPATH"
|
|
$ cat > "$SVNREPOPATH"/hooks/pre-revprop-change <<EOF
|
|
> #!/bin/sh
|
|
>
|
|
> REPOS="$1"
|
|
> REV="$2"
|
|
> USER="$3"
|
|
> PROPNAME="$4"
|
|
> ACTION="$5"
|
|
>
|
|
> if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
|
|
> if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi
|
|
> if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi
|
|
>
|
|
> echo "Changing prohibited revision property" >&2
|
|
> exit 1
|
|
> EOF
|
|
$ chmod +x "$SVNREPOPATH"/hooks/pre-revprop-change
|
|
$ svn co "$SVNREPOURL" "$SVNREPOPATH"-wc
|
|
Checked out revision 0.
|
|
$ cd "$SVNREPOPATH"-wc
|
|
$ echo a > a
|
|
$ svn add a
|
|
A a
|
|
$ svn ci -m'added a' a | filter_svn_output
|
|
Adding a
|
|
Transmitting file data .
|
|
Committed revision 1.
|
|
$ cd ..
|
|
|
|
initial roundtrip
|
|
|
|
$ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg | grep -v initializing
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
0 added a
|
|
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
|
|
second roundtrip should do nothing
|
|
|
|
$ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
|
|
new hg rev
|
|
|
|
$ hg clone "$SVNREPOPATH"-hg "$SVNREPOPATH"-work
|
|
updating to branch default
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd "$SVNREPOPATH"-work
|
|
$ echo b > b
|
|
$ hg add b
|
|
$ hg ci -mb
|
|
|
|
adding an empty revision
|
|
|
|
$ hg commit -m emtpy --config ui.allowemptycommit=1
|
|
$ cd ..
|
|
|
|
echo hg to svn
|
|
|
|
$ hg --cwd "$SVNREPOPATH"-hg pull -q "$SVNREPOPATH"-work
|
|
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
1 b
|
|
0 emtpy
|
|
|
|
svn back to hg should do nothing
|
|
|
|
$ hg convert -s svn -d hg "$SVNREPOPATH"-wc "$SVNREPOPATH"-hg
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
|
|
hg back to svn should do nothing
|
|
|
|
$ hg convert -s hg -d svn "$SVNREPOPATH"-hg "$SVNREPOPATH"-wc
|
|
scanning source...
|
|
sorting...
|
|
converting...
|
|
|
|
verify which shamap format we are storing and must be able to handle
|
|
|
|
$ cat svn-repo-hg/.hg/shamap
|
|
svn:????????-????-????-????-????????????@1 ???????????????????????????????????????? (glob)
|
|
svn:????????-????-????-????-????????????@2 ???????????????????????????????????????? (glob)
|
|
svn:????????-????-????-????-????????????@2 ???????????????????????????????????????? (glob)
|
|
$ cat svn-repo-wc/.svn/hg-shamap
|
|
???????????????????????????????????????? 1 (glob)
|
|
???????????????????????????????????????? svn:????????-????-????-????-????????????@2 (glob)
|
|
???????????????????????????????????????? svn:????????-????-????-????-????????????@2 (glob)
|