Rev 2824: (Keir Mierle) Add Mutt as a supported email client in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Sun Sep 16 21:29:07 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2824
revision-id: pqm at pqm.ubuntu.com-20070916202904-8ad60iodgmscjglj
parent: pqm at pqm.ubuntu.com-20070914082550-j9aknobh4x00qksk
parent: jelmer at samba.org-20070916192900-fph1i2wsytberyyl
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sun 2007-09-16 21:29:04 +0100
message:
(Keir Mierle) Add Mutt as a supported email client
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/mail_client.py mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
------------------------------------------------------------
revno: 2790.2.6
merged: jelmer at samba.org-20070916192900-fph1i2wsytberyyl
parent: keir at cs.utoronto.ca-20070904190351-ug32zv9dcfqtluvi
parent: pqm at pqm.ubuntu.com-20070914082550-j9aknobh4x00qksk
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: bzr.dev
timestamp: Sun 2007-09-16 21:29:00 +0200
message:
Merge bzr.dev.
------------------------------------------------------------
revno: 2790.2.5
merged: keir at cs.utoronto.ca-20070904190351-ug32zv9dcfqtluvi
parent: keir at cs.utoronto.ca-20070904190215-t7ygwihk735ja8lk
committer: Keir Mierle <keir at cs.utoronto.ca>
branch nick: bzr.dev
timestamp: Tue 2007-09-04 12:03:51 -0700
message:
Change ordering of clients listing.
------------------------------------------------------------
revno: 2790.2.4
merged: keir at cs.utoronto.ca-20070904190215-t7ygwihk735ja8lk
parent: keir at cs.utoronto.ca-20070904175722-9j9yffl5swt2oisx
committer: Keir Mierle <keir at cs.utoronto.ca>
branch nick: bzr.dev
timestamp: Tue 2007-09-04 12:02:15 -0700
message:
Spelling
------------------------------------------------------------
revno: 2790.2.3
merged: keir at cs.utoronto.ca-20070904175722-9j9yffl5swt2oisx
parent: keir at cs.utoronto.ca-20070904175027-xvye7lkynkkrz9tl
parent: pqm at pqm.ubuntu.com-20070904035759-iv4xl6d7ez69txba
committer: Keir Mierle <keir at cs.utoronto.ca>
branch nick: bzr.dev
timestamp: Tue 2007-09-04 10:57:22 -0700
message:
Merge from upstream
------------------------------------------------------------
revno: 2790.2.2
merged: keir at cs.utoronto.ca-20070904175027-xvye7lkynkkrz9tl
parent: keir at cs.utoronto.ca-20070903235422-zfj6mk7nts9nmzw2
committer: Keir Mierle <keir at cs.utoronto.ca>
branch nick: bzr.dev
timestamp: Tue 2007-09-04 10:50:27 -0700
message:
Change alphabetic ordering into two categories; one for specific clients the other for generic options.
------------------------------------------------------------
revno: 2790.2.1
merged: keir at cs.utoronto.ca-20070903235422-zfj6mk7nts9nmzw2
parent: pqm at pqm.ubuntu.com-20070903130729-qdcrag0a7vcpzfgm
committer: Keir Mierle <keir at cs.utoronto.ca>
branch nick: bzr.dev
timestamp: Mon 2007-09-03 16:54:22 -0700
message:
Add Mutt as a supported client email program. Also rearranges various listings
of the mail clients to be alphabetical; the number of supported email clients
is only going to grow, and this way it is easier to scan for your favorite
email client.
=== modified file 'NEWS'
--- a/NEWS 2007-09-14 02:17:32 +0000
+++ b/NEWS 2007-09-16 19:29:00 +0000
@@ -24,6 +24,9 @@
IMPROVEMENTS:
+ * Mutt is now a supported mail client; set ``mail_client=mutt`` in your
+ bazaar.conf and ``send`` will use mutt. (Keir Mierle)
+
BUG FIXES:
* The basename, not the full path, is now used when checking whether
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2007-09-13 04:28:56 +0000
+++ b/bzrlib/builtins.py 2007-09-16 19:29:00 +0000
@@ -3846,9 +3846,9 @@
the preferred client can't be found (or used), your editor will be used.
To use a specific mail program, set the mail_client configuration option.
- (For Thunderbird 1.5, this works around some bugs.) Supported values are
- "thunderbird", "evolution", "editor", "xdg-email", "mapi", "kmail" and
- "default".
+ (For Thunderbird 1.5, this works around some bugs.) Supported values for
+ specific clients are "evolution", "kmail", "mutt", and "thunderbird";
+ generic options are "default", "editor", "mapi", and "xdg-email".
If mail is being sent, a to address is required. This can be supplied
either on the commandline, or by setting the submit_to configuration
=== modified file 'bzrlib/config.py'
--- a/bzrlib/config.py 2007-08-14 16:39:00 +0000
+++ b/bzrlib/config.py 2007-09-04 17:50:27 +0000
@@ -150,13 +150,16 @@
try:
mail_client_class = {
None: mail_client.DefaultMail,
+ # Specific clients
+ 'evolution': mail_client.Evolution,
+ 'kmail': mail_client.KMail,
+ 'mutt': mail_client.Mutt,
+ 'thunderbird': mail_client.Thunderbird,
+ # Generic options
'default': mail_client.DefaultMail,
'editor': mail_client.Editor,
- 'thunderbird': mail_client.Thunderbird,
- 'evolution': mail_client.Evolution,
'mapi': mail_client.MAPIClient,
'xdg-email': mail_client.XDGEmail,
- 'kmail': mail_client.KMail,
}[selected_client]
except KeyError:
raise errors.UnknownMailClient(selected_client)
=== modified file 'bzrlib/mail_client.py'
--- a/bzrlib/mail_client.py 2007-08-21 01:26:02 +0000
+++ b/bzrlib/mail_client.py 2007-09-03 23:54:22 +0000
@@ -183,6 +183,23 @@
return ['mailto:%s?%s' % (to or '', '&'.join(options_list))]
+class Mutt(ExternalMailClient):
+ """Mutt mail client."""
+
+ _client_commands = ['mutt']
+
+ def _get_compose_commandline(self, to, subject, attach_path):
+ """See ExternalMailClient._get_compose_commandline"""
+ message_options = []
+ if subject is not None:
+ message_options.extend(['-s', subject ])
+ if attach_path is not None:
+ message_options.extend(['-a', attach_path])
+ if to is not None:
+ message_options.append(to)
+ return message_options
+
+
class Thunderbird(ExternalMailClient):
"""Mozilla Thunderbird (or Icedove)
=== modified file 'bzrlib/tests/test_config.py'
--- a/bzrlib/tests/test_config.py 2007-08-14 16:39:00 +0000
+++ b/bzrlib/tests/test_config.py 2007-09-04 17:50:27 +0000
@@ -1011,18 +1011,7 @@
client = config.get_mail_client()
self.assertIsInstance(client, mail_client.DefaultMail)
- config.set_user_option('mail_client', 'default')
- client = config.get_mail_client()
- self.assertIsInstance(client, mail_client.DefaultMail)
-
- config.set_user_option('mail_client', 'editor')
- client = config.get_mail_client()
- self.assertIsInstance(client, mail_client.Editor)
-
- config.set_user_option('mail_client', 'thunderbird')
- client = config.get_mail_client()
- self.assertIsInstance(client, mail_client.Thunderbird)
-
+ # Specific clients
config.set_user_option('mail_client', 'evolution')
client = config.get_mail_client()
self.assertIsInstance(client, mail_client.Evolution)
@@ -1031,14 +1020,31 @@
client = config.get_mail_client()
self.assertIsInstance(client, mail_client.KMail)
+ config.set_user_option('mail_client', 'mutt')
+ client = config.get_mail_client()
+ self.assertIsInstance(client, mail_client.Mutt)
+
+ config.set_user_option('mail_client', 'thunderbird')
+ client = config.get_mail_client()
+ self.assertIsInstance(client, mail_client.Thunderbird)
+
+ # Generic options
+ config.set_user_option('mail_client', 'default')
+ client = config.get_mail_client()
+ self.assertIsInstance(client, mail_client.DefaultMail)
+
+ config.set_user_option('mail_client', 'editor')
+ client = config.get_mail_client()
+ self.assertIsInstance(client, mail_client.Editor)
+
+ config.set_user_option('mail_client', 'mapi')
+ client = config.get_mail_client()
+ self.assertIsInstance(client, mail_client.MAPIClient)
+
config.set_user_option('mail_client', 'xdg-email')
client = config.get_mail_client()
self.assertIsInstance(client, mail_client.XDGEmail)
- config.set_user_option('mail_client', 'mapi')
- client = config.get_mail_client()
- self.assertIsInstance(client, mail_client.MAPIClient)
-
config.set_user_option('mail_client', 'firebird')
self.assertRaises(errors.UnknownMailClient, config.get_mail_client)
=== modified file 'bzrlib/tests/test_mail_client.py'
--- a/bzrlib/tests/test_mail_client.py 2007-08-14 17:06:51 +0000
+++ b/bzrlib/tests/test_mail_client.py 2007-09-03 23:54:22 +0000
@@ -20,6 +20,17 @@
urlutils,
)
+class TestMutt(tests.TestCase):
+
+ def test_commandline(self):
+ mutt = mail_client.Mutt(None)
+ commandline = mutt._get_compose_commandline(None, None, 'file%')
+ self.assertEqual(['-a', 'file%'], commandline)
+ commandline = mutt._get_compose_commandline('jrandom at example.org',
+ 'Hi there!', None)
+ self.assertEqual(['-s', 'Hi there!', 'jrandom at example.org'],
+ commandline)
+
class TestThunderbird(tests.TestCase):
=== modified file 'doc/en/user-guide/configuration.txt'
--- a/doc/en/user-guide/configuration.txt 2007-08-21 02:06:43 +0000
+++ b/doc/en/user-guide/configuration.txt 2007-09-04 19:03:51 +0000
@@ -207,18 +207,22 @@
will try ``xdg-email``. If either of these fails, it will fall back to
``editor``.
-Supported values are:
+Supported values for specific clients:
-:xdg-email: Use xdg-email to run your preferred mail program
-:mapi: Use your preferred e-mail client on Windows.
+:evolution: Use Evolution.
+:kmail: Use KMail.
+:mutt: Use Mutt.
:thunderbird: Use Mozilla Thunderbird or Icedove. For Thunderbird/Icedove 1.5,
this works around some bugs that xdg-email doesn't handle.
-:evolution: Use Evolution.
-:kmail: Use KMail.
+
+Supported generic values are:
+
+:default: See above.
:editor: Use your editor to compose the merge request. This also uses
your commit id, (see ``bzr whoami``), smtp_server and (optionally)
smtp_username and smtp_password.
-:default: See above.
+:mapi: Use your preferred e-mail client on Windows.
+:xdg-email: Use xdg-email to run your preferred mail program
submit_branch
-------------
More information about the bazaar-commits
mailing list