author | Simon Sapin <simon.sapin@octobus.net> |
Tue, 06 Apr 2021 14:35:39 +0200 | |
changeset 47099 | 3da19db33cbc |
parent 46847 | 47a9527731c3 |
permissions | -rw-r--r-- |
46846
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
1 |
#require no-windows |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
2 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
3 |
$ . "$TESTDIR/remotefilelog-library.sh" |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
4 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
5 |
$ hg init master |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
6 |
$ cd master |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
7 |
$ cat >> .hg/hgrc <<EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
8 |
> [remotefilelog] |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
9 |
> server=True |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
10 |
> EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
11 |
$ echo x > x |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
12 |
$ hg commit -qAm x |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
13 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
14 |
$ cd .. |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
15 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
16 |
$ hgcloneshallow ssh://user@dummy/master shallow -q |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
17 |
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
18 |
$ cd shallow |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
19 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
20 |
$ cat >> $TESTTMP/get_file_linknode.py <<EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
21 |
> from mercurial import node, registrar, scmutil |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
22 |
> cmdtable = {} |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
23 |
> command = registrar.command(cmdtable) |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
24 |
> @command(b'debug-file-linknode', [(b'r', b'rev', b'.', b'rev')], b'hg debug-file-linknode FILE') |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
25 |
> def debug_file_linknode(ui, repo, file, **opts): |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
26 |
> rflctx = scmutil.revsingle(repo.unfiltered(), opts['rev']).filectx(file) |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
27 |
> ui.status(b'%s\n' % node.hex(rflctx.ancestormap()[rflctx._filenode][2])) |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
28 |
> EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
29 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
30 |
$ cat >> .hg/hgrc <<EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
31 |
> [ui] |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
32 |
> interactive=1 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
33 |
> [extensions] |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
34 |
> strip= |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
35 |
> get_file_linknode=$TESTTMP/get_file_linknode.py |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
36 |
> [experimental] |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
37 |
> evolution=createmarkers,allowunstable |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
38 |
> EOF |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
39 |
$ echo a > a |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
40 |
$ hg commit -qAm msg1 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
41 |
$ hg commit --amend 're:^$' -m msg2 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
42 |
$ hg commit --amend 're:^$' -m msg3 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
43 |
$ hg --hidden log -G -T '{rev} {node|short}' |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
44 |
@ 3 df91f74b871e |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
45 |
| |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
46 |
| x 2 70494d7ec5ef |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
47 |
|/ |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
48 |
| x 1 1e423846dde0 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
49 |
|/ |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
50 |
o 0 b292c1e3311f |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
51 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
52 |
$ hg debug-file-linknode -r 70494d a |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
53 |
df91f74b871e064c89afa1fe9e2f66afa2c125df |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
54 |
$ hg --hidden strip -r 1 3 |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
55 |
0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
56 |
saved backup bundle to $TESTTMP/shallow/.hg/strip-backup/df91f74b871e-c94d67be-backup.hg |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
57 |
|
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
58 |
$ hg --hidden log -G -T '{rev} {node|short}' |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
59 |
o 1 70494d7ec5ef |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
60 |
| |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
61 |
@ 0 b292c1e3311f |
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
62 |
|
46847
47a9527731c3
remotefilelog: include file contents in bundles produced during strip
Kyle Lippincott <spectral@google.com>
parents:
46846
diff
changeset
|
63 |
Demonstrate that the linknode points to a commit that is actually in the repo |
47a9527731c3
remotefilelog: include file contents in bundles produced during strip
Kyle Lippincott <spectral@google.com>
parents:
46846
diff
changeset
|
64 |
after the strip operation. Otherwise remotefilelog has to search every commit in |
47a9527731c3
remotefilelog: include file contents in bundles produced during strip
Kyle Lippincott <spectral@google.com>
parents:
46846
diff
changeset
|
65 |
the repository looking for a valid linkrev every time it's queried, such as |
47a9527731c3
remotefilelog: include file contents in bundles produced during strip
Kyle Lippincott <spectral@google.com>
parents:
46846
diff
changeset
|
66 |
during push. |
46846
2819df466cae
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes
Kyle Lippincott <spectral@google.com>
parents:
diff
changeset
|
67 |
$ hg debug-file-linknode -r 70494d a |
46847
47a9527731c3
remotefilelog: include file contents in bundles produced during strip
Kyle Lippincott <spectral@google.com>
parents:
46846
diff
changeset
|
68 |
70494d7ec5ef6cd3cd6939a9fd2812f9956bf553 |