annotate tests/test-copy-move-merge @ 5377:756a43a30e34

convert: readd --filemap To handle merges correctly, this revision adds a filemap_source class that wraps a converter_source and does the work necessary to calculate the subgraph we're interested in. The wrapped converter_source must provide a new getchangedfiles method that, given a revision rev, and an index N, returns the list of files that are different in rev and its Nth parent. The implementation depends on the ability to skip some revisions and to change the parents field of the commit objects that we returned earlier. To make the conversion restartable, we assume the revisons in the revmapfile are topologically sorted.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Thu, 04 Oct 2007 23:21:37 -0300
parents 8d9bdcbb2b18
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5059
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
1 #!/bin/sh
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
3 mkdir t
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
4 cd t
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
5 hg init
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
7 echo 1 > a
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
8 hg ci -qAm "first" -d "1000000 0"
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
9
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
10 hg cp a b
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
11 hg mv a c
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
12 echo 2 >> b
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
13 echo 2 >> c
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
14
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15 hg ci -qAm "second" -d "1000000 0"
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
16
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
17 hg co -C 0
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
18
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
19 echo 0 > a
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
20 echo 1 >> a
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
21
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
22 hg ci -qAm "other" -d "1000000 0"
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
24 hg merge --debug
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
25
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
26 echo "-- b --"
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
27 cat b
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
28
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
29 echo "-- c --"
8d9bdcbb2b18 merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
30 cat c