[MERGE][Bug #133548] bzr help does not recognise user configured aliases
Daniel Watkins
D.M.Watkins at warwick.ac.uk
Thu Aug 23 11:35:41 BST 2007
On Wed, 2007-08-22 at 17:41 -0400, Aaron Bentley wrote:
> Please don't use "if alias" when you really mean "if alias is not None".
> Too many things evaluate False in Python: None, False, [] and ''.
Fixed.
> When you want to re-raise the same exception, just do "raise", with no
> arguments. This will preserve the original tracback.
Done.
> Also, you can avoid duplicating the outfile.write() bit, like so:
Done.
> The indenting here doesn't match our style.
Fixed.
--
Daniel Watkins (Odd_Bloke) <D.M.Watkins at warwick.ac.uk>
University of Warwick Christian Focus President
University of Warwick Computing Society WUGLUG Liaison Officer
-------------- next part --------------
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: d.m.watkins at warwick.ac.uk-20070823103345-\
# 3fwlsg33a2i622b7
# target_branch: file:///home/daniel/devel/bzr/bzr.dev/
# testament_sha1: 5a936d16cb0c852d77c3b8c4bc34202bfaf7b063
# timestamp: 2007-08-23 12:34:07 +0200
# base_revision_id: pqm at pqm.ubuntu.com-20070822052832-nxby1d1plok4syek
#
# Begin patch
=== modified file 'NEWS'
--- NEWS 2007-08-22 05:28:32 +0000
+++ NEWS 2007-08-22 18:55:47 +0000
@@ -33,6 +33,10 @@
* get_transport treats an empty possible_transports list the same as a non-
empty one. (Aaron Bentley)
+ * If a particular command is an alias, ``help`` will show the alias
+ instead of claiming there is no help for said alias. (Daniel Watkins,
+ #133548)
+
IMPROVEMENTS:
* ``pull`` and ``merge`` are much faster at installing bundle format 4.
=== modified file 'bzrlib/help.py'
--- bzrlib/help.py 2007-08-06 08:25:46 +0000
+++ bzrlib/help.py 2007-08-23 10:30:11 +0000
@@ -40,11 +40,20 @@
outfile = sys.stdout
indices = HelpIndices()
- topics = indices.search(topic)
- shadowed_terms = []
- for index, topic in topics[1:]:
- shadowed_terms.append('%s%s' % (index.prefix, topic.get_help_topic()))
- outfile.write(topics[0][1].get_help_text(shadowed_terms))
+
+ alias = _mod_commands.get_alias(topic)
+ try:
+ topics = indices.search(topic)
+ shadowed_terms = []
+ for index, topic in topics[1:]:
+ shadowed_terms.append('%s%s' % (index.prefix, topic.get_help_topic()))
+ outfile.write(topics[0][1].get_help_text(shadowed_terms))
+ except errors.NoHelpTopic:
+ if alias is None:
+ raise
+
+ if alias is not None:
+ outfile.write("'bzr %s' is an alias for 'bzr %s'.\n" % (topic, " ".join(alias)))
def help_commands(outfile=None):
=== modified file 'bzrlib/tests/blackbox/test_help.py'
--- bzrlib/tests/blackbox/test_help.py 2007-08-06 08:25:46 +0000
+++ bzrlib/tests/blackbox/test_help.py 2007-08-23 10:33:45 +0000
@@ -21,6 +21,7 @@
import bzrlib
from bzrlib.tests.blackbox import ExternalBase
+from bzrlib.config import (ensure_config_dir_exists, config_filename)
class TestHelp(ExternalBase):
@@ -126,3 +127,19 @@
if '--long' in line:
self.assertContainsRe(line,
r'Show help on all commands\.')
+
+ def test_help_with_aliases(self):
+ original = self.run_bzr('help cat')[0]
+
+ ensure_config_dir_exists()
+ CONFIG=("[ALIASES]\n"
+ "c=cat\n"
+ "cat=cat\n")
+
+ open(config_filename(),'wb').write(CONFIG)
+
+ expected = original + "'bzr cat' is an alias for 'bzr cat'.\n"
+ self.assertEqual(expected, self.run_bzr('help cat')[0])
+
+ self.assertEqual("'bzr c' is an alias for 'bzr cat'.\n",
+ self.run_bzr('help c')[0])
# Begin bundle
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
4HQuR+BHej80VRdtJNDIMwT/i7kinChIHeaSUoA=
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070823/7c6e14a6/attachment.pgp
More information about the bazaar
mailing list