Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-rename.out @ 1803:06e7447c7302
speed up hg log --patch
Changing dodiff to read the manifest/changelog for node1 before calling
repo.update allows us to take advantage of the revlog revision cache.
Before this patch and my previous "speed up hg log --debug" patch, when
using hg log -p to display three revisions (A, B and C), dodiff and
repo.changes would end up reading the manifests in this order:
B A B A C B C B
With both patches, this order becomes:
A A B B B B C C
(This considers only dodiff and repo.changes. I'm not sure how other
parts of hg log enter the picture.)
The speed up will depend on the revisions being displayed. (All
"before" times already have my previous "speed up hg log --debug" patch
applied.)
hg repo (tip = 414e81ae971f). hg log -p
before after
real 0m50.981s 0m45.279s
user 0m47.930s 0m42.560s
sys 0m2.526s 0m2.523s
output size: 6917897 bytes
kernel repo (tip = 9d4e135960ed). hg log -p -l64
before after
real 2m14.995s 1m45.025s
user 2m9.509s 1m33.900s
sys 0m3.663s 0m2.942s
output size: 31497621 bytes
same kernel repo. hg log -p -l64 -r c84c2069592f:0
before after
real 1m48.045s 1m0.076s
user 1m44.094s 0m58.492s
sys 0m2.603s 0m1.103s
output size: 197983 bytes
c84c2069592f was the tip of a 10 day old kernel repo that I had lying
around and was where I first tested this patch. For some weird
coincidence it's also a place where the patch makes a huge difference.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sun, 26 Feb 2006 02:26:17 +0100 |
parents | 91c56c427171 |
children | 64df4220b349 |
rev | line source |
---|---|
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
1 # rename a single file |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
2 A d2/c |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
3 R d1/d11/a1 |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
4 # rename --after a single file |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
5 A d2/c |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
6 R d1/d11/a1 |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
7 # move a single file to an existing directory |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
8 A d2/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
9 R d1/d11/a1 |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
10 # move --after a single file to an existing directory |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
11 A d2/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
12 R d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
13 # rename a file using a relative path |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
14 A d1/d11/e |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
15 R d2/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
16 # rename --after a file using a relative path |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
17 A d1/d11/e |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
18 R d2/b |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
19 # rename directory d1 as d3 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
20 copying d1/a to d3/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
21 copying d1/b to d3/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
22 copying d1/ba to d3/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
23 copying d1/d11/a1 to d3/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
24 removing d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
25 removing d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
26 removing d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
27 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
28 A d3/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
29 A d3/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
30 A d3/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
31 A d3/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
32 R d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
33 R d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
34 R d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
35 R d1/d11/a1 |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
36 # rename --after directory d1 as d3 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
37 copying d1/a to d3/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
38 copying d1/b to d3/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
39 copying d1/ba to d3/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
40 copying d1/d11/a1 to d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
41 removing d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
42 removing d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
43 removing d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
44 removing d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
45 A d3/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
46 A d3/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
47 A d3/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
48 A d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
49 R d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
50 R d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
51 R d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
52 R d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
53 # move a directory using a relative path |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
54 copying ../d1/d11/a1 to d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
55 removing ../d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
56 A d2/d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
57 R d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
58 # move --after a directory using a relative path |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
59 copying ../d1/d11/a1 to d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
60 removing ../d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
61 A d2/d3/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
62 R d1/d11/a1 |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
63 # move directory d1/d11 to an existing directory d2 (removes empty d1) |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
64 copying d1/d11/a1 to d2/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
65 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
66 A d2/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
67 R d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
68 # move directories d1 and d2 to a new directory d3 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
69 copying d1/a to d3/d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
70 copying d1/b to d3/d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
71 copying d1/ba to d3/d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
72 copying d1/d11/a1 to d3/d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
73 copying d2/b to d3/d2/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
74 removing d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
75 removing d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
76 removing d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
77 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
78 removing d2/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
79 A d3/d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
80 A d3/d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
81 A d3/d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
82 A d3/d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
83 A d3/d2/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
84 R d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
85 R d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
86 R d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
87 R d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
88 R d2/b |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
89 # move --after directories d1 and d2 to a new directory d3 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
90 copying d1/a to d3/d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
91 copying d1/b to d3/d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
92 copying d1/ba to d3/d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
93 copying d1/d11/a1 to d3/d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
94 copying d2/b to d3/d2/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
95 removing d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
96 removing d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
97 removing d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
98 removing d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
99 removing d2/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
100 A d3/d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
101 A d3/d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
102 A d3/d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
103 A d3/d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
104 A d3/d2/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
105 R d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
106 R d1/b |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
107 R d1/ba |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
108 R d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
109 R d2/b |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
110 # move everything under directory d1 to existing directory d2, do not |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
111 # overwrite existing files (d2/b) |
1513
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
112 d2/b: not overwriting - file exists |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
113 copying d1/d11/a1 to d2/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
114 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
115 A d2/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
116 A d2/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
117 A d2/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
118 R d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
119 R d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
120 R d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
121 1c1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
122 < d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
123 --- |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
124 > d2/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
125 # attempt to move potentially more than one file into a non-existent |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
126 # directory |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
127 abort: with multiple sources, destination must be an existing directory |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
128 # move every file under d1 to d2/d21 (glob) |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
129 copying d1/a to d2/d21/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
130 copying d1/b to d2/d21/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
131 copying d1/ba to d2/d21/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
132 copying d1/d11/a1 to d2/d21/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
133 removing d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
134 removing d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
135 removing d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
136 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
137 A d2/d21/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
138 A d2/d21/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
139 A d2/d21/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
140 A d2/d21/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
141 R d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
142 R d1/b |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
143 R d1/ba |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
144 R d1/d11/a1 |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
145 # move --after some files under d1 to d2/d21 (glob) |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
146 copying d1/a to d2/d21/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
147 copying d1/d11/a1 to d2/d21/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
148 removing d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
149 removing d1/d11/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
150 A d2/d21/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
151 A d2/d21/a1 |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
152 R d1/a |
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1514
diff
changeset
|
153 R d1/d11/a1 |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
154 # move every file under d1 starting with an 'a' to d2/d21 (regexp) |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
155 copying d1/a to d2/d21/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
156 copying d1/d11/a1 to d2/d21/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
157 removing d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
158 removing d1/d11/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
159 A d2/d21/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
160 A d2/d21/a1 |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
161 R d1/a |
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
162 R d1/d11/a1 |
1513
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
163 # attempt to overwrite an existing file |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
164 d1/ca: not overwriting - file exists |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
165 ? d1/ca |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
166 # forced overwrite of an existing file |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
167 A d1/ca |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
168 R d1/ba |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
169 # replace a symlink with a file |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
170 A d1/ca |
5c3b93b244aa
copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents:
1512
diff
changeset
|
171 R d1/ba |
1514
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
172 # do not copy more than one source file to the same destination file |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
173 copying d1/d11/a1 to d3/d11/a1 |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
174 d3/b: not overwriting - d2/b collides with d1/b |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
175 removing d1/d11/a1 |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
176 A d3/a |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
177 A d3/b |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
178 A d3/ba |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
179 A d3/d11/a1 |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
180 R d1/a |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
181 R d1/b |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
182 R d1/ba |
faf46d810a85
avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents:
1513
diff
changeset
|
183 R d1/d11/a1 |
1633
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
184 # move a whole subtree with "hg rename ." |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
185 copying a to ../d3/d1/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
186 copying b to ../d3/d1/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
187 copying ba to ../d3/d1/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
188 copying d11/a1 to ../d3/d1/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
189 removing a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
190 removing b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
191 removing ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
192 removing d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
193 A d3/d1/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
194 A d3/d1/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
195 A d3/d1/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
196 A d3/d1/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
197 R d1/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
198 R d1/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
199 R d1/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
200 R d1/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
201 # move a whole subtree with "hg rename --after ." |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
202 copying a to ../d3/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
203 copying b to ../d3/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
204 copying ba to ../d3/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
205 copying d11/a1 to ../d3/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
206 removing a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
207 removing b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
208 removing ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
209 removing d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
210 A d3/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
211 A d3/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
212 A d3/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
213 A d3/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
214 R d1/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
215 R d1/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
216 R d1/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
217 R d1/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
218 # move the parent tree with "hg rename .." |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
219 copying ../a to ../../d3/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
220 copying ../b to ../../d3/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
221 copying ../ba to ../../d3/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
222 copying a1 to ../../d3/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
223 removing ../a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
224 removing ../b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
225 removing ../ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
226 removing a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
227 A d3/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
228 A d3/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
229 A d3/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
230 A d3/d11/a1 |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
231 R d1/a |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
232 R d1/b |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
233 R d1/ba |
94c179a92f4a
copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents:
1565
diff
changeset
|
234 R d1/d11/a1 |
1634
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
235 # skip removed files |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
236 copying d1/a to d3/a |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
237 copying d1/ba to d3/ba |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
238 copying d1/d11/a1 to d3/d11/a1 |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
239 removing d1/a |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
240 removing d1/ba |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
241 removing d1/d11/a1 |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
242 A d3/a |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
243 A d3/ba |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
244 A d3/d11/a1 |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
245 R d1/a |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
246 R d1/b |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
247 R d1/ba |
f49f602fae92
copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents:
1633
diff
changeset
|
248 R d1/d11/a1 |
1747
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
249 # transitive rename |
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
250 A d1/bc |
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
251 R d1/b |
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
252 # transitive rename --after |
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
253 A d1/bc |
91c56c427171
transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents:
1634
diff
changeset
|
254 R d1/b |