Mercurial > hg
annotate tests/test-convert-hg-source.t @ 26750:9f9ec4abe700
cmdutil: make in-memory changes visible to external editor (issue4378)
Before this patch, external editor process for the commit log can't
view some in-memory changes (especially, of dirstate), because they
aren't written out until the end of transaction (or wlock).
This causes unexpected output of Mercurial commands spawned from that
editor process.
To make in-memory changes visible to external editor process, this
patch does:
- write (or schedule to write) in-memory dirstate changes, and
- set HG_PENDING environment variable, if:
- a transaction is running, and
- there are in-memory changes to be visible
"hg diff" spawned from external editor process for "hg qrefresh"
shows:
- "changes newly imported into the topmost" before 49148d7868df(*)
- "all changes recorded in the topmost by refreshing" after this patch
(*) 49148d7868df changed steps invoking editor process
Even though backward compatibility may be broken, the latter behavior
looks reasonable, because "hg diff" spawned from the editor process
consistently shows "what changes new revision records" regardless of
invocation context.
In fact, issue4378 itself should be resolved by 800e090e9c64, which
made 'repo.transaction()' write in-memory dirstate changes out
explicitly before starting transaction. It also made "hg qrefresh"
imply 'dirstate.write()' before external editor invocation in call
chain below.
- mq.queue.refresh
- strip.strip
- repair.strip
- localrepository.transaction
- dirstate.write
- localrepository.commit
- invoke external editor
Though, this patch has '(issue4378)' in own summary line to indicate
that issues like issue4378 should be fixed by this.
BTW, this patch adds '-m' option to a 'hg ci --amend' execution in
'test-commit-amend.t', to avoid invoking external editor process.
In this case, "unsure" states may be changed to "clean" according to
timestamp or so on. These changes should be written into pending file,
if external editor invocation is required,
Then, writing dirstate changes out breaks stability of test, because
it shows "transaction abort!/rollback completed" occasionally.
Aborting after editor process invocation while commands below may
cause similar instability of tests, too (AFAIK, there is no more such
one, at this revision)
- commit --amend
- without --message/--logfile
- import
- without --message/--logfile,
- without --no-commit,
- without --bypass,
- one of below, and
- patch has no description text, or
- with --edit
- aborting at the 1st patch, which adds or removes file(s)
- if it only changes existing files, status is checked only for
changed files by 'scmutil.matchfiles()', and transition from
"unsure" to "normal" in dirstate doesn't occur (= dirstate
isn't changed, and written out)
- aborting at the 2nd or later patch implies other pending
changes (e.g. changelog), and always causes showing
"transaction abort!/rollback completed"
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 17 Oct 2015 01:15:34 +0900 |
parents | 1538e72209fd |
children | 75be14993fda |
rev | line source |
---|---|
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
1 $ cat >> $HGRCPATH <<EOF |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
2 > [extensions] |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
3 > convert= |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
4 > [convert] |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
5 > hg.saverev=False |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
6 > EOF |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
7 $ hg init orig |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
8 $ cd orig |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
9 $ echo foo > foo |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
10 $ echo bar > bar |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
11 $ hg ci -qAm 'add foo bar' -d '0 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
12 $ echo >> foo |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
13 $ hg ci -m 'change foo' -d '1 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
14 $ hg up -qC 0 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
15 $ hg copy --after --force foo bar |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
16 $ hg copy foo baz |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
17 $ hg ci -m 'make bar and baz copies of foo' -d '2 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
18 created new head |
23167
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
19 |
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
20 Test that template can print all file copies (issue4362) |
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
21 $ hg log -r . --template "{file_copies % ' File: {file_copy}\n'}" |
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
22 File: bar (foo) |
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
23 File: baz (foo) |
a3c2d9211294
templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents:
21404
diff
changeset
|
24 |
13866
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
25 $ hg bookmark premerge1 |
16708
4a02cf4fbb2e
merge: respect bookmarks during merge
David Soria Parra <dsp@php.net>
parents:
15442
diff
changeset
|
26 $ hg merge -r 1 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
27 merging baz and foo to baz |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
28 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
29 (branch merge, don't forget to commit) |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
30 $ hg ci -m 'merge local copy' -d '3 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
31 $ hg up -C 1 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
32 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
21404
ca275f7ec576
update: when deactivating a bookmark, print a message
Siddharth Agarwal <sid0@fb.com>
parents:
16899
diff
changeset
|
33 (leaving bookmark premerge1) |
13866
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
34 $ hg bookmark premerge2 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
35 $ hg merge 2 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
36 merging foo and baz to baz |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
37 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
38 (branch merge, don't forget to commit) |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
39 $ hg ci -m 'merge remote copy' -d '4 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
40 created new head |
25305
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
41 |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
42 Make and delete some tags |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
43 |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
44 $ hg tag that |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
45 $ hg tag --remove that |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
46 $ hg tag this |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
47 |
16899
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
48 #if execbit |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
49 $ chmod +x baz |
16899
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
50 #else |
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
51 $ echo some other change to make sure we get a rev 5 > baz |
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
52 #endif |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
53 $ hg ci -m 'mark baz executable' -d '5 0' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
54 $ cd .. |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
55 $ hg convert --datesort orig new 2>&1 | grep -v 'subversion python bindings could not be loaded' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
56 initializing destination new repository |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
57 scanning source... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
58 sorting... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
59 converting... |
25305
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
60 8 add foo bar |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
61 7 change foo |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
62 6 make bar and baz copies of foo |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
63 5 merge local copy |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
64 4 merge remote copy |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
65 3 Added tag that for changeset 88586c4e9f02 |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
66 2 Removed tag that |
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
67 1 Added tag this for changeset c56a7f387039 |
13968
82845434e974
convert: make filemap prune useless branch closing revs (issue2774)
Patrick Mezard <pmezard@gmail.com>
parents:
12526
diff
changeset
|
68 0 mark baz executable |
13866
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
69 updating bookmarks |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
70 $ cd new |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
71 $ hg out ../orig |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
72 comparing with ../orig |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
73 searching for changes |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
74 no changes found |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
75 [1] |
16899
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
76 #if execbit |
13866
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
77 $ hg bookmarks |
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
78 premerge1 3:973ef48a98a4 |
25305
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
79 premerge2 8:91d107c423ba |
16899
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
80 #else |
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
81 Different hash because no x bit |
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
82 $ hg bookmarks |
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
83 premerge1 3:973ef48a98a4 |
25305
884ef09cf658
convert: properly pass null ids through .hgtags (issue4678)
Matt Mackall <mpm@selenic.com>
parents:
23167
diff
changeset
|
84 premerge2 8:3537b15eaaca |
16899
8149ff405c78
tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16708
diff
changeset
|
85 #endif |
25697
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
86 |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
87 Test that redoing a convert results in an identical graph |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
88 $ cd ../ |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
89 $ rm new/.hg/shamap |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
90 $ hg convert --datesort orig new 2>&1 | grep -v 'subversion python bindings could not be loaded' |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
91 scanning source... |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
92 sorting... |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
93 converting... |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
94 8 add foo bar |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
95 7 change foo |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
96 6 make bar and baz copies of foo |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
97 5 merge local copy |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
98 4 merge remote copy |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
99 3 Added tag that for changeset 88586c4e9f02 |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
100 2 Removed tag that |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
101 1 Added tag this for changeset c56a7f387039 |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
102 0 mark baz executable |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
103 updating bookmarks |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
104 $ hg -R new log -G -T '{rev} {desc}' |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
105 o 8 mark baz executable |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
106 | |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
107 o 7 Added tag this for changeset c56a7f387039 |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
108 | |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
109 o 6 Removed tag that |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
110 | |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
111 o 5 Added tag that for changeset 88586c4e9f02 |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
112 | |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
113 o 4 merge remote copy |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
114 |\ |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
115 +---o 3 merge local copy |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
116 | |/ |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
117 | o 2 make bar and baz copies of foo |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
118 | | |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
119 o | 1 change foo |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
120 |/ |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
121 o 0 add foo bar |
1538e72209fd
convert: fix bug with converting the same commit twice
Durham Goode <durham@fb.com>
parents:
25305
diff
changeset
|
122 |
5280
11e1e574da02
convert: mercurial_source: also search for copies in modified files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
123 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
124 check shamap LF and CRLF handling |
7231
8e7130a10f3b
convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents:
5811
diff
changeset
|
125 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
126 $ cat > rewrite.py <<EOF |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
127 > import sys |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
128 > # Interlace LF and CRLF |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
129 > lines = [(l.rstrip() + ((i % 2) and '\n' or '\r\n')) |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
130 > for i, l in enumerate(file(sys.argv[1]))] |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
131 > file(sys.argv[1], 'wb').write(''.join(lines)) |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
132 > EOF |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
133 $ python rewrite.py new/.hg/shamap |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
134 $ cd orig |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
135 $ hg up -qC 1 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
136 $ echo foo >> foo |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
137 $ hg ci -qm 'change foo again' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
138 $ hg up -qC 2 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
139 $ echo foo >> foo |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
140 $ hg ci -qm 'change foo again again' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
141 $ cd .. |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
142 $ hg convert --datesort orig new 2>&1 | grep -v 'subversion python bindings could not be loaded' |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
143 scanning source... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
144 sorting... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
145 converting... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
146 1 change foo again again |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
147 0 change foo again |
13866
2f93a4a10144
convert: add hg source bookmark test
Edouard Gomez <ed.gomez@free.fr>
parents:
12526
diff
changeset
|
148 updating bookmarks |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
149 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
150 init broken repository |
9528
314fc589b313
convert: make mapfile handle LF and CRLF shamap (issue1846)
Patrick Mezard <pmezard@gmail.com>
parents:
7231
diff
changeset
|
151 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
152 $ hg init broken |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
153 $ cd broken |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
154 $ echo a >> a |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
155 $ echo b >> b |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
156 $ hg ci -qAm init |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
157 $ echo a >> a |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
158 $ echo b >> b |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
159 $ hg copy b c |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
160 $ hg ci -qAm changeall |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
161 $ hg up -qC 0 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
162 $ echo bc >> b |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
163 $ hg ci -m changebagain |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
164 created new head |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
165 $ HGMERGE=internal:local hg -q merge |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
166 $ hg ci -m merge |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
167 $ hg mv b d |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
168 $ hg ci -m moveb |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
169 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
170 break it |
7231
8e7130a10f3b
convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents:
5811
diff
changeset
|
171 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
172 $ rm .hg/store/data/b.* |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
173 $ cd .. |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
174 $ hg --config convert.hg.ignoreerrors=True convert broken fixed |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
175 initializing destination fixed repository |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
176 scanning source... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
177 sorting... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
178 converting... |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
179 4 init |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
180 ignoring: data/b.i@1e88685f5dde: no match found |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
181 3 changeall |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
182 2 changebagain |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
183 1 merge |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
184 0 moveb |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
185 $ hg -R fixed verify |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
186 checking changesets |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
187 checking manifests |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
188 crosschecking files in changesets and manifests |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
189 checking files |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
190 3 files, 5 changesets, 5 total revisions |
5280
11e1e574da02
convert: mercurial_source: also search for copies in modified files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
191 |
12526
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
192 manifest -r 0 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
193 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
194 $ hg -R fixed manifest -r 0 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
195 a |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
196 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
197 manifest -r tip |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
198 |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
199 $ hg -R fixed manifest -r tip |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
200 a |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
201 c |
9892949bd969
tests: unify test-convert-hg-source
Matt Mackall <mpm@selenic.com>
parents:
11673
diff
changeset
|
202 d |