--- a/tests/test-fileset.t Fri Jun 05 13:41:14 2015 -0700
+++ b/tests/test-fileset.t Fri May 29 13:25:34 2015 -0400
@@ -180,16 +180,54 @@
$ hg -R sub add sub/suba
$ hg -R sub ci -m sub
$ echo 'sub = sub' > .hgsub
+ $ hg init sub2
+ $ echo b > sub2/b
+ $ hg -R sub2 ci -Am sub2
+ adding b
+ $ echo 'sub2 = sub2' >> .hgsub
$ fileset 'subrepo()'
$ hg add .hgsub
$ fileset 'subrepo()'
sub
+ sub2
$ fileset 'subrepo("sub")'
sub
$ fileset 'subrepo("glob:*")'
sub
+ sub2
$ hg ci -m subrepo
+Test that .hgsubstate is updated as appropriate during a conversion. The
+saverev property is enough to alter the hashes of the subrepo.
+
+ $ hg init ../converted
+ $ hg --config extensions.convert= convert --config convert.hg.saverev=True \
+ > sub ../converted/sub
+ initializing destination ../converted/sub repository
+ scanning source...
+ sorting...
+ converting...
+ 0 sub
+ $ hg clone -U sub2 ../converted/sub2
+ $ hg --config extensions.convert= convert --config convert.hg.saverev=True \
+ > . ../converted
+ scanning source...
+ sorting...
+ converting...
+ 4 addfiles
+ 3 manychanges
+ 2 diverging
+ 1 merge
+ 0 subrepo
+ no ".hgsubstate" updates will be made for "sub2"
+ $ hg up -q -R ../converted -r tip
+ $ hg --cwd ../converted cat sub/suba sub2/b -r tip
+ a
+ b
+ $ oldnode=`hg log -r tip -T "{node}\n"`
+ $ newnode=`hg log -R ../converted -r tip -T "{node}\n"`
+ $ [[ "$oldnode" != "$newnode" ]] || echo "nothing changed"
+
Test with a revision
$ hg log -G --template '{rev} {desc}\n'
@@ -241,6 +279,7 @@
$ fileset -r4 'subrepo("re:su.*")'
sub
+ sub2
$ fileset -r4 'subrepo("sub")'
sub
$ fileset -r4 'b2 or c1'