Mercurial > hg
view tests/test-narrow-strip.t @ 49280:311fcc5a65f6
thirdparty: remove Python 2-specific selectors2 copy
The selectors module was added in Python 3.4. Because we require Python 3.6, it
will always be available. Therefore the selectors2 module is not imported.
I’ve verified that the selectors2-specific workaround in commandserver.py is not
necessary with the selectors module from the standard library. It returns an
empty list if timeout was exceeded.
The pytype directive was needed to silence the following error:
File "/tmp/mercurial-ci/mercurial/worker.py", line 299, in _posixworker: No attribute 'close' on int [attribute-error]
In Union[_typeshed.HasFileno, int]
File "/tmp/mercurial-ci/mercurial/worker.py", line 299, in _posixworker: No attribute 'close' on _typeshed.HasFileno [attribute-error]
In Union[_typeshed.HasFileno, int]
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Sat, 28 May 2022 22:08:13 +0200 |
parents | 4a81d82474e9 |
children |
line wrap: on
line source
#testcases flat tree #testcases lfs-on lfs-off #if lfs-on $ cat >> $HGRCPATH <<EOF > [extensions] > lfs = > EOF #endif $ . "$TESTDIR/narrow-library.sh" #if tree $ cat << EOF >> $HGRCPATH > [experimental] > treemanifest = 1 > EOF #endif create full repo $ hg init master $ cd master $ cat >> .hg/hgrc <<EOF > [narrow] > serveellipses=True > EOF $ mkdir inside $ echo inside > inside/f1 $ mkdir outside $ echo outside > outside/f1 $ hg ci -Aqm 'initial' $ echo modified > inside/f1 $ hg ci -qm 'modify inside' $ hg co -q 0 $ echo modified > outside/f1 $ hg ci -qm 'modify outside' $ echo modified again >> outside/f1 $ hg ci -qm 'modify outside again' $ cd .. $ hg clone --narrow ssh://user@dummy/master narrow --include inside requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 1 files (+1 heads) new changesets *:* (glob) updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd narrow $ cat >> $HGRCPATH <<EOF > [extensions] > strip= > EOF Can strip and recover changesets affecting only files within narrow spec $ hg co -r 'desc("modify inside")' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm -f .hg/strip-backup/*-backup.hg $ hg strip . 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) $ hg unbundle .hg/strip-backup/*-backup.hg adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) new changesets * (glob) (run 'hg heads' to see heads, 'hg merge' to merge) Can strip and recover changesets affecting files outside of narrow spec $ hg co -r 'desc("modify outside")' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log -G -T '{rev} {desc}\n' o 2 modify inside | | @ 1 modify outside again |/ o 0 initial $ hg debugdata -m 1 inside/f1\x004d6a634d5ba06331a60c29ee0db8412490a54fcd (esc) (flat !) outside/f1\x0084ba604d54dee1f13310ce3d4ac2e8a36636691a (esc) (flat !) inside\x006a8bc41df94075d501f9740587a0c0e13c170dc5t (esc) (tree !) outside\x00255c2627ebdd3c7dcaa6945246f9b9f02bd45a09t (esc) (tree !) $ rm -f .hg/strip-backup/*-backup.hg $ hg strip . 0 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) $ hg unbundle .hg/strip-backup/*-backup.hg adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 0 files (+1 heads) new changesets * (glob) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg log -G -T '{rev} {desc}\n' o 2 modify outside again | | o 1 modify inside |/ @ 0 initial Check that hash of file outside narrow spec got restored $ hg debugdata -m 2 inside/f1\x004d6a634d5ba06331a60c29ee0db8412490a54fcd (esc) (flat !) outside/f1\x0084ba604d54dee1f13310ce3d4ac2e8a36636691a (esc) (flat !) inside\x006a8bc41df94075d501f9740587a0c0e13c170dc5t (esc) (tree !) outside\x00255c2627ebdd3c7dcaa6945246f9b9f02bd45a09t (esc) (tree !) Also verify we can apply the bundle with 'hg pull': $ hg co -r 'desc("modify inside")' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm .hg/strip-backup/*-backup.hg $ hg strip . 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) #if repobundlerepo $ hg pull .hg/strip-backup/*-backup.hg pulling from .hg/strip-backup/*-backup.hg (glob) searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) new changesets * (glob) (run 'hg heads' to see heads, 'hg merge' to merge) $ rm .hg/strip-backup/*-backup.hg $ hg strip 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow/.hg/strip-backup/*-backup.hg (glob) $ hg incoming .hg/strip-backup/*-backup.hg comparing with .hg/strip-backup/*-backup.hg (glob) changeset: 0:* (glob) user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: initial changeset: 1:9e48d953700d (flat !) changeset: 1:3888164bccf0 (tree !) user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: modify outside again changeset: 2:f505d5e96aa8 (flat !) changeset: 2:40b66f95a209 (tree !) tag: tip parent: 0:a99f4d53924d (flat !) parent: 0:c2a5fabcca3c (tree !) user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: modify inside $ hg pull .hg/strip-backup/*-backup.hg pulling from .hg/strip-backup/*-backup.hg (glob) requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 1 files (+1 heads) new changesets *:* (glob) (run 'hg heads' to see heads, 'hg merge' to merge) #endif