annotate tests/test-convert-clonebranches.t @ 46360:1726a53a8494

reverse-branch-cache: switch to doubling allocating scheme In preperation for updating the reverse-branch-cache incrementally whenever a new changeset comes in, avoid bad performance on resize with Python 3.7 (and likely other 3.x versions). Differential Revision: https://phab.mercurial-scm.org/D9778
author Joerg Sonnenberger <joerg@bec.de>
date Fri, 15 Jan 2021 01:20:47 +0100
parents 5abc47d4ca6b
children 42d2b31cee0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
1
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
2 $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
3 > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
4 > convert =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
5 > [convert]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
6 > hg.tagsbranch = 0
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 18373
diff changeset
7 > EOF
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
8 $ hg init source
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
9 $ cd source
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
10 $ echo a > a
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
11 $ hg ci -qAm adda
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
12
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
13 Add a merge with one parent in the same branch
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
15 $ echo a >> a
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
16 $ hg ci -qAm changea
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
17 $ hg up -qC 0
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
18 $ hg branch branch0
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
19 marked working directory as branch branch0
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12518
diff changeset
20 (branches are permanent and global, did you want a bookmark?)
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
21 $ echo b > b
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
22 $ hg ci -qAm addb
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
23 $ hg up -qC
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
24 $ hg merge default
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
25 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
26 (branch merge, don't forget to commit)
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
27 $ hg ci -qm mergeab
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
28 $ hg tag -ql mergeab
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
29 $ cd ..
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
30
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
31 Miss perl... sometimes
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
32
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
33 $ cat > filter.py <<EOF
33952
794f7bb739be tests: update test-convert-clonebranches to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 32940
diff changeset
34 > from __future__ import absolute_import
794f7bb739be tests: update test-convert-clonebranches to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 32940
diff changeset
35 > import re
794f7bb739be tests: update test-convert-clonebranches to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 32940
diff changeset
36 > import sys
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
37 >
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
38 > r = re.compile(r'^(?:\d+|pulling from)')
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
39 > sys.stdout.writelines([l for l in sys.stdin if r.search(l)])
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
40 > EOF
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
41
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
42 convert
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
43
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
44 $ hg convert -v --config convert.hg.clonebranches=1 source dest |
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33952
diff changeset
45 > "$PYTHON" filter.py
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
46 3 adda
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
47 2 changea
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
48 1 addb
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
49 pulling from default into branch0
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
50 1 changesets found
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
51 0 mergeab
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
52 pulling from default into branch0
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
53 1 changesets found
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
54
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
55 Add a merge with both parents and child in different branches
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
56
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
57 $ cd source
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
58 $ hg branch branch1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
59 marked working directory as branch branch1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
60 $ echo a > file1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
61 $ hg ci -qAm c1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
62 $ hg up -qC mergeab
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
63 $ hg branch branch2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
64 marked working directory as branch branch2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
65 $ echo a > file2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
66 $ hg ci -qAm c2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
67 $ hg merge branch1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
68 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
69 (branch merge, don't forget to commit)
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
70 $ hg branch branch3
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
71 marked working directory as branch branch3
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
72 $ hg ci -qAm c3
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
73 $ cd ..
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
74
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
75 incremental conversion
5934
e495f3f35b2d convert: hg.clonebranches must pull missing parents (issue941)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
76
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
77 $ hg convert -v --config convert.hg.clonebranches=1 source dest |
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33952
diff changeset
78 > "$PYTHON" filter.py
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
79 2 c1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
80 pulling from branch0 into branch1
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
81 4 changesets found
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
82 1 c2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
83 pulling from branch0 into branch2
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
84 4 changesets found
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
85 0 c3
18373
687ed69f6fdf convert: process missing branches in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 15615
diff changeset
86 pulling from branch1 into branch3
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
87 5 changesets found
18373
687ed69f6fdf convert: process missing branches in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 15615
diff changeset
88 pulling from branch2 into branch3
12518
89f1210a1238 tests: unify test-convert-clonebranches
Matt Mackall <mpm@selenic.com>
parents: 10119
diff changeset
89 1 changesets found