annotate tests/test-rename-dir-merge2 @ 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 c95060a5391a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4117
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
1 #!/bin/sh
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
3 mkdir r1
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
4 cd r1
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
5 hg init
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6 mkdir a
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
7 echo foo > a/f
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
8 hg add a
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
9 hg ci -m "a/f == foo"
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
10 cd ..
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
11
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
12 hg clone r1 r2
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
13 cd r2
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
14 hg mv a b
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15 echo foo1 > b/f
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
16 hg ci -m" a -> b, b/f == foo1"
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
17 cd ..
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
18
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
19 cd r1
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
20 mkdir a/aa
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
21 echo bar > a/aa/g
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
22 hg add a/aa
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23 hg ci -m "a/aa/g"
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
24 hg pull ../r2
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
25
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
26 hg merge
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
27
c95060a5391a merge: fix renaming of subdirectories under renamed directories
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
28 hg st -C