##// END OF EJS Templates
merge with stable
Matt Mackall -
r20012:a1d88278 merge default
parent child Browse files
Show More
@@ -26,8 +26,25 b' def compilere(pat, multiline=False):'
26 return re.compile(pat)
26 return re.compile(pat)
27
27
28 def repquote(m):
28 def repquote(m):
29 t = re.sub(r"\w", "x", m.group('text'))
29 fromc = '.:'
30 t = re.sub(r"[^\s\nx]", "o", t)
30 tochr = 'pq'
31 def encodechr(i):
32 if i > 255:
33 return 'u'
34 c = chr(i)
35 if c in ' \n':
36 return c
37 if c.isalpha():
38 return 'x'
39 if c.isdigit():
40 return 'n'
41 try:
42 return tochr[fromc.find(c)]
43 except (ValueError, IndexError):
44 return 'o'
45 t = m.group('text')
46 tt = ''.join(encodechr(i) for i in xrange(256))
47 t = t.translate(tt)
31 return m.group('quote') + t + m.group('quote')
48 return m.group('quote') + t + m.group('quote')
32
49
33 def reppython(m):
50 def reppython(m):
@@ -263,6 +280,7 b' pypats = ['
263 ],
280 ],
264 # warnings
281 # warnings
265 [
282 [
283 (r'(^| )pp +xxxxqq[ \n][^\n]', "add two newlines after '.. note::'"),
266 ]
284 ]
267 ]
285 ]
268
286
@@ -449,6 +467,8 b' def checkfile(f, logfunc=_defaultlogger.'
449 else:
467 else:
450 p, msg = pat
468 p, msg = pat
451 ignore = None
469 ignore = None
470 if i >= nerrs:
471 msg = "warning: " + msg
452
472
453 pos = 0
473 pos = 0
454 n = 0
474 n = 0
@@ -456,8 +476,6 b' def checkfile(f, logfunc=_defaultlogger.'
456 if prelines is None:
476 if prelines is None:
457 prelines = pre.splitlines()
477 prelines = pre.splitlines()
458 postlines = post.splitlines(True)
478 postlines = post.splitlines(True)
459 if i >= nerrs:
460 msg = "warning: " + msg
461
479
462 start = m.start()
480 start = m.start()
463 while n < len(postlines):
481 while n < len(postlines):
@@ -484,6 +502,7 b' def checkfile(f, logfunc=_defaultlogger.'
484 bl, bu, br = blamecache[n]
502 bl, bu, br = blamecache[n]
485 if bl == l:
503 if bl == l:
486 bd = '%s@%s' % (bu, br)
504 bd = '%s@%s' % (bu, br)
505
487 errors.append((f, lineno and n + 1, l, msg, bd))
506 errors.append((f, lineno and n + 1, l, msg, bd))
488 result = False
507 result = False
489
508
@@ -49,6 +49,7 b' Example versioned ``.hgeol`` file::'
49 native = LF
49 native = LF
50
50
51 .. note::
51 .. note::
52
52 The rules will first apply when files are touched in the working
53 The rules will first apply when files are touched in the working
53 copy, e.g. by updating to null and back to tip to touch all files.
54 copy, e.g. by updating to null and back to tip to touch all files.
54
55
@@ -53,6 +53,7 b' Example::'
53 svn = True
53 svn = True
54
54
55 .. note::
55 .. note::
56
56 The more specific you are in your filename patterns the less you
57 The more specific you are in your filename patterns the less you
57 lose speed in huge repositories.
58 lose speed in huge repositories.
58
59
@@ -2622,6 +2622,7 b' def guard(ui, repo, *args, **opts):'
2622 With arguments, set guards for the named patch.
2622 With arguments, set guards for the named patch.
2623
2623
2624 .. note::
2624 .. note::
2625
2625 Specifying negative guards now requires '--'.
2626 Specifying negative guards now requires '--'.
2626
2627
2627 To set guards on another patch::
2628 To set guards on another patch::
@@ -17,6 +17,7 b' def share(ui, source, dest=None, noupdat'
17 history with another repository.
17 history with another repository.
18
18
19 .. note::
19 .. note::
20
20 using rollback or extensions that destroy/modify history (mq,
21 using rollback or extensions that destroy/modify history (mq,
21 rebase, etc.) can cause considerable confusion with shared
22 rebase, etc.) can cause considerable confusion with shared
22 clones. In particular, if two shared clones are both updated to
23 clones. In particular, if two shared clones are both updated to
@@ -51,7 +51,9 b' def strip(ui, repo, revs, update=True, b'
51 if update:
51 if update:
52 checklocalchanges(repo, force=force)
52 checklocalchanges(repo, force=force)
53 urev, p2 = repo.changelog.parents(revs[0])
53 urev, p2 = repo.changelog.parents(revs[0])
54 if p2 != nullid and p2 in [x.node for x in repo.mq.applied]:
54 if (util.safehasattr(repo, 'mq') and
55 p2 != nullid
56 and p2 in [x.node for x in repo.mq.applied]):
55 urev = p2
57 urev = p2
56 hg.clean(repo, urev)
58 hg.clean(repo, urev)
57 repo.dirstate.write()
59 repo.dirstate.write()
@@ -4339,13 +4339,22 b' msgid ""'
4339 " Use \"min(outgoing() and ::.)\" or similar revset specification\n"
4339 " Use \"min(outgoing() and ::.)\" or similar revset specification\n"
4340 " instead of --outgoing to specify edit target revision exactly in\n"
4340 " instead of --outgoing to specify edit target revision exactly in\n"
4341 " such ambiguous situation. See :hg:`help revsets` for detail about\n"
4341 " such ambiguous situation. See :hg:`help revsets` for detail about\n"
4342 " selecting revisions.\n"
4342 " selecting revisions."
4343 " "
4344 msgstr ""
4343 msgstr ""
4345 " Ao invés de --outgoing, use \"min(outgoing() and ::.)\" ou outro\n"
4344 " Ao invés de --outgoing, use \"min(outgoing() and ::.)\" ou outro\n"
4346 " revset semelhante para especificar com exatidão as revisões a serem\n"
4345 " revset semelhante para especificar com exatidão as revisões a serem\n"
4347 " editadas nessas situações.Veja :hg:`help revsets` para detalhes sobre\n"
4346 " editadas nessas situações.Veja :hg:`help revsets` para detalhes sobre\n"
4348 " seleção de revisões.\n"
4347 " seleção de revisões."
4348
4349 msgid ""
4350 " Returns 0 on success, 1 if user intervention is required (not only\n"
4351 " for intentional \"edit\" command, but also for resolving unexpected\n"
4352 " conflicts).\n"
4353 " "
4354 msgstr ""
4355 " Devolve 0 para indicar sucesso, 1 se alguma intervenção do usuário\n"
4356 " for necessária (tanto para um comando \"edit\" como para resolver\n"
4357 " conflitos inesperados).\n"
4349 " "
4358 " "
4350
4359
4351 msgid "source has mq patches applied"
4360 msgid "source has mq patches applied"
@@ -5460,18 +5469,18 b' msgstr "altera\xc3\xa7\xc3\xb5es n\xc3\xa3o consolidadas"'
5460
5469
5461 #, python-format
5470 #, python-format
5462 msgid ""
5471 msgid ""
5463 "%s has been turned into a largefile\n"
5472 "remote turned local normal file %s into a largefile\n"
5464 "use (l)argefile or keep as (n)ormal file?$$ &Largefile $$ &Normal file"
5473 "use (l)argefile or keep (n)ormal file?$$ &Largefile $$ &Normal file"
5465 msgstr ""
5474 msgstr ""
5466 "%s foi transformado em um largefile\n"
5475 "o remoto transformou o arquivo local normal %s em um largefile\n"
5467 "usar (l)argefile ou manter como arquivo (n)ormal?$$ &Largefile $$ Arquivo &Normal"
5476 "usar (l)argefile ou manter como arquivo (n)ormal?$$ &Largefile $$ Arquivo &Normal"
5468
5477
5469 #, python-format
5478 #, python-format
5470 msgid ""
5479 msgid ""
5471 "%s has been turned into a normal file\n"
5480 "remote turned local largefile %s into a normal file\n"
5472 "keep as (l)argefile or use (n)ormal file?$$ &Largefile $$ &Normal file"
5481 "keep (l)argefile or use (n)ormal file?$$ &Largefile $$ &Normal file"
5473 msgstr ""
5482 msgstr ""
5474 "%s foi transformado em um arquivo normal\n"
5483 "o remoto transformou o largefile local %s em um arquivo normal\n"
5475 "manter como (l)argefile ou usar um arquivo (n)ormal?$$ &Largefile $$ Arquivo &Normal"
5484 "manter como (l)argefile ou usar um arquivo (n)ormal?$$ &Largefile $$ Arquivo &Normal"
5476
5485
5477 #, python-format
5486 #, python-format
@@ -8399,10 +8408,12 b' msgstr ""'
8399 " --abort/-a."
8408 " --abort/-a."
8400
8409
8401 msgid ""
8410 msgid ""
8402 " Returns 0 on success, 1 if nothing to rebase.\n"
8411 " Returns 0 on success, 1 if nothing to rebase or there are\n"
8403 " "
8412 " unresolved conflicts.\n"
8404 msgstr ""
8413 " "
8405 " Devolve 0 para indicar sucesso, 1 se não houver nada para rebasear.\n"
8414 msgstr ""
8415 " Devolve 0 para indicar sucesso, 1 se não houver nada para rebasear\n"
8416 " ou se houverem conflitos não resolvidos.\n"
8406 " "
8417 " "
8407
8418
8408 msgid "message can only be specified with collapse"
8419 msgid "message can only be specified with collapse"
@@ -19749,8 +19760,8 b' msgstr ""'
19749 msgid "Lastly, there is Mercurial's internal format:"
19760 msgid "Lastly, there is Mercurial's internal format:"
19750 msgstr "E por fim, há um formato interno do Mercurial:"
19761 msgstr "E por fim, há um formato interno do Mercurial:"
19751
19762
19752 msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
19763 msgid "- ``1165411109 0`` (Wed Dec 6 13:18:29 2006 UTC)"
19753 msgstr "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
19764 msgstr "- ``1165411109 0`` (Wed Dec 6 13:18:29 2006 UTC)"
19754
19765
19755 msgid ""
19766 msgid ""
19756 "This is the internal representation format for dates. The first number\n"
19767 "This is the internal representation format for dates. The first number\n"
@@ -397,6 +397,7 b' def backout(ui, repo, node=None, rev=Non'
397 changes and the merged result is left uncommitted.
397 changes and the merged result is left uncommitted.
398
398
399 .. note::
399 .. note::
400
400 backout cannot be used to fix either an unwanted or
401 backout cannot be used to fix either an unwanted or
401 incorrect merge.
402 incorrect merge.
402
403
@@ -937,6 +938,7 b' def branch(ui, repo, label=None, **opts)'
937 """set or show the current branch name
938 """set or show the current branch name
938
939
939 .. note::
940 .. note::
941
940 Branch names are permanent and global. Use :hg:`bookmark` to create a
942 Branch names are permanent and global. Use :hg:`bookmark` to create a
941 light-weight bookmark instead. See :hg:`help glossary` for more
943 light-weight bookmark instead. See :hg:`help glossary` for more
942 information about named branches and bookmarks.
944 information about named branches and bookmarks.
@@ -2707,6 +2709,7 b' def diff(ui, repo, *pats, **opts):'
2707 Differences between files are shown using the unified diff format.
2709 Differences between files are shown using the unified diff format.
2708
2710
2709 .. note::
2711 .. note::
2712
2710 diff may generate unexpected results for merges, as it will
2713 diff may generate unexpected results for merges, as it will
2711 default to comparing against the working directory's first
2714 default to comparing against the working directory's first
2712 parent changeset if no revisions are specified.
2715 parent changeset if no revisions are specified.
@@ -2796,6 +2799,7 b' def export(ui, repo, *changesets, **opts'
2796 comment.
2799 comment.
2797
2800
2798 .. note::
2801 .. note::
2802
2799 export may generate unexpected diff output for merge
2803 export may generate unexpected diff output for merge
2800 changesets, as it will compare the merge changeset against its
2804 changesets, as it will compare the merge changeset against its
2801 first parent only.
2805 first parent only.
@@ -2928,6 +2932,7 b' def graft(ui, repo, *revs, **opts):'
2928 continued with the -c/--continue option.
2932 continued with the -c/--continue option.
2929
2933
2930 .. note::
2934 .. note::
2935
2931 The -c/--continue option does not reapply earlier options.
2936 The -c/--continue option does not reapply earlier options.
2932
2937
2933 .. container:: verbose
2938 .. container:: verbose
@@ -3979,12 +3984,14 b' def log(ui, repo, *pats, **opts):'
3979 changed files and full commit message are shown.
3984 changed files and full commit message are shown.
3980
3985
3981 .. note::
3986 .. note::
3987
3982 log -p/--patch may generate unexpected diff output for merge
3988 log -p/--patch may generate unexpected diff output for merge
3983 changesets, as it will only compare the merge changeset against
3989 changesets, as it will only compare the merge changeset against
3984 its first parent. Also, only files different from BOTH parents
3990 its first parent. Also, only files different from BOTH parents
3985 will appear in files:.
3991 will appear in files:.
3986
3992
3987 .. note::
3993 .. note::
3994
3988 for performance reasons, log FILE may omit duplicate changes
3995 for performance reasons, log FILE may omit duplicate changes
3989 made on branches and will not show deletions. To see all
3996 made on branches and will not show deletions. To see all
3990 changes including duplicates and deletions, use the --removed
3997 changes including duplicates and deletions, use the --removed
@@ -4652,6 +4659,7 b' def push(ui, repo, dest=None, **opts):'
4652 only create a new branch without forcing other changes.
4659 only create a new branch without forcing other changes.
4653
4660
4654 .. note::
4661 .. note::
4662
4655 Extra care should be taken with the -f/--force option,
4663 Extra care should be taken with the -f/--force option,
4656 which will push all new heads on all branches, an action which will
4664 which will push all new heads on all branches, an action which will
4657 almost always cause confusion for collaborators.
4665 almost always cause confusion for collaborators.
@@ -4976,6 +4984,7 b' def revert(ui, repo, *pats, **opts):'
4976 """restore files to their checkout state
4984 """restore files to their checkout state
4977
4985
4978 .. note::
4986 .. note::
4987
4979 To check out earlier revisions, you should use :hg:`update REV`.
4988 To check out earlier revisions, you should use :hg:`update REV`.
4980 To cancel an uncommitted merge (and lose your changes),
4989 To cancel an uncommitted merge (and lose your changes),
4981 use :hg:`update --clean .`.
4990 use :hg:`update --clean .`.
@@ -5306,6 +5315,7 b' def status(ui, repo, *pats, **opts):'
5306 unless explicitly requested with -u/--unknown or -i/--ignored.
5315 unless explicitly requested with -u/--unknown or -i/--ignored.
5307
5316
5308 .. note::
5317 .. note::
5318
5309 status may appear to disagree with diff if permissions have
5319 status may appear to disagree with diff if permissions have
5310 changed or a merge has occurred. The standard diff format does
5320 changed or a merge has occurred. The standard diff format does
5311 not report permission changes and diff only reports changes
5321 not report permission changes and diff only reports changes
@@ -151,9 +151,9 b' def _search(web, req, tmpl):'
151 yield web.repo[r]
151 yield web.repo[r]
152
152
153 searchfuncs = {
153 searchfuncs = {
154 MODE_REVISION: (revsearch, _('exact revision search')),
154 MODE_REVISION: (revsearch, 'exact revision search'),
155 MODE_KEYWORD: (keywordsearch, _('literal keyword search')),
155 MODE_KEYWORD: (keywordsearch, 'literal keyword search'),
156 MODE_REVSET: (revsetsearch, _('revset expression search')),
156 MODE_REVSET: (revsetsearch, 'revset expression search'),
157 }
157 }
158
158
159 def getsearchmode(query):
159 def getsearchmode(query):
@@ -106,6 +106,12 b' def findliteralblocks(blocks):'
106 # Partially minimized form: remove space and both
106 # Partially minimized form: remove space and both
107 # colons.
107 # colons.
108 blocks[i]['lines'][-1] = blocks[i]['lines'][-1][:-3]
108 blocks[i]['lines'][-1] = blocks[i]['lines'][-1][:-3]
109 elif len(blocks[i]['lines']) == 1 and \
110 blocks[i]['lines'][0].lstrip(' ').startswith('.. ') and \
111 blocks[i]['lines'][0].find(' ', 3) == -1:
112 # directive on its onw line, not a literal block
113 i += 1
114 continue
109 else:
115 else:
110 # Fully minimized form: remove just one colon.
116 # Fully minimized form: remove just one colon.
111 blocks[i]['lines'][-1] = blocks[i]['lines'][-1][:-1]
117 blocks[i]['lines'][-1] = blocks[i]['lines'][-1][:-1]
@@ -375,6 +381,9 b' def addmargins(blocks):'
375 if (blocks[i]['type'] == blocks[i - 1]['type'] and
381 if (blocks[i]['type'] == blocks[i - 1]['type'] and
376 blocks[i]['type'] in ('bullet', 'option', 'field')):
382 blocks[i]['type'] in ('bullet', 'option', 'field')):
377 i += 1
383 i += 1
384 elif not blocks[i - 1]['lines']:
385 # no lines in previous block, do not seperate
386 i += 1
378 else:
387 else:
379 blocks.insert(i, dict(lines=[''], indent=0, type='margin'))
388 blocks.insert(i, dict(lines=[''], indent=0, type='margin'))
380 i += 2
389 i += 2
@@ -447,6 +456,8 b' def formatblock(block, width):'
447 indent = ' ' * block['indent']
456 indent = ' ' * block['indent']
448 if block['type'] == 'admonition':
457 if block['type'] == 'admonition':
449 admonition = _admonitiontitles[block['admonitiontitle']]
458 admonition = _admonitiontitles[block['admonitiontitle']]
459 if not block['lines']:
460 return indent + admonition + '\n'
450 hang = len(block['lines'][-1]) - len(block['lines'][-1].lstrip())
461 hang = len(block['lines'][-1]) - len(block['lines'][-1].lstrip())
451
462
452 defindent = indent + hang * ' '
463 defindent = indent + hang * ' '
@@ -625,9 +636,9 b' def parse(text, indent=0, keep=None):'
625 blocks = splitparagraphs(blocks)
636 blocks = splitparagraphs(blocks)
626 blocks = updatefieldlists(blocks)
637 blocks = updatefieldlists(blocks)
627 blocks = updateoptionlists(blocks)
638 blocks = updateoptionlists(blocks)
639 blocks = findadmonitions(blocks)
628 blocks = addmargins(blocks)
640 blocks = addmargins(blocks)
629 blocks = prunecomments(blocks)
641 blocks = prunecomments(blocks)
630 blocks = findadmonitions(blocks)
631 return blocks, pruned
642 return blocks, pruned
632
643
633 def formatblocks(blocks, width):
644 def formatblocks(blocks, width):
@@ -563,7 +563,7 b' def copyfiles(src, dst, hardlink=None):'
563 lpt1 lpt2 lpt3 lpt4 lpt5 lpt6 lpt7 lpt8 lpt9'''.split()
563 lpt1 lpt2 lpt3 lpt4 lpt5 lpt6 lpt7 lpt8 lpt9'''.split()
564 _winreservedchars = ':*?"<>|'
564 _winreservedchars = ':*?"<>|'
565 def checkwinfilename(path):
565 def checkwinfilename(path):
566 '''Check that the base-relative path is a valid filename on Windows.
566 r'''Check that the base-relative path is a valid filename on Windows.
567 Returns None if the path is ok, or a UI string describing the problem.
567 Returns None if the path is ok, or a UI string describing the problem.
568
568
569 >>> checkwinfilename("just/a/normal/path")
569 >>> checkwinfilename("just/a/normal/path")
@@ -577,11 +577,19 b' def checkwinfilename(path):'
577 >>> checkwinfilename("foo/bar/bla:.txt")
577 >>> checkwinfilename("foo/bar/bla:.txt")
578 "filename contains ':', which is reserved on Windows"
578 "filename contains ':', which is reserved on Windows"
579 >>> checkwinfilename("foo/bar/b\07la.txt")
579 >>> checkwinfilename("foo/bar/b\07la.txt")
580 "filename contains '\\\\x07', which is invalid on Windows"
580 "filename contains '\\x07', which is invalid on Windows"
581 >>> checkwinfilename("foo/bar/bla ")
581 >>> checkwinfilename("foo/bar/bla ")
582 "filename ends with ' ', which is not allowed on Windows"
582 "filename ends with ' ', which is not allowed on Windows"
583 >>> checkwinfilename("../bar")
583 >>> checkwinfilename("../bar")
584 >>> checkwinfilename("foo\\")
585 "filename ends with '\\', which is invalid on Windows"
586 >>> checkwinfilename("foo\\/bar")
587 "directory name ends with '\\', which is invalid on Windows"
584 '''
588 '''
589 if path.endswith('\\'):
590 return _("filename ends with '\\', which is invalid on Windows")
591 if '\\/' in path:
592 return _("directory name ends with '\\', which is invalid on Windows")
585 for n in path.replace('\\', '/').split('/'):
593 for n in path.replace('\\', '/').split('/'):
586 if not n:
594 if not n:
587 continue
595 continue
@@ -185,12 +185,20 b''
185 $ cat > warning.t <<EOF
185 $ cat > warning.t <<EOF
186 > $ function warnonly {
186 > $ function warnonly {
187 > > }
187 > > }
188 > $ diff -N aaa
189 > $ function onwarn {}
188 > EOF
190 > EOF
189 $ "$check_code" warning.t
191 $ "$check_code" warning.t
190 $ "$check_code" --warn warning.t
192 $ "$check_code" --warn warning.t
191 warning.t:1:
193 warning.t:1:
192 > $ function warnonly {
194 > $ function warnonly {
193 warning: don't use 'function', use old style
195 warning: don't use 'function', use old style
196 warning.t:3:
197 > $ diff -N aaa
198 warning: don't use 'diff -N'
199 warning.t:4:
200 > $ function onwarn {}
201 warning: don't use 'function', use old style
194 [1]
202 [1]
195 $ cat > raise-format.py <<EOF
203 $ cat > raise-format.py <<EOF
196 > raise SomeException, message
204 > raise SomeException, message
@@ -204,3 +212,42 b''
204 don't use old-style two-argument raise, use Exception(message)
212 don't use old-style two-argument raise, use Exception(message)
205 [1]
213 [1]
206
214
215 $ cat > rst.py <<EOF
216 > """problematic rst text
217 >
218 > .. note::
219 > wrong
220 > """
221 >
222 > '''
223 >
224 > .. note::
225 >
226 > valid
227 >
228 > new text
229 >
230 > .. note::
231 >
232 > also valid
233 > '''
234 >
235 > """mixed
236 >
237 > .. note::
238 >
239 > good
240 >
241 > .. note::
242 > plus bad
243 > """
244 > EOF
245 $ $check_code -w rst.py
246 rst.py:3:
247 > .. note::
248 warning: add two newlines after '.. note::'
249 rst.py:26:
250 > .. note::
251 warning: add two newlines after '.. note::'
252 [1]
253
@@ -131,6 +131,13 b" Check hgweb's load order:"
131
131
132 Check "from __future__ import absolute_import" support for external libraries
132 Check "from __future__ import absolute_import" support for external libraries
133
133
134 #if windows
135 $ PATHSEP=";"
136 #else
137 $ PATHSEP=":"
138 #endif
139 $ export PATHSEP
140
134 $ mkdir $TESTTMP/libroot
141 $ mkdir $TESTTMP/libroot
135 $ echo "s = 'libroot/ambig.py'" > $TESTTMP/libroot/ambig.py
142 $ echo "s = 'libroot/ambig.py'" > $TESTTMP/libroot/ambig.py
136 $ mkdir $TESTTMP/libroot/mod
143 $ mkdir $TESTTMP/libroot/mod
@@ -148,9 +155,9 b' Check "from __future__ import absolute_i'
148 > def extsetup():
155 > def extsetup():
149 > print 'ambigabs.s=%s' % ambigabs.s
156 > print 'ambigabs.s=%s' % ambigabs.s
150 > EOF
157 > EOF
151 $ (PYTHONPATH=$PYTHONPATH:$TESTTMP/libroot; hg --config extensions.loadabs=loadabs.py root)
158 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadabs=loadabs.py root)
152 ambigabs.s=libroot/ambig.py
159 ambigabs.s=libroot/ambig.py
153 $TESTTMP/a
160 $TESTTMP/a (glob)
154 #endif
161 #endif
155
162
156 #if no-py3k
163 #if no-py3k
@@ -163,9 +170,9 b' Check "from __future__ import absolute_i'
163 > def extsetup():
170 > def extsetup():
164 > print 'ambigrel.s=%s' % ambigrel.s
171 > print 'ambigrel.s=%s' % ambigrel.s
165 > EOF
172 > EOF
166 $ (PYTHONPATH=$PYTHONPATH:$TESTTMP/libroot; hg --config extensions.loadrel=loadrel.py root)
173 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadrel=loadrel.py root)
167 ambigrel.s=libroot/mod/ambig.py
174 ambigrel.s=libroot/mod/ambig.py
168 $TESTTMP/a
175 $TESTTMP/a (glob)
169 #endif
176 #endif
170
177
171 Check absolute/relative import of extension specific modules
178 Check absolute/relative import of extension specific modules
@@ -220,10 +227,10 b' Check absolute/relative import of extens'
220 (extroot) import extroot: this is extroot.__init__
227 (extroot) import extroot: this is extroot.__init__
221 (extroot) from extroot.bar import s: this is extroot.bar
228 (extroot) from extroot.bar import s: this is extroot.bar
222 (extroot) import extroot.bar in func(): this is extroot.bar
229 (extroot) import extroot.bar in func(): this is extroot.bar
223 $TESTTMP/a
230 $TESTTMP/a (glob)
224
231
225 #if no-py3k
232 #if no-py3k
226 $ rm -f $TESTTMP/extroot/foo.*
233 $ rm "$TESTTMP"/extroot/foo.*
227 $ cat > $TESTTMP/extroot/foo.py <<EOF
234 $ cat > $TESTTMP/extroot/foo.py <<EOF
228 > # test relative import
235 > # test relative import
229 > buf = []
236 > buf = []
@@ -256,7 +263,7 b' Check absolute/relative import of extens'
256 (extroot) import sub1: this is extroot.sub1.__init__
263 (extroot) import sub1: this is extroot.sub1.__init__
257 (extroot) from bar import s: this is extroot.bar
264 (extroot) from bar import s: this is extroot.bar
258 (extroot) import bar in func(): this is extroot.bar
265 (extroot) import bar in func(): this is extroot.bar
259 $TESTTMP/a
266 $TESTTMP/a (glob)
260 #endif
267 #endif
261
268
262 $ cd ..
269 $ cd ..
@@ -732,59 +739,59 b' Commands handling multiple repositories '
732 $ echo '# enable extension locally' >> src/.hg/hgrc
739 $ echo '# enable extension locally' >> src/.hg/hgrc
733 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc
740 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc
734 $ hg -R src status
741 $ hg -R src status
735 reposetup() for $TESTTMP/reposetup-test/src
742 reposetup() for $TESTTMP/reposetup-test/src (glob)
736
743
737 $ hg clone -U src clone-dst1
744 $ hg clone -U src clone-dst1
738 reposetup() for $TESTTMP/reposetup-test/src
745 reposetup() for $TESTTMP/reposetup-test/src (glob)
739 $ hg init push-dst1
746 $ hg init push-dst1
740 $ hg -q -R src push push-dst1
747 $ hg -q -R src push push-dst1
741 reposetup() for $TESTTMP/reposetup-test/src
748 reposetup() for $TESTTMP/reposetup-test/src (glob)
742 $ hg init pull-src1
749 $ hg init pull-src1
743 $ hg -q -R pull-src1 pull src
750 $ hg -q -R pull-src1 pull src
744 reposetup() for $TESTTMP/reposetup-test/src
751 reposetup() for $TESTTMP/reposetup-test/src (glob)
745
752
746 $ echo '[extensions]' >> $HGRCPATH
753 $ echo '[extensions]' >> $HGRCPATH
747 $ echo '# disable extension globally and explicitly' >> $HGRCPATH
754 $ echo '# disable extension globally and explicitly' >> $HGRCPATH
748 $ echo 'reposetuptest = !' >> $HGRCPATH
755 $ echo 'reposetuptest = !' >> $HGRCPATH
749 $ hg clone -U src clone-dst2
756 $ hg clone -U src clone-dst2
750 reposetup() for $TESTTMP/reposetup-test/src
757 reposetup() for $TESTTMP/reposetup-test/src (glob)
751 $ hg init push-dst2
758 $ hg init push-dst2
752 $ hg -q -R src push push-dst2
759 $ hg -q -R src push push-dst2
753 reposetup() for $TESTTMP/reposetup-test/src
760 reposetup() for $TESTTMP/reposetup-test/src (glob)
754 $ hg init pull-src2
761 $ hg init pull-src2
755 $ hg -q -R pull-src2 pull src
762 $ hg -q -R pull-src2 pull src
756 reposetup() for $TESTTMP/reposetup-test/src
763 reposetup() for $TESTTMP/reposetup-test/src (glob)
757
764
758 $ echo '[extensions]' >> $HGRCPATH
765 $ echo '[extensions]' >> $HGRCPATH
759 $ echo '# enable extension globally' >> $HGRCPATH
766 $ echo '# enable extension globally' >> $HGRCPATH
760 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> $HGRCPATH
767 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> $HGRCPATH
761 $ hg clone -U src clone-dst3
768 $ hg clone -U src clone-dst3
762 reposetup() for $TESTTMP/reposetup-test/src
769 reposetup() for $TESTTMP/reposetup-test/src (glob)
763 reposetup() for $TESTTMP/reposetup-test/clone-dst3
770 reposetup() for $TESTTMP/reposetup-test/clone-dst3 (glob)
764 $ hg init push-dst3
771 $ hg init push-dst3
765 reposetup() for $TESTTMP/reposetup-test/push-dst3
772 reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
766 $ hg -q -R src push push-dst3
773 $ hg -q -R src push push-dst3
767 reposetup() for $TESTTMP/reposetup-test/src
774 reposetup() for $TESTTMP/reposetup-test/src (glob)
768 reposetup() for $TESTTMP/reposetup-test/push-dst3
775 reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
769 $ hg init pull-src3
776 $ hg init pull-src3
770 reposetup() for $TESTTMP/reposetup-test/pull-src3
777 reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
771 $ hg -q -R pull-src3 pull src
778 $ hg -q -R pull-src3 pull src
772 reposetup() for $TESTTMP/reposetup-test/pull-src3
779 reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
773 reposetup() for $TESTTMP/reposetup-test/src
780 reposetup() for $TESTTMP/reposetup-test/src (glob)
774
781
775 $ echo '[extensions]' >> src/.hg/hgrc
782 $ echo '[extensions]' >> src/.hg/hgrc
776 $ echo '# disable extension locally' >> src/.hg/hgrc
783 $ echo '# disable extension locally' >> src/.hg/hgrc
777 $ echo 'reposetuptest = !' >> src/.hg/hgrc
784 $ echo 'reposetuptest = !' >> src/.hg/hgrc
778 $ hg clone -U src clone-dst4
785 $ hg clone -U src clone-dst4
779 reposetup() for $TESTTMP/reposetup-test/clone-dst4
786 reposetup() for $TESTTMP/reposetup-test/clone-dst4 (glob)
780 $ hg init push-dst4
787 $ hg init push-dst4
781 reposetup() for $TESTTMP/reposetup-test/push-dst4
788 reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
782 $ hg -q -R src push push-dst4
789 $ hg -q -R src push push-dst4
783 reposetup() for $TESTTMP/reposetup-test/push-dst4
790 reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
784 $ hg init pull-src4
791 $ hg init pull-src4
785 reposetup() for $TESTTMP/reposetup-test/pull-src4
792 reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
786 $ hg -q -R pull-src4 pull src
793 $ hg -q -R pull-src4 pull src
787 reposetup() for $TESTTMP/reposetup-test/pull-src4
794 reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
788
795
789 disabling in command line overlays with all configuration
796 disabling in command line overlays with all configuration
790 $ hg --config extensions.reposetuptest=! clone -U src clone-dst5
797 $ hg --config extensions.reposetuptest=! clone -U src clone-dst5
@@ -827,8 +834,8 b' disabling in command line overlays with '
827 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc
834 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc
828 $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc
835 $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc
829 $ hg -R parent status -S -A
836 $ hg -R parent status -S -A
830 reposetup() for $TESTTMP/reposetup-test/parent
837 reposetup() for $TESTTMP/reposetup-test/parent (glob)
831 reposetup() for $TESTTMP/reposetup-test/parent/sub2
838 reposetup() for $TESTTMP/reposetup-test/parent/sub2 (glob)
832 C .hgsub
839 C .hgsub
833 C .hgsubstate
840 C .hgsubstate
834 C sub1/1
841 C sub1/1
@@ -202,6 +202,7 b" debugformats('sections', sections)"
202
202
203 admonitions = """
203 admonitions = """
204 .. note::
204 .. note::
205
205 This is a note
206 This is a note
206
207
207 - Bullet 1
208 - Bullet 1
@@ -683,7 +683,10 b' Note:'
683 html format:
683 html format:
684 ----------------------------------------------------------------------
684 ----------------------------------------------------------------------
685 <p>
685 <p>
686 <b>Note:</b> This is a note
686 <b>Note:</b>
687 </p>
688 <p>
689 This is a note
687 </p>
690 </p>
688 <ul>
691 <ul>
689 <li> Bullet 1
692 <li> Bullet 1
General Comments 0
You need to be logged in to leave comments. Login now