annotate tests/test-convert-git.t @ 29151:7996c3acc33b

wireproto: optimize handling of large batch responses Now that batch can be used by remotefilelog, the quadratic string copying this was doing was actually disastrous. In my local testing, fetching a 56 meg file used to take 3 minutes, and now takes only a few seconds.
author Augie Fackler <augie@google.com>
date Thu, 12 May 2016 09:39:14 -0400
parents a56296f55a5e
children ea3540e66fd8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21868
diff changeset
1 #require git
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
2
16892
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 15243
diff changeset
3 $ echo "[core]" >> $HOME/.gitconfig
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 15243
diff changeset
4 $ echo "autocrlf = false" >> $HOME/.gitconfig
16954
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16893
diff changeset
5 $ echo "[core]" >> $HOME/.gitconfig
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16893
diff changeset
6 $ echo "autocrlf = false" >> $HOME/.gitconfig
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
7 $ echo "[extensions]" >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
8 $ echo "convert=" >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
9 $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
10 $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
11 $ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
12 $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
13 $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
14 $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
15 $ INVALIDID1=afd12345af
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
16 $ INVALIDID2=28173x36ddd1e67bf7098d541130558ef5534a86
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
17 $ VALIDID1=39b3d83f9a69a9ba4ebb111461071a0af0027357
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
18 $ VALIDID2=8dd6476bd09d9c7776355dc454dafe38efaec5da
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
19 $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
20 $ commit()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
21 > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
22 > GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
23 > GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
24 > git commit "$@" >/dev/null 2>/dev/null || echo "git commit error"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
25 > count=`expr $count + 1`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
26 > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
27 $ mkdir git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
28 $ cd git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
29 $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
30 $ echo a > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
31 $ mkdir d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
32 $ echo b > d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
33 $ git add a d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
34 $ commit -a -m t1
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
35
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
36 Remove the directory, then try to replace it with a file (issue754)
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
37
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
38 $ git rm -f d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
39 rm 'd/b'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
40 $ commit -m t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
41 $ echo d > d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
42 $ git add d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
43 $ commit -m t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
44 $ echo b >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
45 $ commit -a -m t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
46 $ git checkout -b other HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
47 $ echo c > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
48 $ echo a >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
49 $ commit -a -m t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
50 $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
51 $ git pull --no-commit . other > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
52 $ commit -m 'Merge branch other'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
53 $ cd ..
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
54 $ hg convert --config extensions.progress= --config progress.assume-tty=1 \
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
55 > --config progress.delay=0 --config progress.changedelay=0 \
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
56 > --config progress.refresh=0 --config progress.width=60 \
27002
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
57 > --config progress.format='topic, bar, number' --datesort git-repo
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
58 \r (no-eol) (esc)
22413
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
59 scanning [======> ] 1/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
60 scanning [=============> ] 2/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
61 scanning [=====================> ] 3/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
62 scanning [============================> ] 4/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
63 scanning [===================================> ] 5/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
64 scanning [===========================================>] 6/6\r (no-eol) (esc)
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
65 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
66 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
67 converting [ ] 0/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
68 getting files [==================> ] 1/2\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
69 getting files [======================================>] 2/2\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
70 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
71 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
72 converting [======> ] 1/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
73 getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
74 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
75 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
76 converting [=============> ] 2/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
77 getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
78 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
79 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
80 converting [====================> ] 3/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
81 getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
82 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
83 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
84 converting [===========================> ] 4/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
85 getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
86 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
87 \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
88 converting [==================================> ] 5/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
89 getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
90 \r (no-eol) (esc)
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
91 assuming destination git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
92 initializing destination git-repo-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
93 scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
94 sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
95 converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
96 5 t1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
97 4 t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
98 3 t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
99 2 t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
100 1 t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
101 0 Merge branch other
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
102 updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
103 $ hg up -q -R git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
104 $ hg -R git-repo-hg tip -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
105 changeset: 5:c78094926be2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
106 bookmark: master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
107 tag: tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
108 parent: 3:f5f5cb45432b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
109 parent: 4:4e174f80c67c
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
110 user: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
111 date: Mon Jan 01 00:00:15 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
112 files: a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
113 description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
114 Merge branch other
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
115
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
116
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
117 $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
118 $ mkdir git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
119 $ cd git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
120 $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
121 $ echo foo > foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
122 $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
123 $ commit -a -m 'add foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
124 $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
125 $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
126 $ git checkout -b Bar HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
127 $ echo quux >> quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
128 $ git add quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
129 $ commit -a -m 'add quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
130 $ echo bar > bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
131 $ git add bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
132 $ commit -a -m 'add bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
133 $ git checkout -b Baz HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
134 $ echo baz > baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
135 $ git add baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
136 $ commit -a -m 'add baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
137 $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
138 $ git pull --no-commit . Bar Baz > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
139 $ commit -m 'Octopus merge'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
140 $ echo bar >> bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
141 $ commit -a -m 'change bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
142 $ git checkout -b Foo HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
143 $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
144 $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
145 $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
146 $ git pull --no-commit -s ours . Foo > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
147 $ commit -m 'Discard change to foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
148 $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
149 $ glog()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
150 > {
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19121
diff changeset
151 > hg log -G --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
152 > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
153 $ splitrepo()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
154 > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
155 > msg="$1"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
156 > files="$2"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
157 > opts=$3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
158 > echo "% $files: $msg"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
159 > prefix=`echo "$files" | sed -e 's/ /-/g'`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
160 > fmap="$prefix.fmap"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
161 > repo="$prefix.repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
162 > for i in $files; do
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12530
diff changeset
163 > echo "include $i" >> "$fmap"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
164 > done
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
165 > hg -q convert $opts --filemap "$fmap" --datesort git-repo2 "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
166 > hg up -q -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
167 > glog -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
168 > hg -R "$repo" manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
169 > }
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
170
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
171 full conversion
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
172
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
173 $ hg convert --datesort git-repo2 fullrepo \
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
174 > --config extensions.progress= --config progress.assume-tty=1 \
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
175 > --config progress.delay=0 --config progress.changedelay=0 \
27002
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
176 > --config progress.refresh=0 --config progress.width=60 \
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
177 > --config progress.format='topic, bar, number'
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
178 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
179 scanning [===> ] 1/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
180 scanning [========> ] 2/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
181 scanning [=============> ] 3/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
182 scanning [==================> ] 4/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
183 scanning [=======================> ] 5/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
184 scanning [============================> ] 6/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
185 scanning [=================================> ] 7/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
186 scanning [======================================> ] 8/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
187 scanning [===========================================>] 9/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
188 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
189 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
190 converting [ ] 0/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
191 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
192 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
193 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
194 converting [===> ] 1/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
195 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
196 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
197 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
198 converting [========> ] 2/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
199 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
200 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
201 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
202 converting [=============> ] 3/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
203 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
204 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
205 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
206 converting [=================> ] 4/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
207 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
208 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
209 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
210 converting [======================> ] 5/9\r (no-eol) (esc)
24328
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
211 getting files [===> ] 1/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
212 getting files [========> ] 2/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
213 getting files [=============> ] 3/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
214 getting files [==================> ] 4/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
215 getting files [=======================> ] 5/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
216 getting files [============================> ] 6/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
217 getting files [=================================> ] 7/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
218 getting files [======================================>] 8/8\r (no-eol) (esc)
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
219 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
220 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
221 converting [===========================> ] 6/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
222 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
223 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
224 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
225 converting [===============================> ] 7/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
226 getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
227 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
228 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
229 converting [====================================> ] 8/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
230 getting files [==================> ] 1/2\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
231 getting files [======================================>] 2/2\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
232 \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
233 initializing destination fullrepo repository
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
234 scanning source...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
235 sorting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
236 converting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
237 8 add foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
238 7 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
239 6 add quux
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
240 5 add bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
241 4 add baz
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
242 3 Octopus merge
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
243 2 change bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
244 1 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
245 0 Discard change to foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
246 updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
247 $ hg up -q -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
248 $ glog -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
249 @ 9 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
250 |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
251 | o 8 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
252 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
253 o | 7 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
254 |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
255 o 6 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
256 |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
257 | o 5 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
258 | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
259 o | | 4 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
260 | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
261 +---o 3 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
262 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
263 o | 2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
264 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
265 | o 1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
266 |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
267 o 0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
268
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
269 $ hg -R fullrepo manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
270 245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
271 354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
272 9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
273 88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
274 $ splitrepo 'octopus merge' 'foo bar baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
275 % foo bar baz: octopus merge
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
276 @ 8 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
277 |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
278 | o 7 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
279 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
280 o | 6 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
281 |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
282 o 5 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
283 |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
284 | o 4 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
285 | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
286 o | | 3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
287 | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
288 +---o 2 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
289 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
290 | o 1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
291 |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
292 o 0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
293
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
294 245a3b8bc653999c2b22cdabd517ccb47aecafdf 644 bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
295 354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
296 9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
297 $ splitrepo 'only some parents of an octopus merge; "discard" a head' 'foo baz quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
298 % foo baz quux: only some parents of an octopus merge; "discard" a head
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
299 @ 6 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
300 |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
301 o 5 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
302 |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
303 o 4 "Octopus merge" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
304 |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
305 | o 3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
306 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
307 | o 2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
308 | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
309 o | 1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
310 |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
311 o 0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
312
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
313 354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
314 9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
315 88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
316
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
317 test importing git renames and copies
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
318
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
319 $ cd git-repo2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
320 $ git mv foo foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
321 since bar is not touched in this commit, this copy will not be detected
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
322 $ cp bar bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
323 $ cp baz baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
324 $ cp baz baz-copied2
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
325 $ cp baz ba-copy
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
326 $ echo baz2 >> baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
327 $ git add bar-copied baz-copied baz-copied2 ba-copy
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
328 $ commit -a -m 'rename and copy'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
329 $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
330
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
331 input validation
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
332 $ hg convert --config convert.git.similarity=foo --datesort git-repo2 fullrepo
22511
b1ec65b3ba31 convert: simplify git.similarity parsing
Siddharth Agarwal <sid0@fb.com>
parents: 22471
diff changeset
333 abort: convert.git.similarity is not an integer ('foo')
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
334 [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
335 $ hg convert --config convert.git.similarity=-1 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
336 abort: similarity must be between 0 and 100
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
337 [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
338 $ hg convert --config convert.git.similarity=101 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
339 abort: similarity must be between 0 and 100
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
340 [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
341
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
342 $ hg -q convert --config convert.git.similarity=100 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
343 $ hg -R fullrepo status -C --change master
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
344 M baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
345 A ba-copy
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
346 baz
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
347 A bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
348 A baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
349 baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
350 A baz-copied2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
351 baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
352 A foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
353 foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
354 R foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
355
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
356 Ensure that the modification to the copy source was preserved
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
357 (there was a bug where if the copy dest was alphabetically prior to the copy
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
358 source, the copy source took the contents of the copy dest)
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
359 $ hg cat -r tip fullrepo/baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
360 baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
361 baz2
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
362
22471
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
363 $ cd git-repo2
22558
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
364 $ echo bar2 >> bar
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
365 $ commit -a -m 'change bar'
22471
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
366 $ cp bar bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
367 $ git add bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
368 $ commit -a -m 'copy with no changes'
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
369 $ cd ..
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
370
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
371 $ hg -q convert --config convert.git.similarity=100 \
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
372 > --config convert.git.findcopiesharder=1 --datesort git-repo2 fullrepo
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
373 $ hg -R fullrepo status -C --change master
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
374 A bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
375 bar
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
376
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
377 test binary conversion (issue1359)
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
378
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
379 $ count=19
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
380 $ mkdir git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
381 $ cd git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
382 $ git init-db >/dev/null 2>/dev/null
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22558
diff changeset
383 $ $PYTHON -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
384 $ git add b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
385 $ commit -a -m addbinary
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
386 $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
387
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
388 convert binary file
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
389
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
390 $ hg convert git-repo3 git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
391 initializing destination git-repo3-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
392 scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
393 sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
394 converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
395 0 addbinary
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
396 updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
397 $ cd git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
398 $ hg up -C
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
399 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22558
diff changeset
400 $ $PYTHON -c 'print len(file("b", "rb").read())'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
401 4096
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
402 $ cd ..
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
403
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
404 test author vs committer
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
405
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
406 $ mkdir git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
407 $ cd git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
408 $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
409 $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
410 $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
411 $ commit -a -m addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
412 $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
413 $ GIT_AUTHOR_NAME="nottest"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
414 $ commit -a -m addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
415 $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
416
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
417 convert author committer
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
418
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
419 $ hg convert git-repo4 git-repo4-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
420 initializing destination git-repo4-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
421 scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
422 sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
423 converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
424 1 addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
425 0 addfoo2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
426 updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
427 $ hg -R git-repo4-hg log -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
428 changeset: 1:d63e967f93da
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
429 bookmark: master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
430 tag: tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
431 user: nottest <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
432 date: Mon Jan 01 00:00:21 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
433 files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
434 description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
435 addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
436
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
437 committer: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
438
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
439
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
440 changeset: 0:0735477b0224
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
441 user: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
442 date: Mon Jan 01 00:00:20 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
443 files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
444 description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
445 addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
446
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
447
8691
a0a541d6fed6 convert: fail fast if source does not support --sourcesort
Patrick Mezard <pmezard@gmail.com>
parents: 8523
diff changeset
448
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
449 --sourceorder should fail
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
450
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
451 $ hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
452 initializing destination git-repo4-sourcesort-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
453 abort: --sourcesort is not supported by this data source
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
454 [255]
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
455
25749
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
456 test converting certain branches
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
457
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
458 $ mkdir git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
459 $ cd git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
460 $ git init
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
461 Initialized empty Git repository in $TESTTMP/git-testrevs/.git/
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
462 $ echo a >> a ; git add a > /dev/null; git commit -m 'first' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
463 $ echo a >> a ; git add a > /dev/null; git commit -m 'master commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
464 $ git checkout -b goodbranch 'HEAD^'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
465 Switched to a new branch 'goodbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
466 $ echo a >> b ; git add b > /dev/null; git commit -m 'good branch commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
467 $ git checkout -b badbranch 'HEAD^'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
468 Switched to a new branch 'badbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
469 $ echo a >> c ; git add c > /dev/null; git commit -m 'bad branch commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
470 $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
471 $ hg convert git-testrevs hg-testrevs --rev master --rev goodbranch
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
472 initializing destination hg-testrevs repository
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
473 scanning source...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
474 sorting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
475 converting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
476 2 first
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
477 1 good branch commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
478 0 master commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
479 updating bookmarks
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
480 $ cd hg-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
481 $ hg log -G -T '{rev} {bookmarks}'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
482 o 2 master
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
483 |
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
484 | o 1 goodbranch
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
485 |/
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
486 o 0
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
487
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
488 $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
489
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
490 test sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
491
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
492 $ mkdir git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
493 $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
494 $ git init-db >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
495 $ echo 'sub' >> foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
496 $ git add foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
497 $ commit -a -m 'addfoo'
18508
813b7a1f7036 tests: use `pwd` instead of ${PWD} in test-convert-git.t - because of Solaris
Mads Kiilerich <mads@kiilerich.com>
parents: 17929
diff changeset
498 $ BASE=`pwd`
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
499 $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
500 $ mkdir git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
501 $ cd git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
502 $ git init-db >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
503 $ git submodule add ${BASE} >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
504 $ commit -a -m 'addsubmodule' >/dev/null 2>/dev/null
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
505
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
506 test non-tab whitespace .gitmodules
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
507
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
508 $ cat >> .gitmodules <<EOF
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
509 > [submodule "git-repo5"]
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
510 > path = git-repo5
25722
eb15c5be381c test-convert-git: use a relative gitmodule url
Matt Harbison <matt_harbison@yahoo.com>
parents: 25721
diff changeset
511 > url = git-repo5
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
512 > EOF
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
513 $ git commit -q -a -m "weird white space submodule"
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
514 $ cd ..
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
515 $ hg convert git-repo6 hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
516 initializing destination hg-repo6 repository
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
517 scanning source...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
518 sorting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
519 converting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
520 1 addsubmodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
521 0 weird white space submodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
522 updating bookmarks
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
523
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
524 $ rm -rf hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
525 $ cd git-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
526 $ git reset --hard 'HEAD^' > /dev/null
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
527
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
528 test missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
529
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
530 $ git submodule add ../git-repo4 >/dev/null 2>/dev/null
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
531 $ git checkout HEAD .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
532 $ git rm .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
533 rm '.gitmodules'
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
534 $ git commit -q -m "remove .gitmodules" .gitmodules
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
535 $ git commit -q -m "missing .gitmodules"
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
536 $ cd ..
26970
6d99cc89ee0e test-convert-git: drop a git warning that doesn't occur on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26903
diff changeset
537 $ hg convert git-repo6 hg-repo6 --traceback 2>&1 | grep -v "fatal: Path '.gitmodules' does not exist"
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
538 initializing destination hg-repo6 repository
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
539 scanning source...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
540 sorting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
541 converting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
542 2 addsubmodule
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
543 1 remove .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
544 0 missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
545 warning: cannot read submodules config file in * (glob)
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
546 updating bookmarks
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
547 $ rm -rf hg-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
548 $ cd git-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
549 $ rm -rf git-repo4
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
550 $ git reset --hard 'HEAD^^' > /dev/null
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
551 $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
552
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
553 test invalid splicemap1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
554
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
555 $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
556 > $VALIDID1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
557 > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
558 $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap1-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
559 initializing destination git-repo2-splicemap1-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
560 abort: syntax error in splicemap(1): child parent1[,parent2] expected
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
561 [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
562
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
563 test invalid splicemap2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
564
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
565 $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
566 > $VALIDID1 $VALIDID2, $VALIDID2, $VALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
567 > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
568 $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap2-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
569 initializing destination git-repo2-splicemap2-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
570 abort: syntax error in splicemap(1): child parent1[,parent2] expected
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
571 [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
572
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
573 test invalid splicemap3
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
574
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
575 $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
576 > $INVALIDID1 $INVALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
577 > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
578 $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap3-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
579 initializing destination git-repo2-splicemap3-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
580 abort: splicemap entry afd12345af is not a valid revision identifier
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
581 [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
582
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
583 convert sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
584 $ hg convert git-repo6 git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
585 initializing destination git-repo6-hg repository
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
586 scanning source...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
587 sorting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
588 converting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
589 0 addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
590 updating bookmarks
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
591 $ hg -R git-repo6-hg log -v
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
592 changeset: 0:* (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
593 bookmark: master
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
594 tag: tip
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
595 user: nottest <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
596 date: Mon Jan 01 00:00:23 2007 +0000
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
597 files: .hgsub .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
598 description:
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
599 addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
600
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
601 committer: test <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
602
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
603
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
604
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
605 $ cd git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
606 $ hg up >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
607 $ cat .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
608 * git-repo5 (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
609 $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
610 $ cat foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
611 sub
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
612
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
613 $ cd ../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
614
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
615 make sure rename detection doesn't break removing and adding gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
616
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
617 $ cd git-repo6
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
618 $ git mv .gitmodules .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
619 $ commit -a -m 'rename .gitmodules'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
620 $ git mv .gitmodules-renamed .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
621 $ commit -a -m 'rename .gitmodules back'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
622 $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
623
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
624 $ hg --config convert.git.similarity=100 convert -q git-repo6 git-repo6-hg
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
625 $ hg -R git-repo6-hg log -r 'tip^' -T "{desc|firstline}\n"
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
626 rename .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
627 $ hg -R git-repo6-hg status -C --change 'tip^'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
628 A .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
629 R .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
630 R .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
631 $ hg -R git-repo6-hg log -r tip -T "{desc|firstline}\n"
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
632 rename .gitmodules back
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
633 $ hg -R git-repo6-hg status -C --change tip
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
634 A .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
635 A .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
636 R .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
637
21868
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
638 convert the revision removing '.gitmodules' itself (and related
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
639 submodules)
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
640
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
641 $ cd git-repo6
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
642 $ git rm .gitmodules
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
643 rm '.gitmodules'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
644 $ git rm --cached git-repo5
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
645 rm 'git-repo5'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
646 $ commit -a -m 'remove .gitmodules and submodule git-repo5'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
647 $ cd ..
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
648
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
649 $ hg convert -q git-repo6 git-repo6-hg
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
650 $ hg -R git-repo6-hg tip -T "{desc|firstline}\n"
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
651 remove .gitmodules and submodule git-repo5
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
652 $ hg -R git-repo6-hg tip -T "{file_dels}\n"
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
653 .hgsub .hgsubstate
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
654
26077
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
655 skip submodules in the conversion
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
656
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
657 $ hg convert -q git-repo6 no-submodules --config convert.git.skipsubmodules=True
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
658 $ hg -R no-submodules manifest --all
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
659 .gitmodules-renamed
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
660
25787
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
661 convert using a different remote prefix
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
662 $ git init git-repo7
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
663 Initialized empty Git repository in $TESTTMP/git-repo7/.git/
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
664 $ cd git-repo7
26040
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
665 TODO: it'd be nice to use (?) lines instead of grep -v to handle the
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
666 git output variance, but that doesn't currently work in the middle of
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
667 a block, so do this for now.
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
668 $ touch a && git add a && git commit -am "commit a" | grep -v changed
25787
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
669 [master (root-commit) 8ae5f69] commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
670 Author: nottest <test@example.org>
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
671 create mode 100644 a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
672 $ cd ..
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
673 $ git clone git-repo7 git-repo7-client
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
674 Cloning into 'git-repo7-client'...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
675 done.
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
676 $ hg convert --config convert.git.remoteprefix=origin git-repo7-client hg-repo7
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
677 initializing destination hg-repo7 repository
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
678 scanning source...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
679 sorting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
680 converting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
681 0 commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
682 updating bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
683 $ hg -R hg-repo7 bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
684 master 0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
685 origin/master 0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
686
25905
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
687 Run convert when the remote branches have changed
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
688 (there was an old bug where the local convert read branches from the server)
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
689
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
690 $ cd git-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
691 $ echo a >> a
26903
7e8912dbcea2 test-convert-git: silence commit output for stablity
Matt Harbison <matt_harbison@yahoo.com>
parents: 26077
diff changeset
692 $ git commit -q -am "move master forward"
25905
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
693 $ cd ..
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
694 $ rm -rf hg-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
695 $ hg convert --config convert.git.remoteprefix=origin git-repo7-client hg-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
696 initializing destination hg-repo7 repository
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
697 scanning source...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
698 sorting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
699 converting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
700 0 commit a
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
701 updating bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
702 $ hg -R hg-repo7 bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
703 master 0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
704 origin/master 0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
705
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
706 damaged git repository tests:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
707 In case the hard-coded hashes change, the following commands can be used to
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
708 list the hashes and their corresponding types in the repository:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
709 cd git-repo4/.git/objects
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
710 find . -type f | cut -c 3- | sed 's_/__' | xargs -n 1 -t git cat-file -t
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
711 cd ../../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
712
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
713 damage git repository by renaming a commit object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
714 $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
715 $ mv git-repo4/.git/objects/$COMMIT_OBJ git-repo4/.git/objects/$COMMIT_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
716 $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
29051
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
717 abort: cannot retrieve number of commits in $TESTTMP/git-repo4/.git
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
718 $ mv git-repo4/.git/objects/$COMMIT_OBJ.tmp git-repo4/.git/objects/$COMMIT_OBJ
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
719 damage git repository by renaming a blob object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
720
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
721 $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
722 $ mv git-repo4/.git/objects/$BLOB_OBJ git-repo4/.git/objects/$BLOB_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
723 $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
724 abort: cannot read 'blob' object at 8b137891791fe96927ad78e64b0aad7bded08bdc
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
725 $ mv git-repo4/.git/objects/$BLOB_OBJ.tmp git-repo4/.git/objects/$BLOB_OBJ
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
726 damage git repository by renaming a tree object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
727
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
728 $ TREE_OBJ=72/49f083d2a63a41cc737764a86981eb5f3e4635
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
729 $ mv git-repo4/.git/objects/$TREE_OBJ git-repo4/.git/objects/$TREE_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
730 $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
731 abort: cannot read changes in 1c0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
28663
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
732
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
733 #if no-windows
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
734
28663
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
735 test for escaping the repo name (CVE-2016-3069)
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
736
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
737 $ git init '`echo pwned >COMMAND-INJECTION`'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
738 Initialized empty Git repository in $TESTTMP/`echo pwned >COMMAND-INJECTION`/.git/
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
739 $ cd '`echo pwned >COMMAND-INJECTION`'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
740 $ git commit -q --allow-empty -m 'empty'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
741 $ cd ..
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
742 $ hg convert '`echo pwned >COMMAND-INJECTION`' 'converted'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
743 initializing destination converted repository
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
744 scanning source...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
745 sorting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
746 converting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
747 0 empty
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
748 updating bookmarks
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
749 $ test -f COMMAND-INJECTION
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
750 [1]
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
751
29051
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
752 test for safely passing paths to git (CVE-2016-3105)
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
753
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
754 $ git init 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
755 Initialized empty Git repository in $TESTTMP/ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #/.git/
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
756 $ cd 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
757 $ git commit -q --allow-empty -m 'empty'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
758 $ cd ..
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
759 $ hg convert 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #' 'converted-git-ext'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
760 initializing destination converted-git-ext repository
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
761 scanning source...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
762 sorting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
763 converting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
764 0 empty
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
765 updating bookmarks
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
766 $ test -f GIT-EXT-COMMAND-INJECTION
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
767 [1]
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
768
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
769 #endif
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
770