##// END OF EJS Templates
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes...
Kyle Lippincott -
r47605:2819df46 default
parent child Browse files
Show More
@@ -0,0 +1,67 b''
1 #require no-windows
2
3 $ . "$TESTDIR/remotefilelog-library.sh"
4
5 $ hg init master
6 $ cd master
7 $ cat >> .hg/hgrc <<EOF
8 > [remotefilelog]
9 > server=True
10 > EOF
11 $ echo x > x
12 $ hg commit -qAm x
13
14 $ cd ..
15
16 $ hgcloneshallow ssh://user@dummy/master shallow -q
17 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
18 $ cd shallow
19
20 $ cat >> $TESTTMP/get_file_linknode.py <<EOF
21 > from mercurial import node, registrar, scmutil
22 > cmdtable = {}
23 > command = registrar.command(cmdtable)
24 > @command(b'debug-file-linknode', [(b'r', b'rev', b'.', b'rev')], b'hg debug-file-linknode FILE')
25 > def debug_file_linknode(ui, repo, file, **opts):
26 > rflctx = scmutil.revsingle(repo.unfiltered(), opts['rev']).filectx(file)
27 > ui.status(b'%s\n' % node.hex(rflctx.ancestormap()[rflctx._filenode][2]))
28 > EOF
29
30 $ cat >> .hg/hgrc <<EOF
31 > [ui]
32 > interactive=1
33 > [extensions]
34 > strip=
35 > get_file_linknode=$TESTTMP/get_file_linknode.py
36 > [experimental]
37 > evolution=createmarkers,allowunstable
38 > EOF
39 $ echo a > a
40 $ hg commit -qAm msg1
41 $ hg commit --amend 're:^$' -m msg2
42 $ hg commit --amend 're:^$' -m msg3
43 $ hg --hidden log -G -T '{rev} {node|short}'
44 @ 3 df91f74b871e
45 |
46 | x 2 70494d7ec5ef
47 |/
48 | x 1 1e423846dde0
49 |/
50 o 0 b292c1e3311f
51
52 $ hg debug-file-linknode -r 70494d a
53 df91f74b871e064c89afa1fe9e2f66afa2c125df
54 $ hg --hidden strip -r 1 3
55 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
56 saved backup bundle to $TESTTMP/shallow/.hg/strip-backup/df91f74b871e-c94d67be-backup.hg
57
58 $ hg --hidden log -G -T '{rev} {node|short}'
59 o 1 70494d7ec5ef
60 |
61 @ 0 b292c1e3311f
62
63 FIXME: This should point to a commit that actually exists in the repo. Otherwise
64 remotefilelog has to search every commit in the repository looking for a valid
65 linkrev every time it's queried, such as during push.
66 $ hg debug-file-linknode -r 70494d a
67 df91f74b871e064c89afa1fe9e2f66afa2c125df
General Comments 0
You need to be logged in to leave comments. Login now