Show More
@@ -13,9 +13,14 b' where WRITER is the name of a Docutils w' | |||
|
13 | 13 | """ |
|
14 | 14 | |
|
15 | 15 | import sys |
|
16 | try: | |
|
16 | 17 | from docutils.parsers.rst import roles |
|
17 | 18 | from docutils.core import publish_cmdline |
|
18 | 19 | from docutils import nodes, utils |
|
20 | except ImportError: | |
|
21 | sys.stderr.write("abort: couldn't generate documentation: docutils " | |
|
22 | "module is missing\n") | |
|
23 | sys.exit(-1) | |
|
19 | 24 | |
|
20 | 25 | def role_hg(name, rawtext, text, lineno, inliner, |
|
21 | 26 | options={}, content=[]): |
@@ -136,6 +136,9 b' def bookmark(ui, repo, mark=None, rev=No' | |||
|
136 | 136 | if "\n" in mark: |
|
137 | 137 | raise util.Abort(_("bookmark name cannot contain newlines")) |
|
138 | 138 | mark = mark.strip() |
|
139 | if not mark: | |
|
140 | raise util.Abort(_("bookmark names cannot consist entirely of " | |
|
141 | "whitespace")) | |
|
139 | 142 | if mark in marks and not force: |
|
140 | 143 | raise util.Abort(_("a bookmark of the same name already exists")) |
|
141 | 144 | if ((mark in repo.branchtags() or mark == repo.dirstate.branch()) |
@@ -108,7 +108,7 b" svnisodate = lambda x: util.datestr(x, '" | |||
|
108 | 108 | svnutcdate = lambda x: util.datestr((x[0], 0), '%Y-%m-%d %H:%M:%SZ') |
|
109 | 109 | |
|
110 | 110 | # make keyword tools accessible |
|
111 |
kwtools = {'templater': None, 'hgcmd': '' |
|
|
111 | kwtools = {'templater': None, 'hgcmd': ''} | |
|
112 | 112 | |
|
113 | 113 | |
|
114 | 114 | def _defaultkwmaps(ui): |
@@ -141,11 +141,10 b' class kwtemplater(object):' | |||
|
141 | 141 | provides keyword substitution functions. |
|
142 | 142 | ''' |
|
143 | 143 | |
|
144 | def __init__(self, ui, repo): | |
|
144 | def __init__(self, ui, repo, inc, exc): | |
|
145 | 145 | self.ui = ui |
|
146 | 146 | self.repo = repo |
|
147 | self.match = match.match(repo.root, '', [], | |
|
148 | kwtools['inc'], kwtools['exc']) | |
|
147 | self.match = match.match(repo.root, '', [], inc, exc) | |
|
149 | 148 | self.restrict = kwtools['hgcmd'] in restricted.split() |
|
150 | 149 | self.record = kwtools['hgcmd'] in recordcommands.split() |
|
151 | 150 | |
@@ -438,16 +437,8 b' def shrink(ui, repo, *pats, **opts):' | |||
|
438 | 437 | |
|
439 | 438 | |
|
440 | 439 | def uisetup(ui): |
|
441 | '''Collects [keyword] config in kwtools. | |
|
442 | Monkeypatches dispatch._parse if needed.''' | |
|
440 | ''' Monkeypatches dispatch._parse to retrieve user command.''' | |
|
443 | 441 | |
|
444 | for pat, opt in ui.configitems('keyword'): | |
|
445 | if opt != 'ignore': | |
|
446 | kwtools['inc'].append(pat) | |
|
447 | else: | |
|
448 | kwtools['exc'].append(pat) | |
|
449 | ||
|
450 | if kwtools['inc']: | |
|
451 | 442 |
|
|
452 | 443 |
|
|
453 | 444 |
|
@@ -465,15 +456,23 b' def reposetup(ui, repo):' | |||
|
465 | 456 | Monkeypatches patch and webcommands.''' |
|
466 | 457 | |
|
467 | 458 | try: |
|
468 |
if (not repo.local() or |
|
|
469 | or kwtools['hgcmd'] in nokwcommands.split() | |
|
459 | if (not repo.local() or kwtools['hgcmd'] in nokwcommands.split() | |
|
470 | 460 | or '.hg' in util.splitpath(repo.root) |
|
471 | 461 | or repo._url.startswith('bundle:')): |
|
472 | 462 | return |
|
473 | 463 | except AttributeError: |
|
474 | 464 | pass |
|
475 | 465 | |
|
476 | kwtools['templater'] = kwt = kwtemplater(ui, repo) | |
|
466 | inc, exc = [], ['.hg*'] | |
|
467 | for pat, opt in ui.configitems('keyword'): | |
|
468 | if opt != 'ignore': | |
|
469 | inc.append(pat) | |
|
470 | else: | |
|
471 | exc.append(pat) | |
|
472 | if not inc: | |
|
473 | return | |
|
474 | ||
|
475 | kwtools['templater'] = kwt = kwtemplater(ui, repo, inc, exc) | |
|
477 | 476 | |
|
478 | 477 | class kwrepo(repo.__class__): |
|
479 | 478 | def file(self, f): |
@@ -1051,12 +1051,16 b' class queue(object):' | |||
|
1051 | 1051 | self.check_localchanges(repo) |
|
1052 | 1052 | |
|
1053 | 1053 | if move: |
|
1054 |
|
|
|
1055 | index = self.series.index(patch, start) | |
|
1054 | if not patch: | |
|
1055 | raise util.Abort(_("please specify the patch to move")) | |
|
1056 | for i, rpn in enumerate(self.full_series[start:]): | |
|
1057 | # strip markers for patch guards | |
|
1058 | if self.guard_re.split(rpn, 1)[0] == patch: | |
|
1059 | break | |
|
1060 | index = start + i | |
|
1061 | assert index < len(self.full_series) | |
|
1056 | 1062 |
|
|
1057 | 1063 |
|
|
1058 | except ValueError: | |
|
1059 | raise util.Abort(_("patch '%s' not found") % patch) | |
|
1060 | 1064 | self.full_series.insert(start, fullpatch) |
|
1061 | 1065 | self.parse_series() |
|
1062 | 1066 | self.series_dirty = 1 |
@@ -1702,7 +1706,7 b' class queue(object):' | |||
|
1702 | 1706 | else: |
|
1703 | 1707 | text = url.open(self.ui, filename).read() |
|
1704 | 1708 | except (OSError, IOError): |
|
1705 | raise util.Abort(_("unable to read %s") % filename) | |
|
1709 | raise util.Abort(_("unable to read file %s") % filename) | |
|
1706 | 1710 | if not patchname: |
|
1707 | 1711 | patchname = normname(os.path.basename(filename)) |
|
1708 | 1712 | self.check_reserved_name(patchname) |
@@ -3660,6 +3660,8 b' def tag(ui, repo, name1, *names, **opts)' | |||
|
3660 | 3660 | for n in names: |
|
3661 | 3661 | if n in ['tip', '.', 'null']: |
|
3662 | 3662 | raise util.Abort(_('the name \'%s\' is reserved') % n) |
|
3663 | if not n: | |
|
3664 | raise util.Abort(_('tag names cannot consist entirely of whitespace')) | |
|
3663 | 3665 | if opts.get('rev') and opts.get('remove'): |
|
3664 | 3666 | raise util.Abort(_("--rev and --remove are incompatible")) |
|
3665 | 3667 | if opts.get('rev'): |
@@ -248,7 +248,7 b' class cmdalias(object):' | |||
|
248 | 248 | if self.shadows: |
|
249 | 249 | ui.debug("alias '%s' shadows command\n" % self.name) |
|
250 | 250 | |
|
251 | return self.fn(ui, *args, **opts) | |
|
251 | return util.checksignature(self.fn)(ui, *args, **opts) | |
|
252 | 252 | |
|
253 | 253 | def addaliases(ui, cmdtable): |
|
254 | 254 | # aliases are processed after extensions have been loaded, so they |
@@ -366,7 +366,12 b' def _dispatch(ui, args):' | |||
|
366 | 366 | os.chdir(cwd[-1]) |
|
367 | 367 | |
|
368 | 368 | # read the local repository .hgrc into a local ui object |
|
369 | path = cmdutil.findrepo(os.getcwd()) or "" | |
|
369 | try: | |
|
370 | wd = os.getcwd() | |
|
371 | except OSError, e: | |
|
372 | raise util.Abort(_("error getting current working directory: %s") % | |
|
373 | e.strerror) | |
|
374 | path = cmdutil.findrepo(wd) or "" | |
|
370 | 375 | if not path: |
|
371 | 376 | lui = ui |
|
372 | 377 | else: |
@@ -32,7 +32,7 b' def findrepos(paths):' | |||
|
32 | 32 | except KeyError: |
|
33 | 33 | repos.append((prefix, root)) |
|
34 | 34 | continue |
|
35 | roothead = os.path.normpath(roothead) | |
|
35 | roothead = os.path.normpath(os.path.abspath(roothead)) | |
|
36 | 36 | for path in util.walkrepos(roothead, followsym=True, recurse=recurse): |
|
37 | 37 | path = os.path.normpath(path) |
|
38 | 38 | name = util.pconvert(path[len(roothead):]).strip('/') |
@@ -286,7 +286,7 b' def applyupdates(repo, action, wctx, mct' | |||
|
286 | 286 | numupdates = len(action) |
|
287 | 287 | for i, a in enumerate(action): |
|
288 | 288 | f, m = a[:2] |
|
289 |
u.progress('updat |
|
|
289 | u.progress(_('updating'), i + 1, item=f, total=numupdates, unit='files') | |
|
290 | 290 | if f and f[0] == "/": |
|
291 | 291 | continue |
|
292 | 292 | if m == "r": # remove |
@@ -346,7 +346,7 b' def applyupdates(repo, action, wctx, mct' | |||
|
346 | 346 | elif m == "e": # exec |
|
347 | 347 | flags = a[2] |
|
348 | 348 | util.set_flags(repo.wjoin(f), 'l' in flags, 'x' in flags) |
|
349 |
u.progress('updat |
|
|
349 | u.progress(_('updating'), None, total=numupdates, unit='files') | |
|
350 | 350 | |
|
351 | 351 | return updated, merged, removed, unresolved |
|
352 | 352 |
@@ -14,6 +14,7 b" shortlog = log --template '{rev} {node|s" | |||
|
14 | 14 | dln = lognull --debug |
|
15 | 15 | nousage = rollback |
|
16 | 16 | put = export -r 0 -o "\$FOO/%R.diff" |
|
17 | rt = root | |
|
17 | 18 | |
|
18 | 19 | [defaults] |
|
19 | 20 | mylog = -q |
@@ -64,3 +65,8 b' hg dln' | |||
|
64 | 65 | echo '% path expanding' |
|
65 | 66 | FOO=`pwd` hg put |
|
66 | 67 | cat 0.diff |
|
68 | ||
|
69 | echo '% invalid arguments' | |
|
70 | hg rt foo | |
|
71 | ||
|
72 | exit 0 |
@@ -43,3 +43,16 b' diff -r 000000000000 -r e63c23eaa88a foo' | |||
|
43 | 43 | +++ b/foo Thu Jan 01 00:00:00 1970 +0000 |
|
44 | 44 | @@ -0,0 +1,1 @@ |
|
45 | 45 | +foo |
|
46 | % invalid arguments | |
|
47 | hg rt: invalid arguments | |
|
48 | hg rt | |
|
49 | ||
|
50 | alias for: hg root | |
|
51 | ||
|
52 | print the root (top) of the current working directory | |
|
53 | ||
|
54 | Print the root directory of the current repository. | |
|
55 | ||
|
56 | Returns 0 on success. | |
|
57 | ||
|
58 | use "hg -v help rt" to show global options |
@@ -100,4 +100,7 b' hg bookmark' | |||
|
100 | 100 | echo % revision but no bookmark name |
|
101 | 101 | hg bookmark -r . |
|
102 | 102 | |
|
103 | echo % bookmark name with whitespace only | |
|
104 | hg bookmark ' ' | |
|
105 | ||
|
103 | 106 | true |
@@ -74,3 +74,5 b' abort: a bookmark of the same name alrea' | |||
|
74 | 74 | * x y 2:0316ce92851d |
|
75 | 75 | % revision but no bookmark name |
|
76 | 76 | abort: bookmark name required |
|
77 | % bookmark name with whitespace only | |
|
78 | abort: bookmark names cannot consist entirely of whitespace |
@@ -15,12 +15,12 b' resolving manifests' | |||
|
15 | 15 | preserving a for resolve of b |
|
16 | 16 | preserving a for resolve of c |
|
17 | 17 | removing a |
|
18 |
updat |
|
|
18 | updating: a 1/2 files (50.00%) | |
|
19 | 19 | picked tool 'internal:merge' for b (binary False symlink False) |
|
20 | 20 | merging a and b to b |
|
21 | 21 | my b@fb3948d97f07+ other b@7f1309517659 ancestor a@583c7b748052 |
|
22 | 22 | premerge successful |
|
23 |
updat |
|
|
23 | updating: a 2/2 files (100.00%) | |
|
24 | 24 | picked tool 'internal:merge' for c (binary False symlink False) |
|
25 | 25 | merging a and c to c |
|
26 | 26 | my c@fb3948d97f07+ other c@7f1309517659 ancestor a@583c7b748052 |
@@ -3,6 +3,8 b'' | |||
|
3 | 3 | |
|
4 | 4 | "$TESTDIR/hghave" no-outer-repo || exit 80 |
|
5 | 5 | |
|
6 | dir=`pwd` | |
|
7 | ||
|
6 | 8 | hg init a |
|
7 | 9 | cd a |
|
8 | 10 | echo a > a |
@@ -19,8 +21,12 b' cat = -r null' | |||
|
19 | 21 | EOF |
|
20 | 22 | hg cat a |
|
21 | 23 | |
|
24 | echo '% working directory removed' | |
|
25 | rm -rf $dir/a | |
|
26 | hg --version | |
|
27 | ||
|
22 | 28 | echo '% no repo' |
|
23 | cd .. | |
|
29 | cd $dir | |
|
24 | 30 | hg cat |
|
25 | 31 | |
|
26 | 32 | exit 0 |
@@ -33,5 +33,7 b' use "hg -v help cat" to show global opti' | |||
|
33 | 33 | % [defaults] |
|
34 | 34 | a |
|
35 | 35 | a: No such file in rev 000000000000 |
|
36 | % working directory removed | |
|
37 | abort: error getting current working directory: No such file or directory | |
|
36 | 38 | % no repo |
|
37 | 39 | abort: There is no Mercurial repository here (.hg not found)! |
@@ -17,12 +17,12 b' resolving manifests' | |||
|
17 | 17 | foo: remote copied to bar -> m |
|
18 | 18 | preserving foo for resolve of bar |
|
19 | 19 | preserving foo for resolve of foo |
|
20 |
updat |
|
|
20 | updating: foo 1/2 files (50.00%) | |
|
21 | 21 | picked tool 'internal:merge' for bar (binary False symlink False) |
|
22 | 22 | merging foo and bar to bar |
|
23 | 23 | my bar@2092631ce82b+ other bar@d9da848d0adf ancestor foo@310fd17130da |
|
24 | 24 | premerge successful |
|
25 |
updat |
|
|
25 | updating: foo 2/2 files (100.00%) | |
|
26 | 26 | picked tool 'internal:merge' for foo (binary False symlink False) |
|
27 | 27 | merging foo |
|
28 | 28 | my foo@2092631ce82b+ other foo@d9da848d0adf ancestor foo@310fd17130da |
@@ -60,34 +60,38 b' hg help showoptlist' | |||
|
60 | 60 | #### - user names in annotate |
|
61 | 61 | #### - file names in diffstat |
|
62 | 62 | |
|
63 | rm -f s; touch s | |
|
64 | rm -f m; touch m | |
|
65 | rm -f l; touch l | |
|
66 | ||
|
63 | 67 | #### add files |
|
64 | 68 | |
|
65 | touch $S | |
|
69 | cp s $S | |
|
66 | 70 | hg add $S |
|
67 | touch $M | |
|
71 | cp m $M | |
|
68 | 72 | hg add $M |
|
69 | touch $L | |
|
73 | cp l $L | |
|
70 | 74 | hg add $L |
|
71 | 75 | |
|
72 | 76 | #### commit(1) |
|
73 | 77 | |
|
74 | echo 'first line(1)' >> $S | |
|
75 | echo 'first line(2)' >> $M | |
|
76 | echo 'first line(3)' >> $L | |
|
78 | echo 'first line(1)' >> s; cp s $S | |
|
79 | echo 'first line(2)' >> m; cp m $M | |
|
80 | echo 'first line(3)' >> l; cp l $L | |
|
77 | 81 | hg commit -m 'first commit' -u $S -d "1000000 0" |
|
78 | 82 | |
|
79 | 83 | #### commit(2) |
|
80 | 84 | |
|
81 | echo 'second line(1)' >> $S | |
|
82 | echo 'second line(2)' >> $M | |
|
83 | echo 'second line(3)' >> $L | |
|
85 | echo 'second line(1)' >> s; cp s $S | |
|
86 | echo 'second line(2)' >> m; cp m $M | |
|
87 | echo 'second line(3)' >> l; cp l $L | |
|
84 | 88 | hg commit -m 'second commit' -u $M -d "1000000 0" |
|
85 | 89 | |
|
86 | 90 | #### commit(3) |
|
87 | 91 | |
|
88 | echo 'third line(1)' >> $S | |
|
89 | echo 'third line(2)' >> $M | |
|
90 | echo 'third line(3)' >> $L | |
|
92 | echo 'third line(1)' >> s; cp s $S | |
|
93 | echo 'third line(2)' >> m; cp m $M | |
|
94 | echo 'third line(3)' >> l; cp l $L | |
|
91 | 95 | hg commit -m 'third commit' -u $L -d "1000000 0" |
|
92 | 96 | |
|
93 | 97 | #### check |
@@ -65,6 +65,8 b' t/a/=$root/a' | |||
|
65 | 65 | b=$root/b |
|
66 | 66 | coll=$root/* |
|
67 | 67 | rcoll=$root/** |
|
68 | star=* | |
|
69 | starstar=** | |
|
68 | 70 | EOF |
|
69 | 71 | |
|
70 | 72 | hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \ |
@@ -46,6 +46,15 b' 200 Script output follows' | |||
|
46 | 46 | /rcoll/b/ |
|
47 | 47 | /rcoll/b/d/ |
|
48 | 48 | /rcoll/c/ |
|
49 | /star/webdir/a/ | |
|
50 | /star/webdir/a/.hg/patches/ | |
|
51 | /star/webdir/b/ | |
|
52 | /star/webdir/c/ | |
|
53 | /starstar/webdir/a/ | |
|
54 | /starstar/webdir/a/.hg/patches/ | |
|
55 | /starstar/webdir/b/ | |
|
56 | /starstar/webdir/b/d/ | |
|
57 | /starstar/webdir/c/ | |
|
49 | 58 | |
|
50 | 59 | 200 Script output follows |
|
51 | 60 | |
@@ -165,6 +174,78 b' 200 Script output follows' | |||
|
165 | 174 | <td class="indexlinks"></td> |
|
166 | 175 | </tr> |
|
167 | 176 | |
|
177 | <tr class="parity1"> | |
|
178 | <td><a href="/star/webdir/a/?style=paper">star/webdir/a</a></td> | |
|
179 | <td>unknown</td> | |
|
180 | <td>Foo Bar <foo.bar@example.com></td> | |
|
181 | <td class="age">seconds ago</td> | |
|
182 | <td class="indexlinks"></td> | |
|
183 | </tr> | |
|
184 | ||
|
185 | <tr class="parity0"> | |
|
186 | <td><a href="/star/webdir/a/.hg/patches/?style=paper">star/webdir/a/.hg/patches</a></td> | |
|
187 | <td>unknown</td> | |
|
188 | <td>Foo Bar <foo.bar@example.com></td> | |
|
189 | <td class="age">seconds ago</td> | |
|
190 | <td class="indexlinks"></td> | |
|
191 | </tr> | |
|
192 | ||
|
193 | <tr class="parity1"> | |
|
194 | <td><a href="/star/webdir/b/?style=paper">star/webdir/b</a></td> | |
|
195 | <td>unknown</td> | |
|
196 | <td>Foo Bar <foo.bar@example.com></td> | |
|
197 | <td class="age">seconds ago</td> | |
|
198 | <td class="indexlinks"></td> | |
|
199 | </tr> | |
|
200 | ||
|
201 | <tr class="parity0"> | |
|
202 | <td><a href="/star/webdir/c/?style=paper">star/webdir/c</a></td> | |
|
203 | <td>unknown</td> | |
|
204 | <td>Foo Bar <foo.bar@example.com></td> | |
|
205 | <td class="age">seconds ago</td> | |
|
206 | <td class="indexlinks"></td> | |
|
207 | </tr> | |
|
208 | ||
|
209 | <tr class="parity1"> | |
|
210 | <td><a href="/starstar/webdir/a/?style=paper">starstar/webdir/a</a></td> | |
|
211 | <td>unknown</td> | |
|
212 | <td>Foo Bar <foo.bar@example.com></td> | |
|
213 | <td class="age">seconds ago</td> | |
|
214 | <td class="indexlinks"></td> | |
|
215 | </tr> | |
|
216 | ||
|
217 | <tr class="parity0"> | |
|
218 | <td><a href="/starstar/webdir/a/.hg/patches/?style=paper">starstar/webdir/a/.hg/patches</a></td> | |
|
219 | <td>unknown</td> | |
|
220 | <td>Foo Bar <foo.bar@example.com></td> | |
|
221 | <td class="age">seconds ago</td> | |
|
222 | <td class="indexlinks"></td> | |
|
223 | </tr> | |
|
224 | ||
|
225 | <tr class="parity1"> | |
|
226 | <td><a href="/starstar/webdir/b/?style=paper">starstar/webdir/b</a></td> | |
|
227 | <td>unknown</td> | |
|
228 | <td>Foo Bar <foo.bar@example.com></td> | |
|
229 | <td class="age">seconds ago</td> | |
|
230 | <td class="indexlinks"></td> | |
|
231 | </tr> | |
|
232 | ||
|
233 | <tr class="parity0"> | |
|
234 | <td><a href="/starstar/webdir/b/d/?style=paper">starstar/webdir/b/d</a></td> | |
|
235 | <td>unknown</td> | |
|
236 | <td>Foo Bar <foo.bar@example.com></td> | |
|
237 | <td class="age">seconds ago</td> | |
|
238 | <td class="indexlinks"></td> | |
|
239 | </tr> | |
|
240 | ||
|
241 | <tr class="parity1"> | |
|
242 | <td><a href="/starstar/webdir/c/?style=paper">starstar/webdir/c</a></td> | |
|
243 | <td>unknown</td> | |
|
244 | <td>Foo Bar <foo.bar@example.com></td> | |
|
245 | <td class="age">seconds ago</td> | |
|
246 | <td class="indexlinks"></td> | |
|
247 | </tr> | |
|
248 | ||
|
168 | 249 | </table> |
|
169 | 250 | </div> |
|
170 | 251 | </div> |
@@ -8,7 +8,7 b' resolving manifests' | |||
|
8 | 8 | overwrite None partial False |
|
9 | 9 | ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee |
|
10 | 10 | foo: remote is newer -> g |
|
11 |
updat |
|
|
11 | updating: foo 1/1 files (100.00%) | |
|
12 | 12 | getting foo |
|
13 | 13 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
14 | 14 | (branch merge, don't forget to commit) |
@@ -13,9 +13,9 b' resolving manifests' | |||
|
13 | 13 | ancestor 81f4b099af3d local c64f439569a9+ remote c12dcd37c90a |
|
14 | 14 | 1: other deleted -> r |
|
15 | 15 | 1a: remote created -> g |
|
16 |
updat |
|
|
16 | updating: 1 1/2 files (50.00%) | |
|
17 | 17 | removing 1 |
|
18 |
updat |
|
|
18 | updating: 1a 2/2 files (100.00%) | |
|
19 | 19 | getting 1a |
|
20 | 20 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
21 | 21 | (branch merge, don't forget to commit) |
@@ -33,7 +33,7 b' resolving manifests' | |||
|
33 | 33 | ancestor c64f439569a9 local e327dca35ac8+ remote 746e9549ea96 |
|
34 | 34 | 1a: local copied/moved to 1 -> m |
|
35 | 35 | preserving 1a for resolve of 1a |
|
36 |
updat |
|
|
36 | updating: 1a 1/1 files (100.00%) | |
|
37 | 37 | picked tool 'internal:merge' for 1a (binary False symlink False) |
|
38 | 38 | merging 1a and 1 to 1a |
|
39 | 39 | my 1a@e327dca35ac8+ other 1@746e9549ea96 ancestor 1@81f4b099af3d |
@@ -53,7 +53,7 b' resolving manifests' | |||
|
53 | 53 | 1: remote moved to 1a -> m |
|
54 | 54 | preserving 1 for resolve of 1a |
|
55 | 55 | removing 1 |
|
56 |
updat |
|
|
56 | updating: 1 1/1 files (100.00%) | |
|
57 | 57 | picked tool 'internal:merge' for 1a (binary False symlink False) |
|
58 | 58 | merging 1 and 1a to 1a |
|
59 | 59 | my 1a@746e9549ea96+ other 1a@e327dca35ac8 ancestor 1@81f4b099af3d |
@@ -283,8 +283,17 b' hg revert --no-backup --rev tip a' | |||
|
283 | 283 | echo % cat a |
|
284 | 284 | cat a |
|
285 | 285 | |
|
286 | echo % clone | |
|
287 | cd .. | |
|
288 | ||
|
289 | echo % expansion in dest | |
|
290 | hg --quiet clone Test globalconf | |
|
291 | cat globalconf/a | |
|
292 | echo % no expansion in dest | |
|
293 | hg --quiet --config 'keyword.**=ignore' clone Test localconf | |
|
294 | cat localconf/a | |
|
295 | ||
|
286 | 296 | echo % clone to test incoming |
|
287 | cd .. | |
|
288 | 297 | hg clone -r1 Test Test-a |
|
289 | 298 | cd Test-a |
|
290 | 299 | cat <<EOF >> .hg/hgrc |
@@ -333,6 +333,17 b' expand $Id: a bb948857c743 Thu, 01 Jan 1' | |||
|
333 | 333 | do not process $Id: |
|
334 | 334 | xxx $ |
|
335 | 335 | $Xinfo: User Name <user@example.com>: firstline $ |
|
336 | % clone | |
|
337 | % expansion in dest | |
|
338 | expand $Id: a bb948857c743 Thu, 01 Jan 1970 00:00:02 +0000 user $ | |
|
339 | do not process $Id: | |
|
340 | xxx $ | |
|
341 | $Xinfo: User Name <user@example.com>: firstline $ | |
|
342 | % no expansion in dest | |
|
343 | expand $Id$ | |
|
344 | do not process $Id: | |
|
345 | xxx $ | |
|
346 | $Xinfo$ | |
|
336 | 347 | % clone to test incoming |
|
337 | 348 | requesting all changes |
|
338 | 349 | adding changesets |
@@ -28,7 +28,7 b' resolving manifests' | |||
|
28 | 28 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 0555950ead28 |
|
29 | 29 | bar: versions differ -> m |
|
30 | 30 | preserving bar for resolve of bar |
|
31 |
updat |
|
|
31 | updating: bar 1/1 files (100.00%) | |
|
32 | 32 | picked tool 'internal:merge' for bar (binary False symlink False) |
|
33 | 33 | merging bar |
|
34 | 34 | my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9 |
@@ -79,7 +79,7 b' resolving manifests' | |||
|
79 | 79 | ancestor 0f2ff26688b9 local 2263c1be0967+ remote 3ffa6b9e35f0 |
|
80 | 80 | bar: versions differ -> m |
|
81 | 81 | preserving bar for resolve of bar |
|
82 |
updat |
|
|
82 | updating: bar 1/1 files (100.00%) | |
|
83 | 83 | picked tool 'internal:merge' for bar (binary False symlink False) |
|
84 | 84 | merging bar |
|
85 | 85 | my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9 |
@@ -8,7 +8,7 b' resolving manifests' | |||
|
8 | 8 | conflicting flags for a |
|
9 | 9 | (n)one, e(x)ec or sym(l)ink? n |
|
10 | 10 | a: update permissions -> e |
|
11 |
updat |
|
|
11 | updating: a 1/1 files (100.00%) | |
|
12 | 12 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
13 | 13 | (branch merge, don't forget to commit) |
|
14 | 14 | % symlink is local parent, executable is other |
@@ -21,7 +21,7 b' resolving manifests' | |||
|
21 | 21 | conflicting flags for a |
|
22 | 22 | (n)one, e(x)ec or sym(l)ink? n |
|
23 | 23 | a: remote is newer -> g |
|
24 |
updat |
|
|
24 | updating: a 1/1 files (100.00%) | |
|
25 | 25 | getting a |
|
26 | 26 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
27 | 27 | (branch merge, don't forget to commit) |
@@ -25,7 +25,7 b' resolving manifests' | |||
|
25 | 25 | ancestor faaea63e63a9 local 451c744aabcc+ remote a070d41e8360 |
|
26 | 26 | test.txt: versions differ -> m |
|
27 | 27 | preserving test.txt for resolve of test.txt |
|
28 |
updat |
|
|
28 | updating: test.txt 1/1 files (100.00%) | |
|
29 | 29 | picked tool 'internal:merge' for test.txt (binary False symlink False) |
|
30 | 30 | merging test.txt |
|
31 | 31 | my test.txt@451c744aabcc+ other test.txt@a070d41e8360 ancestor test.txt@faaea63e63a9 |
@@ -107,6 +107,11 b' cd a' | |||
|
107 | 107 | |
|
108 | 108 | hg qnew -m 'foo bar' test.patch |
|
109 | 109 | |
|
110 | echo '# comment' > .hg/patches/series.tmp | |
|
111 | echo >> .hg/patches/series.tmp # empty line | |
|
112 | cat .hg/patches/series >> .hg/patches/series.tmp | |
|
113 | mv .hg/patches/series.tmp .hg/patches/series | |
|
114 | ||
|
110 | 115 | echo % qrefresh |
|
111 | 116 | |
|
112 | 117 | echo a >> a |
@@ -228,17 +233,29 b' hg qpush test1b.patch+1' | |||
|
228 | 233 | |
|
229 | 234 | echo % qpush --move |
|
230 | 235 | hg qpop -a |
|
236 | hg qguard test1b.patch -- -negguard | |
|
237 | hg qguard test2.patch -- +posguard | |
|
238 | hg qpush --move test2.patch # can't move guarded patch | |
|
239 | hg qselect posguard | |
|
231 | 240 | hg qpush --move test2.patch # move to front |
|
232 | hg qpush --move test1b.patch | |
|
241 | hg qpush --move test1b.patch # negative guard unselected | |
|
233 | 242 | hg qpush --move test.patch # noop move |
|
234 | 243 | hg qseries -v |
|
235 | 244 | hg qpop -a |
|
236 | hg qpush --move test.patch # cleaning up | |
|
245 | # cleaning up | |
|
246 | hg qselect --none | |
|
247 | hg qguard --none test1b.patch | |
|
248 | hg qguard --none test2.patch | |
|
249 | hg qpush --move test.patch | |
|
237 | 250 | hg qpush --move test1b.patch |
|
238 | 251 | hg qpush --move bogus # nonexistent patch |
|
252 | hg qpush --move # no patch | |
|
239 | 253 | hg qpush --move test.patch # already applied |
|
240 | 254 | hg qpush |
|
241 | 255 | |
|
256 | echo % series after move | |
|
257 | cat `hg root`/.hg/patches/series | |
|
258 | ||
|
242 | 259 | echo % pop, qapplied, qunapplied |
|
243 | 260 | hg qseries -v |
|
244 | 261 | echo % qapplied -1 test.patch |
@@ -4,7 +4,7 b' adding a' | |||
|
4 | 4 | |
|
5 | 5 | #qimport valid patch followed by invalid patch |
|
6 | 6 | adding b.patch to series file |
|
7 | abort: unable to read fakepatch | |
|
7 | abort: unable to read file fakepatch | |
|
8 | 8 | |
|
9 | 9 | #valid patches before fail added to series |
|
10 | 10 | b.patch |
@@ -1,5 +1,5 b'' | |||
|
1 | 1 | % qimport non-existing-file |
|
2 | abort: unable to read non-existing-file | |
|
2 | abort: unable to read file non-existing-file | |
|
3 | 3 | % import email |
|
4 | 4 | adding email to series file |
|
5 | 5 | applying email |
@@ -209,6 +209,8 b' popping test2.patch' | |||
|
209 | 209 | popping test1b.patch |
|
210 | 210 | popping test.patch |
|
211 | 211 | patch queue now empty |
|
212 | cannot push 'test2.patch' - guarded by ['+posguard'] | |
|
213 | number of unguarded, unapplied patches has changed from 2 to 3 | |
|
212 | 214 | applying test2.patch |
|
213 | 215 | now at: test2.patch |
|
214 | 216 | applying test1b.patch |
@@ -222,14 +224,23 b' popping test.patch' | |||
|
222 | 224 | popping test1b.patch |
|
223 | 225 | popping test2.patch |
|
224 | 226 | patch queue now empty |
|
227 | guards deactivated | |
|
228 | number of unguarded, unapplied patches has changed from 3 to 2 | |
|
225 | 229 | applying test.patch |
|
226 | 230 | now at: test.patch |
|
227 | 231 | applying test1b.patch |
|
228 | 232 | now at: test1b.patch |
|
229 | 233 | abort: patch bogus not in series |
|
234 | abort: please specify the patch to move | |
|
230 | 235 | abort: cannot push to a previous patch: test.patch |
|
231 | 236 | applying test2.patch |
|
232 | 237 | now at: test2.patch |
|
238 | % series after move | |
|
239 | test.patch | |
|
240 | test1b.patch | |
|
241 | test2.patch | |
|
242 | # comment | |
|
243 | ||
|
233 | 244 | % pop, qapplied, qunapplied |
|
234 | 245 | 0 A test.patch |
|
235 | 246 | 1 A test1b.patch |
@@ -28,17 +28,17 b' resolving manifests' | |||
|
28 | 28 | a/a: other deleted -> r |
|
29 | 29 | b/a: remote created -> g |
|
30 | 30 | b/b: remote created -> g |
|
31 |
updat |
|
|
31 | updating: a/a 1/6 files (16.67%) | |
|
32 | 32 | removing a/a |
|
33 |
updat |
|
|
33 | updating: a/b 2/6 files (33.33%) | |
|
34 | 34 | removing a/b |
|
35 |
updat |
|
|
35 | updating: a/c 3/6 files (50.00%) | |
|
36 | 36 | moving a/c to b/c |
|
37 |
updat |
|
|
37 | updating: a/d 4/6 files (66.67%) | |
|
38 | 38 | moving a/d to b/d |
|
39 |
updat |
|
|
39 | updating: b/a 5/6 files (83.33%) | |
|
40 | 40 | getting b/a |
|
41 |
updat |
|
|
41 | updating: b/b 6/6 files (100.00%) | |
|
42 | 42 | getting b/b |
|
43 | 43 | 4 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
44 | 44 | (branch merge, don't forget to commit) |
@@ -70,7 +70,7 b' resolving manifests' | |||
|
70 | 70 | overwrite None partial False |
|
71 | 71 | ancestor f9b20c0d4c51 local 397f8b00a740+ remote ce36d17b18fb |
|
72 | 72 | None: local renamed directory to b/c -> d |
|
73 |
updat |
|
|
73 | updating:None 1/1 files (100.00%) | |
|
74 | 74 | getting a/c to b/c |
|
75 | 75 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
76 | 76 | (branch merge, don't forget to commit) |
@@ -21,16 +21,16 b' resolving manifests' | |||
|
21 | 21 | b2: remote created -> g |
|
22 | 22 | preserving a for resolve of b |
|
23 | 23 | removing a |
|
24 |
updat |
|
|
24 | updating: a 1/3 files (33.33%) | |
|
25 | 25 | picked tool 'internal:merge' for b (binary False symlink False) |
|
26 | 26 | merging a and b to b |
|
27 | 27 | my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c |
|
28 | 28 | premerge successful |
|
29 |
updat |
|
|
29 | updating: a2 2/3 files (66.67%) | |
|
30 | 30 | warning: detected divergent renames of a2 to: |
|
31 | 31 | c2 |
|
32 | 32 | b2 |
|
33 |
updat |
|
|
33 | updating: b2 3/3 files (100.00%) | |
|
34 | 34 | getting b2 |
|
35 | 35 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
36 | 36 | (branch merge, don't forget to commit) |
@@ -15,12 +15,12 b' resolving manifests' | |||
|
15 | 15 | a: remote copied to b -> m |
|
16 | 16 | preserving a for resolve of b |
|
17 | 17 | preserving rev for resolve of rev |
|
18 |
updat |
|
|
18 | updating: a 1/2 files (50.00%) | |
|
19 | 19 | picked tool 'python ../merge' for b (binary False symlink False) |
|
20 | 20 | merging a and b to b |
|
21 | 21 | my b@e300d1c794ec+ other b@4ce40f5aca24 ancestor a@924404dff337 |
|
22 | 22 | premerge successful |
|
23 |
updat |
|
|
23 | updating: rev 2/2 files (100.00%) | |
|
24 | 24 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
25 | 25 | merging rev |
|
26 | 26 | my rev@e300d1c794ec+ other rev@4ce40f5aca24 ancestor rev@924404dff337 |
@@ -50,14 +50,14 b' resolving manifests' | |||
|
50 | 50 | rev: versions differ -> m |
|
51 | 51 | preserving b for resolve of b |
|
52 | 52 | preserving rev for resolve of rev |
|
53 |
updat |
|
|
53 | updating: a 1/3 files (33.33%) | |
|
54 | 54 | getting a |
|
55 |
updat |
|
|
55 | updating: b 2/3 files (66.67%) | |
|
56 | 56 | picked tool 'python ../merge' for b (binary False symlink False) |
|
57 | 57 | merging b and a to b |
|
58 | 58 | my b@86a2aa42fc76+ other a@f4db7e329e71 ancestor a@924404dff337 |
|
59 | 59 | premerge successful |
|
60 |
updat |
|
|
60 | updating: rev 3/3 files (100.00%) | |
|
61 | 61 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
62 | 62 | merging rev |
|
63 | 63 | my rev@86a2aa42fc76+ other rev@f4db7e329e71 ancestor rev@924404dff337 |
@@ -87,12 +87,12 b' resolving manifests' | |||
|
87 | 87 | preserving a for resolve of b |
|
88 | 88 | preserving rev for resolve of rev |
|
89 | 89 | removing a |
|
90 |
updat |
|
|
90 | updating: a 1/2 files (50.00%) | |
|
91 | 91 | picked tool 'python ../merge' for b (binary False symlink False) |
|
92 | 92 | merging a and b to b |
|
93 | 93 | my b@e300d1c794ec+ other b@bdb19105162a ancestor a@924404dff337 |
|
94 | 94 | premerge successful |
|
95 |
updat |
|
|
95 | updating: rev 2/2 files (100.00%) | |
|
96 | 96 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
97 | 97 | merging rev |
|
98 | 98 | my rev@e300d1c794ec+ other rev@bdb19105162a ancestor rev@924404dff337 |
@@ -120,12 +120,12 b' resolving manifests' | |||
|
120 | 120 | rev: versions differ -> m |
|
121 | 121 | preserving b for resolve of b |
|
122 | 122 | preserving rev for resolve of rev |
|
123 |
updat |
|
|
123 | updating: b 1/2 files (50.00%) | |
|
124 | 124 | picked tool 'python ../merge' for b (binary False symlink False) |
|
125 | 125 | merging b and a to b |
|
126 | 126 | my b@02963e448370+ other a@f4db7e329e71 ancestor a@924404dff337 |
|
127 | 127 | premerge successful |
|
128 |
updat |
|
|
128 | updating: rev 2/2 files (100.00%) | |
|
129 | 129 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
130 | 130 | merging rev |
|
131 | 131 | my rev@02963e448370+ other rev@f4db7e329e71 ancestor rev@924404dff337 |
@@ -152,9 +152,9 b' resolving manifests' | |||
|
152 | 152 | rev: versions differ -> m |
|
153 | 153 | b: remote created -> g |
|
154 | 154 | preserving rev for resolve of rev |
|
155 |
updat |
|
|
155 | updating: b 1/2 files (50.00%) | |
|
156 | 156 | getting b |
|
157 |
updat |
|
|
157 | updating: rev 2/2 files (100.00%) | |
|
158 | 158 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
159 | 159 | merging rev |
|
160 | 160 | my rev@94b33a1b7f2d+ other rev@4ce40f5aca24 ancestor rev@924404dff337 |
@@ -180,7 +180,7 b' resolving manifests' | |||
|
180 | 180 | ancestor 924404dff337 local 86a2aa42fc76+ remote 97c705ade336 |
|
181 | 181 | rev: versions differ -> m |
|
182 | 182 | preserving rev for resolve of rev |
|
183 |
updat |
|
|
183 | updating: rev 1/1 files (100.00%) | |
|
184 | 184 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
185 | 185 | merging rev |
|
186 | 186 | my rev@86a2aa42fc76+ other rev@97c705ade336 ancestor rev@924404dff337 |
@@ -208,11 +208,11 b' resolving manifests' | |||
|
208 | 208 | rev: versions differ -> m |
|
209 | 209 | b: remote created -> g |
|
210 | 210 | preserving rev for resolve of rev |
|
211 |
updat |
|
|
211 | updating: a 1/3 files (33.33%) | |
|
212 | 212 | removing a |
|
213 |
updat |
|
|
213 | updating: b 2/3 files (66.67%) | |
|
214 | 214 | getting b |
|
215 |
updat |
|
|
215 | updating: rev 3/3 files (100.00%) | |
|
216 | 216 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
217 | 217 | merging rev |
|
218 | 218 | my rev@94b33a1b7f2d+ other rev@bdb19105162a ancestor rev@924404dff337 |
@@ -237,7 +237,7 b' resolving manifests' | |||
|
237 | 237 | ancestor 924404dff337 local 02963e448370+ remote 97c705ade336 |
|
238 | 238 | rev: versions differ -> m |
|
239 | 239 | preserving rev for resolve of rev |
|
240 |
updat |
|
|
240 | updating: rev 1/1 files (100.00%) | |
|
241 | 241 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
242 | 242 | merging rev |
|
243 | 243 | my rev@02963e448370+ other rev@97c705ade336 ancestor rev@924404dff337 |
@@ -259,11 +259,11 b' resolving manifests' | |||
|
259 | 259 | rev: versions differ -> m |
|
260 | 260 | preserving b for resolve of b |
|
261 | 261 | preserving rev for resolve of rev |
|
262 |
updat |
|
|
262 | updating: b 1/2 files (50.00%) | |
|
263 | 263 | picked tool 'python ../merge' for b (binary False symlink False) |
|
264 | 264 | merging b |
|
265 | 265 | my b@62e7bf090eba+ other b@49b6d8032493 ancestor a@924404dff337 |
|
266 |
updat |
|
|
266 | updating: rev 2/2 files (100.00%) | |
|
267 | 267 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
268 | 268 | merging rev |
|
269 | 269 | my rev@62e7bf090eba+ other rev@49b6d8032493 ancestor rev@924404dff337 |
@@ -293,13 +293,13 b' resolving manifests' | |||
|
293 | 293 | rev: versions differ -> m |
|
294 | 294 | c: remote created -> g |
|
295 | 295 | preserving rev for resolve of rev |
|
296 |
updat |
|
|
296 | updating: a 1/3 files (33.33%) | |
|
297 | 297 | warning: detected divergent renames of a to: |
|
298 | 298 | b |
|
299 | 299 | c |
|
300 |
updat |
|
|
300 | updating: c 2/3 files (66.67%) | |
|
301 | 301 | getting c |
|
302 |
updat |
|
|
302 | updating: rev 3/3 files (100.00%) | |
|
303 | 303 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
304 | 304 | merging rev |
|
305 | 305 | my rev@02963e448370+ other rev@fe905ef2c33e ancestor rev@924404dff337 |
@@ -322,11 +322,11 b' resolving manifests' | |||
|
322 | 322 | rev: versions differ -> m |
|
323 | 323 | preserving b for resolve of b |
|
324 | 324 | preserving rev for resolve of rev |
|
325 |
updat |
|
|
325 | updating: b 1/2 files (50.00%) | |
|
326 | 326 | picked tool 'python ../merge' for b (binary False symlink False) |
|
327 | 327 | merging b |
|
328 | 328 | my b@86a2aa42fc76+ other b@af30c7647fc7 ancestor b@000000000000 |
|
329 |
updat |
|
|
329 | updating: rev 2/2 files (100.00%) | |
|
330 | 330 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
331 | 331 | merging rev |
|
332 | 332 | my rev@86a2aa42fc76+ other rev@af30c7647fc7 ancestor rev@924404dff337 |
@@ -350,13 +350,13 b' resolving manifests' | |||
|
350 | 350 | rev: versions differ -> m |
|
351 | 351 | preserving b for resolve of b |
|
352 | 352 | preserving rev for resolve of rev |
|
353 |
updat |
|
|
353 | updating: a 1/3 files (33.33%) | |
|
354 | 354 | removing a |
|
355 |
updat |
|
|
355 | updating: b 2/3 files (66.67%) | |
|
356 | 356 | picked tool 'python ../merge' for b (binary False symlink False) |
|
357 | 357 | merging b |
|
358 | 358 | my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000 |
|
359 |
updat |
|
|
359 | updating: rev 3/3 files (100.00%) | |
|
360 | 360 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
361 | 361 | merging rev |
|
362 | 362 | my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337 |
@@ -379,13 +379,13 b' resolving manifests' | |||
|
379 | 379 | rev: versions differ -> m |
|
380 | 380 | preserving b for resolve of b |
|
381 | 381 | preserving rev for resolve of rev |
|
382 |
updat |
|
|
382 | updating: a 1/3 files (33.33%) | |
|
383 | 383 | getting a |
|
384 |
updat |
|
|
384 | updating: b 2/3 files (66.67%) | |
|
385 | 385 | picked tool 'python ../merge' for b (binary False symlink False) |
|
386 | 386 | merging b |
|
387 | 387 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 |
|
388 |
updat |
|
|
388 | updating: rev 3/3 files (100.00%) | |
|
389 | 389 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
390 | 390 | merging rev |
|
391 | 391 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
@@ -409,13 +409,13 b' resolving manifests' | |||
|
409 | 409 | rev: versions differ -> m |
|
410 | 410 | preserving b for resolve of b |
|
411 | 411 | preserving rev for resolve of rev |
|
412 |
updat |
|
|
412 | updating: a 1/3 files (33.33%) | |
|
413 | 413 | removing a |
|
414 |
updat |
|
|
414 | updating: b 2/3 files (66.67%) | |
|
415 | 415 | picked tool 'python ../merge' for b (binary False symlink False) |
|
416 | 416 | merging b |
|
417 | 417 | my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000 |
|
418 |
updat |
|
|
418 | updating: rev 3/3 files (100.00%) | |
|
419 | 419 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
420 | 420 | merging rev |
|
421 | 421 | my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337 |
@@ -438,13 +438,13 b' resolving manifests' | |||
|
438 | 438 | rev: versions differ -> m |
|
439 | 439 | preserving b for resolve of b |
|
440 | 440 | preserving rev for resolve of rev |
|
441 |
updat |
|
|
441 | updating: a 1/3 files (33.33%) | |
|
442 | 442 | getting a |
|
443 |
updat |
|
|
443 | updating: b 2/3 files (66.67%) | |
|
444 | 444 | picked tool 'python ../merge' for b (binary False symlink False) |
|
445 | 445 | merging b |
|
446 | 446 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 |
|
447 |
updat |
|
|
447 | updating: rev 3/3 files (100.00%) | |
|
448 | 448 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
449 | 449 | merging rev |
|
450 | 450 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
@@ -467,11 +467,11 b' resolving manifests' | |||
|
467 | 467 | rev: versions differ -> m |
|
468 | 468 | preserving b for resolve of b |
|
469 | 469 | preserving rev for resolve of rev |
|
470 |
updat |
|
|
470 | updating: b 1/2 files (50.00%) | |
|
471 | 471 | picked tool 'python ../merge' for b (binary False symlink False) |
|
472 | 472 | merging b |
|
473 | 473 | my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000 |
|
474 |
updat |
|
|
474 | updating: rev 2/2 files (100.00%) | |
|
475 | 475 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
476 | 476 | merging rev |
|
477 | 477 | my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 |
@@ -497,13 +497,13 b' use (c)hanged version or leave (d)eleted' | |||
|
497 | 497 | a: prompt recreating -> g |
|
498 | 498 | preserving b for resolve of b |
|
499 | 499 | preserving rev for resolve of rev |
|
500 |
updat |
|
|
500 | updating: a 1/3 files (33.33%) | |
|
501 | 501 | getting a |
|
502 |
updat |
|
|
502 | updating: b 2/3 files (66.67%) | |
|
503 | 503 | picked tool 'python ../merge' for b (binary False symlink False) |
|
504 | 504 | merging b |
|
505 | 505 | my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000 |
|
506 |
updat |
|
|
506 | updating: rev 3/3 files (100.00%) | |
|
507 | 507 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
508 | 508 | merging rev |
|
509 | 509 | my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 |
@@ -529,12 +529,12 b' use (c)hanged version or (d)elete? c' | |||
|
529 | 529 | rev: versions differ -> m |
|
530 | 530 | preserving b for resolve of b |
|
531 | 531 | preserving rev for resolve of rev |
|
532 |
updat |
|
|
533 |
updat |
|
|
532 | updating: a 1/3 files (33.33%) | |
|
533 | updating: b 2/3 files (66.67%) | |
|
534 | 534 | picked tool 'python ../merge' for b (binary False symlink False) |
|
535 | 535 | merging b |
|
536 | 536 | my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000 |
|
537 |
updat |
|
|
537 | updating: rev 3/3 files (100.00%) | |
|
538 | 538 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
539 | 539 | merging rev |
|
540 | 540 | my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 |
@@ -563,11 +563,11 b' resolving manifests' | |||
|
563 | 563 | preserving a for resolve of b |
|
564 | 564 | preserving rev for resolve of rev |
|
565 | 565 | removing a |
|
566 |
updat |
|
|
566 | updating: a 1/2 files (50.00%) | |
|
567 | 567 | picked tool 'python ../merge' for b (binary False symlink False) |
|
568 | 568 | merging a and b to b |
|
569 | 569 | my b@e300d1c794ec+ other b@49b6d8032493 ancestor a@924404dff337 |
|
570 |
updat |
|
|
570 | updating: rev 2/2 files (100.00%) | |
|
571 | 571 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
572 | 572 | merging rev |
|
573 | 573 | my rev@e300d1c794ec+ other rev@49b6d8032493 ancestor rev@924404dff337 |
@@ -595,11 +595,11 b' resolving manifests' | |||
|
595 | 595 | rev: versions differ -> m |
|
596 | 596 | preserving b for resolve of b |
|
597 | 597 | preserving rev for resolve of rev |
|
598 |
updat |
|
|
598 | updating: b 1/2 files (50.00%) | |
|
599 | 599 | picked tool 'python ../merge' for b (binary False symlink False) |
|
600 | 600 | merging b and a to b |
|
601 | 601 | my b@62e7bf090eba+ other a@f4db7e329e71 ancestor a@924404dff337 |
|
602 |
updat |
|
|
602 | updating: rev 2/2 files (100.00%) | |
|
603 | 603 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
604 | 604 | merging rev |
|
605 | 605 | my rev@62e7bf090eba+ other rev@f4db7e329e71 ancestor rev@924404dff337 |
@@ -630,14 +630,14 b' resolving manifests' | |||
|
630 | 630 | c: remote created -> g |
|
631 | 631 | preserving b for resolve of b |
|
632 | 632 | preserving rev for resolve of rev |
|
633 |
updat |
|
|
633 | updating: b 1/3 files (33.33%) | |
|
634 | 634 | picked tool 'python ../merge' for b (binary False symlink False) |
|
635 | 635 | merging b and a to b |
|
636 | 636 | my b@02963e448370+ other a@2b958612230f ancestor a@924404dff337 |
|
637 | 637 | premerge successful |
|
638 |
updat |
|
|
638 | updating: c 2/3 files (66.67%) | |
|
639 | 639 | getting c |
|
640 |
updat |
|
|
640 | updating: rev 3/3 files (100.00%) | |
|
641 | 641 | picked tool 'python ../merge' for rev (binary False symlink False) |
|
642 | 642 | merging rev |
|
643 | 643 | my rev@02963e448370+ other rev@2b958612230f ancestor rev@924404dff337 |
@@ -83,7 +83,7 b' resolving manifests' | |||
|
83 | 83 | overwrite None partial False |
|
84 | 84 | ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4 |
|
85 | 85 | .hgsubstate: versions differ -> m |
|
86 |
updat |
|
|
86 | updating: .hgsubstate 1/1 files (100.00%) | |
|
87 | 87 | subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec |
|
88 | 88 | subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad:hg |
|
89 | 89 | getting subrepo t |
@@ -91,7 +91,7 b' resolving manifests' | |||
|
91 | 91 | overwrite True partial False |
|
92 | 92 | ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a |
|
93 | 93 | t: remote is newer -> g |
|
94 |
updat |
|
|
94 | updating: t 1/1 files (100.00%) | |
|
95 | 95 | getting t |
|
96 | 96 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
97 | 97 | (branch merge, don't forget to commit) |
@@ -107,7 +107,7 b' resolving manifests' | |||
|
107 | 107 | overwrite None partial False |
|
108 | 108 | ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf |
|
109 | 109 | .hgsubstate: versions differ -> m |
|
110 |
updat |
|
|
110 | updating: .hgsubstate 1/1 files (100.00%) | |
|
111 | 111 | subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4 |
|
112 | 112 | subrepo t: both sides changed, merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4:hg |
|
113 | 113 | merging subrepo t |
@@ -117,7 +117,7 b' resolving manifests' | |||
|
117 | 117 | ancestor 6747d179aa9a local 20a0db6fbf6c+ remote 7af322bc1198 |
|
118 | 118 | t: versions differ -> m |
|
119 | 119 | preserving t for resolve of t |
|
120 |
updat |
|
|
120 | updating: t 1/1 files (100.00%) | |
|
121 | 121 | picked tool 'internal:merge' for t (binary False symlink False) |
|
122 | 122 | merging t |
|
123 | 123 | my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a |
@@ -7,6 +7,9 b' echo a > a' | |||
|
7 | 7 | hg add a |
|
8 | 8 | hg commit -m "test" -d "1000000 0" |
|
9 | 9 | hg history |
|
10 | ||
|
11 | hg tag ' ' | |
|
12 | ||
|
10 | 13 | hg tag -d "1000000 0" "bleah" |
|
11 | 14 | hg history |
|
12 | 15 |
@@ -4,6 +4,7 b' user: test' | |||
|
4 | 4 | date: Mon Jan 12 13:46:40 1970 +0000 |
|
5 | 5 | summary: test |
|
6 | 6 | |
|
7 | abort: tag names cannot consist entirely of whitespace | |
|
7 | 8 | changeset: 1:3ecf002a1c57 |
|
8 | 9 | tag: tip |
|
9 | 10 | user: test |
@@ -24,11 +24,11 b' resolving manifests' | |||
|
24 | 24 | a: versions differ -> m |
|
25 | 25 | b: remote created -> g |
|
26 | 26 | preserving a for resolve of a |
|
27 |
updat |
|
|
27 | updating: a 1/2 files (50.00%) | |
|
28 | 28 | picked tool 'true' for a (binary False symlink False) |
|
29 | 29 | merging a |
|
30 | 30 | my a@33aaa84a386b+ other a@802f095af299 ancestor a@33aaa84a386b |
|
31 |
updat |
|
|
31 | updating: b 2/2 files (100.00%) | |
|
32 | 32 | getting b |
|
33 | 33 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
34 | 34 | changeset: 1:802f095af299 |
@@ -43,9 +43,9 b' resolving manifests' | |||
|
43 | 43 | a: versions differ -> m |
|
44 | 44 | b: other deleted -> r |
|
45 | 45 | preserving a for resolve of a |
|
46 |
updat |
|
|
46 | updating: b 1/2 files (50.00%) | |
|
47 | 47 | removing b |
|
48 |
updat |
|
|
48 | updating: a 2/2 files (100.00%) | |
|
49 | 49 | picked tool 'true' for a (binary False symlink False) |
|
50 | 50 | merging a |
|
51 | 51 | my a@802f095af299+ other a@33aaa84a386b ancestor a@802f095af299 |
@@ -71,11 +71,11 b' resolving manifests' | |||
|
71 | 71 | a: versions differ -> m |
|
72 | 72 | b: remote created -> g |
|
73 | 73 | preserving a for resolve of a |
|
74 |
updat |
|
|
74 | updating: a 1/2 files (50.00%) | |
|
75 | 75 | picked tool 'true' for a (binary False symlink False) |
|
76 | 76 | merging a |
|
77 | 77 | my a@33aaa84a386b+ other a@802f095af299 ancestor a@33aaa84a386b |
|
78 |
updat |
|
|
78 | updating: b 2/2 files (100.00%) | |
|
79 | 79 | getting b |
|
80 | 80 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
81 | 81 | changeset: 1:802f095af299 |
@@ -128,11 +128,11 b' resolving manifests' | |||
|
128 | 128 | b: versions differ -> m |
|
129 | 129 | preserving a for resolve of a |
|
130 | 130 | preserving b for resolve of b |
|
131 |
updat |
|
|
131 | updating: a 1/2 files (50.00%) | |
|
132 | 132 | picked tool 'true' for a (binary False symlink False) |
|
133 | 133 | merging a |
|
134 | 134 | my a@802f095af299+ other a@030602aee63d ancestor a@33aaa84a386b |
|
135 |
updat |
|
|
135 | updating: b 2/2 files (100.00%) | |
|
136 | 136 | picked tool 'true' for b (binary False symlink False) |
|
137 | 137 | merging b |
|
138 | 138 | my b@802f095af299+ other b@030602aee63d ancestor b@000000000000 |
@@ -46,11 +46,11 b' resolving manifests' | |||
|
46 | 46 | side2: other deleted -> r |
|
47 | 47 | side1: other deleted -> r |
|
48 | 48 | main: remote created -> g |
|
49 |
updat |
|
|
49 | updating: side1 1/3 files (33.33%) | |
|
50 | 50 | removing side1 |
|
51 |
updat |
|
|
51 | updating: side2 2/3 files (66.67%) | |
|
52 | 52 | removing side2 |
|
53 |
updat |
|
|
53 | updating: main 3/3 files (100.00%) | |
|
54 | 54 | getting main |
|
55 | 55 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
56 | 56 | Should only show a main |
General Comments 0
You need to be logged in to leave comments.
Login now