Mercurial > hg
annotate tests/test-remotefilelog-strip.t @ 51467:68ed56baabf5 stable
rust-index: don't use mutable borrow to computed filtered heads
This does not need to mutate the index.
This is the prime suspect for some RuntimeError raised during some pushes.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 05 Mar 2024 15:07:47 +0100 |
parents | 47a9527731c3 |
children |
rev | line source |
---|---|
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 |