[RFC] Fix Bug #220331
Audrius Kažukauskas
neobug at tornado.ktu.lt
Thu Jul 10 13:23:50 BST 2008
Hello,
I fixed bug #220331. Could you please take a look at the fix?
--
Audrius Kažukauskas
-------------- next part --------------
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: neobug at tornado.ktu.lt-20080710121353-yg4m6agm2vv3no93
# target_branch: file:///home/neobug/src/temp/bzr/
# testament_sha1: 345c19cab56c8966ce9d6896c22046e619377cd6
# timestamp: 2008-07-10 15:17:00 +0300
# base_revision_id: pqm at pqm.ubuntu.com-20080709135859-wq3r1d1fjcafelgw
#
# Begin patch
=== modified file 'bzrlib/msgeditor.py'
--- bzrlib/msgeditor.py 2008-04-22 09:58:15 +0000
+++ bzrlib/msgeditor.py 2008-07-10 12:13:53 +0000
@@ -56,7 +56,7 @@
def _run_editor(filename):
"""Try to execute an editor to edit the commit message."""
for e in _get_editor():
- edargs = e.split(' ')
+ edargs = bzrlib.commands.shlex_split_unicode(e)
try:
## mutter("trying editor: %r", (edargs +[filename]))
x = call(edargs + [filename])
=== modified file 'bzrlib/tests/test_msgeditor.py'
--- bzrlib/tests/test_msgeditor.py 2008-06-06 13:30:30 +0000
+++ bzrlib/tests/test_msgeditor.py 2008-07-10 12:13:53 +0000
@@ -242,6 +242,43 @@
else:
os.environ['EDITOR'] = editor
+ def test__run_editor(self):
+ # Test if _run_editor can handle path to editor containing spaces
+ bzr_editor = os.environ.get('BZR_EDITOR')
+ visual = os.environ.get('VISUAL')
+ editor = os.environ.get('EDITOR')
+ try:
+ os.environ['BZR_EDITOR'] = '/tmp/true\ with\ spaces'
+ os.environ['VISUAL'] = '/usr/bin/touch'
+ os.environ['EDITOR'] = 'editor'
+ if os.path.exists('/tmp/true with spaces'):
+ os.unlink('/tmp/true with spaces')
+ if os.path.exists('/tmp/foobar'):
+ os.unlink('/tmp/foobar')
+ os.symlink('/usr/bin/true', '/tmp/true with spaces')
+ tmpfile = '/tmp/foobar'
+ msgeditor._run_editor(tmpfile)
+ # There shouldn't be any /tmp/foobar
+ self.assertFalse(os.path.exists('/tmp/foobar'))
+ finally:
+ # Restore the environment
+ if bzr_editor is None:
+ del os.environ['BZR_EDITOR']
+ else:
+ os.environ['BZR_EDITOR'] = bzr_editor
+ if visual is None:
+ del os.environ['VISUAL']
+ else:
+ os.environ['VISUAL'] = visual
+ if editor is None:
+ del os.environ['EDITOR']
+ else:
+ os.environ['EDITOR'] = editor
+ # Clean-up the mess
+ os.unlink('/tmp/true with spaces')
+ if os.path.exists('/tmp/foobar'):
+ os.unlink('/tmp/foobar')
+
def test__create_temp_file_with_commit_template(self):
# check that commit template written properly
# and has platform native line-endings (CRLF on win32)
# Begin bundle
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080710/d063852b/attachment.pgp
More information about the bazaar
mailing list