test-remotefilelog-bundle2-legacy.t
93 lines
| 2.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-remotefilelog-bundle2-legacy.t
Augie Fackler
|
r40530 | $ PYTHONPATH=$TESTDIR/..:$PYTHONPATH | ||
$ export PYTHONPATH | ||||
$ . "$TESTDIR/remotefilelog-library.sh" | ||||
generaldelta to generaldelta interactions with bundle2 but legacy clients | ||||
without changegroup2 support | ||||
$ cat > testcg2.py << EOF | ||||
Augie Fackler
|
r40598 | > import sys | ||
Augie Fackler
|
r40530 | > from mercurial import changegroup, registrar, util | ||
> cmdtable = {} | ||||
> command = registrar.command(cmdtable) | ||||
> @command('testcg2', norepo=True) | ||||
> def testcg2(ui): | ||||
> if not util.safehasattr(changegroup, 'cg2packer'): | ||||
> sys.exit(80) | ||||
> EOF | ||||
$ cat >> $HGRCPATH << EOF | ||||
> [extensions] | ||||
> testcg2 = $TESTTMP/testcg2.py | ||||
> EOF | ||||
$ hg testcg2 || exit 80 | ||||
$ cat > disablecg2.py << EOF | ||||
Augie Fackler
|
r40598 | > from mercurial import changegroup, error, util | ||
Augie Fackler
|
r40530 | > deleted = False | ||
> def reposetup(ui, repo): | ||||
> global deleted | ||||
> if deleted: | ||||
> return | ||||
> packermap = changegroup._packermap | ||||
> # protect against future changes | ||||
> if len(packermap) != 3: | ||||
> raise error.Abort('packermap has %d versions, expected 3!' % len(packermap)) | ||||
> for k in ['01', '02', '03']: | ||||
> if not packermap.get(k): | ||||
> raise error.Abort("packermap doesn't have key '%s'!" % k) | ||||
> | ||||
> del packermap['02'] | ||||
> deleted = True | ||||
> EOF | ||||
$ hginit master | ||||
$ grep generaldelta master/.hg/requires | ||||
generaldelta | ||||
$ cd master | ||||
preferuncompressed = False so that we can make both generaldelta and non-generaldelta clones | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [remotefilelog] | ||||
> server=True | ||||
> [experimental] | ||||
> bundle2-exp = True | ||||
> [server] | ||||
> preferuncompressed = False | ||||
> EOF | ||||
$ echo x > x | ||||
$ hg commit -qAm x | ||||
$ cd .. | ||||
$ hgcloneshallow ssh://user@dummy/master shallow -q --pull --config experimental.bundle2-exp=True | ||||
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) | ||||
$ cd shallow | ||||
$ cat >> .hg/hgrc << EOF | ||||
> [extensions] | ||||
> disablecg2 = $TESTTMP/disablecg2.py | ||||
> EOF | ||||
$ cd ../master | ||||
$ echo y > y | ||||
$ hg commit -qAm y | ||||
$ cd ../shallow | ||||
$ hg pull -u | ||||
pulling from ssh://user@dummy/master | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 0 files | ||||
new changesets d34c38483be9 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) | ||||
$ echo a > a | ||||
$ hg commit -qAm a | ||||
$ hg push | ||||
pushing to ssh://user@dummy/master | ||||
searching for changes | ||||
remote: adding changesets | ||||
remote: adding manifests | ||||
remote: adding file changes | ||||
remote: added 1 changesets with 1 changes to 1 files | ||||