Rev 4904: (nmb) Improved feedback from 'bzr unshelve' (bug #496917) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Wed Dec 16 20:58:37 GMT 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4904 [merge]
revision-id: pqm at pqm.ubuntu.com-20091216205834-29l2k9dk6pg7s6th
parent: pqm at pqm.ubuntu.com-20091216181126-rzour6b702sb9sev
parent: john at arbash-meinel.com-20091216200149-jg71giy0qp27bfv0
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2009-12-16 20:58:34 +0000
message:
  (nmb) Improved feedback from 'bzr unshelve' (bug #496917)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/shelf_ui.py             shelver.py-20081005210102-33worgzwrtdw0yrm-1
  bzrlib/tests/test_shelf_ui.py  test_shelf_ui.py-20081027155203-wtcuazg85wp9u4fv-1
=== modified file 'NEWS'
--- a/NEWS	2009-12-16 10:54:55 +0000
+++ b/NEWS	2009-12-16 20:01:49 +0000
@@ -20,6 +20,9 @@
 Bug Fixes
 *********
 
+* ``bzr unshelve`` has improved messages about what it is doing.
+  (Neil Martinsen-Burrell, #496917)
+
 * Listen to the SIGWINCH signal to update the terminal width.
   (Vincent Ladeuil, #316357)
 

=== modified file 'bzrlib/shelf_ui.py'
--- a/bzrlib/shelf_ui.py	2009-12-11 05:48:21 +0000
+++ b/bzrlib/shelf_ui.py	2009-12-15 17:57:26 +0000
@@ -407,7 +407,6 @@
                 shelf_id = manager.last_shelf()
                 if shelf_id is None:
                     raise errors.BzrCommandError('No changes are shelved.')
-                trace.note('Unshelving changes with id "%d".' % shelf_id)
             apply_changes = True
             delete_shelf = True
             read_shelf = True
@@ -452,6 +451,7 @@
         cleanups = [self.tree.unlock]
         try:
             if self.read_shelf:
+                trace.note('Using changes with id "%d".' % self.shelf_id)
                 unshelver = self.manager.get_unshelver(self.shelf_id)
                 cleanups.append(unshelver.finalize)
                 if unshelver.message is not None:
@@ -469,6 +469,7 @@
                     task.finished()
             if self.delete_shelf:
                 self.manager.delete_shelf(self.shelf_id)
+                trace.note('Deleted changes with id "%d".' % self.shelf_id)
         finally:
             for cleanup in reversed(cleanups):
                 cleanup()

=== modified file 'bzrlib/tests/test_shelf_ui.py'
--- a/bzrlib/tests/test_shelf_ui.py	2009-10-23 03:35:32 +0000
+++ b/bzrlib/tests/test_shelf_ui.py	2009-12-16 15:56:25 +0000
@@ -25,6 +25,7 @@
     revision,
     tests,
 )
+from bzrlib.tests import script
 
 
 class ExpectShelver(shelf_ui.Shelver):
@@ -530,3 +531,45 @@
         self.assertRaises(errors.InvalidShelfId,
             shelf_ui.Unshelver.from_args, directory='tree',
             action='delete-only', shelf_id='foo')
+
+
+class TestUnshelveScripts(TestUnshelver, 
+                          script.TestCaseWithTransportAndScript): 
+
+    def test_unshelve_messages_keep(self):
+        self.create_tree_with_shelf()
+        self.run_script("""
+$ cd tree
+$ bzr unshelve --keep
+2>Using changes with id "1".
+2> M  foo
+2>All changes applied successfully.
+""")
+
+    def test_unshelve_messages_delete(self):
+        self.create_tree_with_shelf()
+        self.run_script("""
+$ cd tree
+$ bzr unshelve --delete-only
+2>Deleted changes with id "1".
+""")
+
+    def test_unshelve_messages_apply(self):
+        self.create_tree_with_shelf()
+        self.run_script("""
+$ cd tree
+$ bzr unshelve --apply
+2>Using changes with id "1".
+2> M  foo
+2>All changes applied successfully.
+2>Deleted changes with id "1".
+""")
+
+    def test_unshelve_messages_dry_run(self):
+        self.create_tree_with_shelf()
+        self.run_script("""
+$ cd tree
+$ bzr unshelve --dry-run
+2>Using changes with id "1".
+2> M  foo
+""")




More information about the bazaar-commits mailing list