##// END OF EJS Templates
merge with stable
Martin Geisler -
r13637:4e976235 merge default
parent child Browse files
Show More
@@ -26,8 +26,7 b' whitespace.'
26
26
27 Other effects in addition to color, like bold and underlined text, are
27 Other effects in addition to color, like bold and underlined text, are
28 also available. Effects are rendered with the ECMA-48 SGR control
28 also available. Effects are rendered with the ECMA-48 SGR control
29 function (aka ANSI escape codes). This module also provides the
29 function (aka ANSI escape codes).
30 render_text function, which can be used to add effects to any text.
31
30
32 Default effects may be overridden from your configuration file::
31 Default effects may be overridden from your configuration file::
33
32
@@ -319,7 +319,11 b' def _wrapcmd(ui, cmd, table, wrapfn):'
319 '''wrap the command'''
319 '''wrap the command'''
320 def graph(orig, *args, **kwargs):
320 def graph(orig, *args, **kwargs):
321 if kwargs['graph']:
321 if kwargs['graph']:
322 return wrapfn(*args, **kwargs)
322 try:
323 return wrapfn(*args, **kwargs)
324 except TypeError, e:
325 if len(args) > wrapfn.func_code.co_argcount:
326 raise util.Abort(_('--graph option allows at most one file'))
323 return orig(*args, **kwargs)
327 return orig(*args, **kwargs)
324 entry = extensions.wrapcommand(table, cmd, graph)
328 entry = extensions.wrapcommand(table, cmd, graph)
325 entry[1].append(('G', 'graph', None, _("show the revision DAG")))
329 entry[1].append(('G', 'graph', None, _("show the revision DAG")))
@@ -1455,9 +1455,10 b' class queue(object):'
1455
1455
1456 try:
1456 try:
1457 # might be nice to attempt to roll back strip after this
1457 # might be nice to attempt to roll back strip after this
1458 patchf.rename()
1459 n = repo.commit(message, user, ph.date, match=match,
1458 n = repo.commit(message, user, ph.date, match=match,
1460 force=True)
1459 force=True)
1460 # only write patch after a successful commit
1461 patchf.rename()
1461 self.applied.append(statusentry(n, patchfn))
1462 self.applied.append(statusentry(n, patchfn))
1462 except:
1463 except:
1463 ctx = repo[cparents[0]]
1464 ctx = repo[cparents[0]]
@@ -105,6 +105,10 b' def runcmd(cmd, env):'
105 p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
105 p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
106 stderr=subprocess.PIPE, env=env)
106 stderr=subprocess.PIPE, env=env)
107 out, err = p.communicate()
107 out, err = p.communicate()
108 return out, err
109
110 def runhg(cmd, env):
111 out, err = runcmd(cmd, env)
108 # If root is executing setup.py, but the repository is owned by
112 # If root is executing setup.py, but the repository is owned by
109 # another user (as in "sudo python setup.py install") we will get
113 # another user (as in "sudo python setup.py install") we will get
110 # trust warnings since the .hg/hgrc file is untrusted. That is
114 # trust warnings since the .hg/hgrc file is untrusted. That is
@@ -135,7 +139,7 b" if os.path.isdir('.hg'):"
135 # error 0xc0150004. See: http://bugs.python.org/issue3440
139 # error 0xc0150004. See: http://bugs.python.org/issue3440
136 env['SystemRoot'] = os.environ['SystemRoot']
140 env['SystemRoot'] = os.environ['SystemRoot']
137 cmd = [sys.executable, 'hg', 'id', '-i', '-t']
141 cmd = [sys.executable, 'hg', 'id', '-i', '-t']
138 l = runcmd(cmd, env).split()
142 l = runhg(cmd, env).split()
139 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags
143 while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags
140 l.pop()
144 l.pop()
141 if len(l) > 1: # tag found
145 if len(l) > 1: # tag found
@@ -145,7 +149,7 b" if os.path.isdir('.hg'):"
145 elif len(l) == 1: # no tag found
149 elif len(l) == 1: # no tag found
146 cmd = [sys.executable, 'hg', 'parents', '--template',
150 cmd = [sys.executable, 'hg', 'parents', '--template',
147 '{latesttag}+{latesttagdistance}-']
151 '{latesttag}+{latesttagdistance}-']
148 version = runcmd(cmd, env) + l[0]
152 version = runhg(cmd, env) + l[0]
149 if version.endswith('+'):
153 if version.endswith('+'):
150 version += time.strftime('%Y%m%d')
154 version += time.strftime('%Y%m%d')
151 elif os.path.exists('.hg_archival.txt'):
155 elif os.path.exists('.hg_archival.txt'):
@@ -361,7 +365,7 b" if os.name == 'nt':"
361 if sys.platform == 'darwin' and os.path.exists('/usr/bin/xcodebuild'):
365 if sys.platform == 'darwin' and os.path.exists('/usr/bin/xcodebuild'):
362 # XCode 4.0 dropped support for ppc architecture, which is hardcoded in
366 # XCode 4.0 dropped support for ppc architecture, which is hardcoded in
363 # distutils.sysconfig
367 # distutils.sysconfig
364 version = runcmd(['/usr/bin/xcodebuild', '-version'], {}).splitlines()[0]
368 version = runcmd(['/usr/bin/xcodebuild', '-version'], {})[0].splitlines()[0]
365 # Also parse only first digit, because 3.2.1 can't be parsed nicely
369 # Also parse only first digit, because 3.2.1 can't be parsed nicely
366 if (version.startswith('Xcode') and
370 if (version.startswith('Xcode') and
367 StrictVersion(version.split()[1]) >= StrictVersion('4.0')):
371 StrictVersion(version.split()[1]) >= StrictVersion('4.0')):
@@ -686,6 +686,11 b' Unused arguments:'
686 show revision history alongside an ASCII revision graph
686 show revision history alongside an ASCII revision graph
687 [255]
687 [255]
688
688
689 Only one file is allowed:
690 $ hg log -G foo bar
691 abort: --graph option allows at most one file
692 [255]
693
689 Empty revision range - display nothing:
694 Empty revision range - display nothing:
690 $ hg glog -r 1..0
695 $ hg glog -r 1..0
691
696
@@ -487,3 +487,38 b' Issue1441 with git patches:'
487
487
488 $ cd ..
488 $ cd ..
489
489
490 Refresh with bad usernames. Mercurial used to abort on bad usernames,
491 but only after writing the bad name into the patch.
492
493 $ hg init bad-usernames
494 $ cd bad-usernames
495 $ touch a
496 $ hg add a
497 $ hg qnew a
498 $ hg qrefresh -u 'foo
499 > bar'
500 transaction abort!
501 rollback completed
502 refresh interrupted while patch was popped! (revert --all, qpush to recover)
503 abort: username 'foo\nbar' contains a newline!
504 [255]
505 $ cat .hg/patches/a
506 # HG changeset patch
507 # Parent 0000000000000000000000000000000000000000
508 diff --git a/a b/a
509 new file mode 100644
510 $ hg qpush
511 applying a
512 now at: a
513 $ hg qrefresh -u ' '
514 transaction abort!
515 rollback completed
516 refresh interrupted while patch was popped! (revert --all, qpush to recover)
517 abort: empty username!
518 [255]
519 $ cat .hg/patches/a
520 # HG changeset patch
521 # Parent 0000000000000000000000000000000000000000
522 diff --git a/a b/a
523 new file mode 100644
524 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now