Mercurial > hg
comparison tests/test-narrow-update.t @ 36079:a2a6e724d61a
narrow: import experimental extension from narrowhg revision cb51d673e9c5
Adjustments:
* renamed src to hgext/narrow
* marked extension experimental
* added correct copyright header where it was missing
* updated hgrc extension enable line in library.sh
* renamed library.sh to narrow-library.sh
* dropped all files from repo root as they're not interesting
* dropped test-pyflakes.t, test-check-code.t and test-check-py3-compat.t
* renamed remaining tests to all be test-narrow-* when they didn't already
* fixed test-narrow-expanddirstate.t to refer to narrow and not narrowhg
* fixed tests that wanted `update -C .` instead of `merge --abort`
* corrected a two-space indent in narrowspec.py
* added a missing _() in narrowcommands.py
* fixed imports to pass the import checker
* narrow only adds its --include and --exclude to clone if sparse isn't
enabled to avoid breaking test-duplicateoptions.py. This is a kludge,
and we'll need to come up with a better solution in the future.
These were more or less the minimum to import something that would
pass tests and not create a bunch of files we'll never use.
Changes I intend to make as followups:
* rework the test-narrow-*-tree.t tests to use the new testcases
functionality in run-tests.py
* remove lots of monkeypatches of core things
Differential Revision: https://phab.mercurial-scm.org/D1974
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 29 Jan 2018 16:19:33 -0500 |
parents | |
children | 6767e7ce2c31 |
comparison
equal
deleted
inserted
replaced
36078:7f68235f23ff | 36079:a2a6e724d61a |
---|---|
1 | |
2 $ . "$TESTDIR/narrow-library.sh" | |
3 | |
4 create full repo | |
5 | |
6 $ hg init master | |
7 $ cd master | |
8 $ echo init > init | |
9 $ hg ci -Aqm 'initial' | |
10 | |
11 $ mkdir inside | |
12 $ echo inside > inside/f1 | |
13 $ mkdir outside | |
14 $ echo outside > outside/f1 | |
15 $ hg ci -Aqm 'add inside and outside' | |
16 | |
17 $ echo modified > inside/f1 | |
18 $ hg ci -qm 'modify inside' | |
19 | |
20 $ echo modified > outside/f1 | |
21 $ hg ci -qm 'modify outside' | |
22 | |
23 $ cd .. | |
24 | |
25 $ hg clone --narrow ssh://user@dummy/master narrow --include inside | |
26 requesting all changes | |
27 adding changesets | |
28 adding manifests | |
29 adding file changes | |
30 added 4 changesets with 2 changes to 1 files | |
31 new changesets *:* (glob) | |
32 updating to branch default | |
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
34 $ cd narrow | |
35 $ hg debugindex -c | |
36 rev offset length base linkrev nodeid p1 p2 | |
37 0 0 64 0 0 9958b1af2add 000000000000 000000000000 | |
38 1 64 81 1 1 2db4ce2a3bfe 9958b1af2add 000000000000 | |
39 2 145 75 2 2 0980ee31a742 2db4ce2a3bfe 000000000000 | |
40 3 220 (76|77) 3 3 4410145019b7 0980ee31a742 000000000000 (re) | |
41 | |
42 $ hg update -q 0 | |
43 | |
44 Can update to revision with changes inside | |
45 | |
46 $ hg update -q 'desc("add inside and outside")' | |
47 $ hg update -q 'desc("modify inside")' | |
48 $ find * | |
49 inside | |
50 inside/f1 (glob) | |
51 $ cat inside/f1 | |
52 modified | |
53 | |
54 Can update to revision with changes outside | |
55 | |
56 $ hg update -q 'desc("modify outside")' | |
57 $ find * | |
58 inside | |
59 inside/f1 (glob) | |
60 $ cat inside/f1 | |
61 modified | |
62 | |
63 Can update with a deleted file inside | |
64 | |
65 $ hg rm inside/f1 | |
66 $ hg update -q 'desc("modify inside")' | |
67 $ hg update -q 'desc("modify outside")' | |
68 $ hg update -q 'desc("initial")' | |
69 $ hg update -q 'desc("modify inside")' | |
70 | |
71 Can update with a moved file inside | |
72 | |
73 $ hg mv inside/f1 inside/f2 | |
74 $ hg update -q 'desc("modify outside")' | |
75 $ hg update -q 'desc("initial")' | |
76 $ hg update -q 'desc("modify inside")' |