Rev 5652: (vila) Merge 2.3 into trunk including fixes for bug #715058 and bug in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Feb 8 14:44:25 UTC 2011


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

------------------------------------------------------------
revno: 5652 [merge]
revision-id: pqm at pqm.ubuntu.com-20110208144422-qz2zctgn6n5apl33
parent: pqm at pqm.ubuntu.com-20110207183342-sid8o7k8d1c5ph7c
parent: v.ladeuil+lp at free.fr-20110208135649-5w2ifp3o040h83f3
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2011-02-08 14:44:22 +0000
message:
  (vila) Merge 2.3 into trunk including fixes for bug #715058 and bug
  	#713258 (Vincent Ladeuil)
modified:
  bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
  bzrlib/conflicts.py            conflicts.py-20051001061850-78ef952ba63d2b42
  bzrlib/tests/blackbox/test_debug.py test_debug.py-20061026142942-q76cgg41785b3mdk-1
  bzrlib/tests/test_conflicts.py test_conflicts.py-20051006031059-e2dad9bbeaa5891f
  doc/en/release-notes/bzr-2.2.txt bzr2.2.txt-20101008081016-21wd86gpfhllpue3-39
  doc/en/release-notes/bzr-2.3.txt NEWS-20050323055033-4e00b5db738777ff
  doc/en/whats-new/whats-new-in-2.2.txt whatsnewin2.2.txt-20100304041442-cj7jdn23zakcw08l-1
  doc/en/whats-new/whats-new-in-2.3.txt whatsnewin2.3.txt-20100818072501-x2h25r7jbnknvy30-1
=== modified file 'bzrlib/commands.py'
--- a/bzrlib/commands.py	2010-10-29 17:07:42 +0000
+++ b/bzrlib/commands.py	2011-02-04 22:25:59 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2010 Canonical Ltd
+# Copyright (C) 2005-2011 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -691,7 +691,10 @@
             return self.run(**all_cmd_args)
         finally:
             # reset it, so that other commands run in the same process won't
-            # inherit state
+            # inherit state. Before we reset it, log any activity, so that it
+            # gets properly tracked.
+            ui.ui_factory.log_transport_activity(
+                display=('bytes' in debug.debug_flags))
             trace.set_verbosity_level(0)
 
     def _setup_run(self):
@@ -1202,8 +1205,6 @@
     argv = _specified_or_unicode_argv(argv)
     _register_builtin_commands()
     ret = run_bzr_catch_errors(argv)
-    bzrlib.ui.ui_factory.log_transport_activity(
-        display=('bytes' in debug.debug_flags))
     trace.mutter("return code %d", ret)
     return ret
 

=== modified file 'bzrlib/conflicts.py'
--- a/bzrlib/conflicts.py	2011-01-16 01:12:01 +0000
+++ b/bzrlib/conflicts.py	2011-02-08 13:56:49 +0000
@@ -644,8 +644,9 @@
         winner_tid = tt.trans_id_tree_path(winner_path)
         winner_parent_tid = tt.get_tree_parent(winner_tid)
         # Switch the paths to preserve the content
-        tt.adjust_path(self.path, winner_parent_tid, winner_tid)
-        tt.adjust_path(winner_path, item_parent_tid, item_tid)
+        tt.adjust_path(osutils.basename(self.path),
+                       winner_parent_tid, winner_tid)
+        tt.adjust_path(osutils.basename(winner_path), item_parent_tid, item_tid)
         # Associate the file_id to the right content
         tt.unversion_file(item_tid)
         tt.version_file(self.file_id, winner_tid)
@@ -755,18 +756,15 @@
         pass
 
     def action_take_other(self, tree):
-        # FIXME: We shouldn't have to manipulate so many paths here (and there
-        # is probably a bug or two...)
-        base_path = osutils.basename(self.path)
-        conflict_base_path = osutils.basename(self.conflict_path)
         tt = transform.TreeTransform(tree)
         try:
             p_tid = tt.trans_id_file_id(self.file_id)
             parent_tid = tt.get_tree_parent(p_tid)
             cp_tid = tt.trans_id_file_id(self.conflict_file_id)
             cparent_tid = tt.get_tree_parent(cp_tid)
-            tt.adjust_path(base_path, cparent_tid, cp_tid)
-            tt.adjust_path(conflict_base_path, parent_tid, p_tid)
+            tt.adjust_path(osutils.basename(self.path), cparent_tid, cp_tid)
+            tt.adjust_path(osutils.basename(self.conflict_path),
+                           parent_tid, p_tid)
             tt.apply()
         finally:
             tt.finalize()

=== modified file 'bzrlib/tests/blackbox/test_debug.py'
--- a/bzrlib/tests/blackbox/test_debug.py	2010-02-17 17:11:16 +0000
+++ b/bzrlib/tests/blackbox/test_debug.py	2011-02-04 22:25:59 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2009, 2010 Canonical Ltd
+# Copyright (C) 2006, 2007, 2009, 2010, 2011 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,10 +21,10 @@
 import sys
 import time
 
-from bzrlib.tests import TestCaseInTempDir
-
-
-class TestDebugOption(TestCaseInTempDir):
+from bzrlib import debug, tests
+
+
+class TestDebugOption(tests.TestCaseInTempDir):
 
     def test_dash_derror(self):
         """With -Derror, tracebacks are shown even for user errors"""
@@ -39,3 +39,22 @@
         # With -Dlock, locking and unlocking is recorded into the log
         self.run_bzr("-Dlock init foo")
         self.assertContainsRe(self.get_log(), "lock_write")
+
+
+class TestDebugBytes(tests.TestCaseWithTransport):
+
+    def test_bytes_reports_activity(self):
+        tree = self.make_branch_and_tree('tree')
+        self.build_tree(['tree/one'])
+        tree.add('one')
+        rev_id = tree.commit('first')
+        remote_trans = self.make_smart_server('.')
+        # I would like to avoid run_bzr_subprocess here, but we need it to be
+        # connected to a real TextUIFactory. The NullProgressView always
+        # ignores transport activity.
+        env = {'BZR_PROGRESS_BAR': 'text'}
+        out, err = self.run_bzr_subprocess('branch -Dbytes %s/tree target'
+                                           % (remote_trans.base,),
+                                           env_changes=env)
+        self.assertContainsRe(err, 'Branched 1 revision')
+        self.assertContainsRe(err, 'Transferred:.*kB')

=== modified file 'bzrlib/tests/test_conflicts.py'
--- a/bzrlib/tests/test_conflicts.py	2011-01-15 17:31:18 +0000
+++ b/bzrlib/tests/test_conflicts.py	2011-02-08 10:17:38 +0000
@@ -22,6 +22,7 @@
     conflicts,
     errors,
     option,
+    osutils,
     tests,
     )
 from bzrlib.tests import (
@@ -376,17 +377,26 @@
 
     scenarios = mirror_scenarios(
         [
-            # File modified/deleted
+            # File modified on both sides
             (dict(_base_actions='create_file',
                   _path='file', _file_id='file-id'),
              ('filed_modified_A',
               dict(actions='modify_file_A', check='file_has_content_A')),
              ('file_modified_B',
               dict(actions='modify_file_B', check='file_has_content_B')),),
+            # File modified on both sides in dir
+            (dict(_base_actions='create_file_in_dir',
+                  _path='dir/file', _file_id='file-id'),
+             ('filed_modified_A_in_dir',
+              dict(actions='modify_file_A',
+                   check='file_in_dir_has_content_A')),
+             ('file_modified_B',
+              dict(actions='modify_file_B',
+                   check='file_in_dir_has_content_B')),),
             ])
 
-    def do_create_file(self):
-        return [('add', ('file', 'file-id', 'file', 'trunk content\n'))]
+    def do_create_file(self, path='file'):
+        return [('add', (path, 'file-id', 'file', 'trunk content\n'))]
 
     def do_modify_file_A(self):
         return [('modify', ('file-id', 'trunk content\nfeature A\n'))]
@@ -394,11 +404,23 @@
     def do_modify_file_B(self):
         return [('modify', ('file-id', 'trunk content\nfeature B\n'))]
 
-    def check_file_has_content_A(self):
-        self.assertFileEqual('trunk content\nfeature A\n', 'branch/file')
-
-    def check_file_has_content_B(self):
-        self.assertFileEqual('trunk content\nfeature B\n', 'branch/file')
+    def check_file_has_content_A(self, path='file'):
+        self.assertFileEqual('trunk content\nfeature A\n',
+                             osutils.pathjoin('branch', path))
+
+    def check_file_has_content_B(self, path='file'):
+        self.assertFileEqual('trunk content\nfeature B\n',
+                             osutils.pathjoin('branch', path))
+
+    def do_create_file_in_dir(self):
+        return [('add', ('dir', 'dir-id', 'directory', '')),
+            ] + self.do_create_file('dir/file')
+
+    def check_file_in_dir_has_content_A(self):
+        self.check_file_has_content_A('dir/file')
+
+    def check_file_in_dir_has_content_B(self):
+        self.check_file_has_content_B('dir/file')
 
     def _get_resolve_path_arg(self, wt, action):
         return self._path

=== modified file 'doc/en/release-notes/bzr-2.2.txt'
--- a/doc/en/release-notes/bzr-2.2.txt	2011-02-02 14:33:27 +0000
+++ b/doc/en/release-notes/bzr-2.2.txt	2011-02-04 14:10:48 +0000
@@ -8,13 +8,11 @@
 bzr 2.2.4
 #########
 
-:2.2.4: NOT RELEASED YET
-
-Compatibility Breaks
-********************
-
-New Features
-************
+:2.2.4: 2011-02-04
+
+This is a bugfix release. Only one bug has been fixed, a regression from 2.2.3
+involving only certain operations with launchpad. Upgrading is recommended for
+all users on earlier 2.2 releases.
 
 Bug Fixes
 *********
@@ -25,21 +23,6 @@
   the default instance was switched from edge to production in bzr 2.2.3.
   (Max Bowsher, #707075)
 
-Improvements
-************
-
-Documentation
-*************
-
-API Changes
-***********
-
-Internals
-*********
-
-Testing
-*******
-
 
 bzr 2.2.3
 #########

=== modified file 'doc/en/release-notes/bzr-2.3.txt'
--- a/doc/en/release-notes/bzr-2.3.txt	2011-02-07 03:24:37 +0000
+++ b/doc/en/release-notes/bzr-2.3.txt	2011-02-08 13:56:49 +0000
@@ -5,10 +5,10 @@
 .. toctree::
    :maxdepth: 1
 
-bzr 2.3.0
+bzr 2.3.1
 #########
 
-:2.3.0: NOT RELEASED YET
+:2.3.1: NOT RELEASED YET
 
 External Compatibility Breaks
 *****************************
@@ -32,6 +32,13 @@
 .. Fixes for situations where bzr would previously crash or give incorrect
    or undesirable results.
 
+* Correctly resolve text conflicts for files in subdirs.
+  (Vincent Ladeuil, #715058)
+
+* Restore proper logging of bytes transferred. We accidentally reset the
+  counter when commands finished before we logged the total transferred.
+  (John Arbash Meinel, #713258)
+
 Documentation
 *************
 
@@ -57,6 +64,28 @@
    spurious test failures and changes to the way things should be tested.
 
 
+bzr 2.3.0
+#########
+
+:2.3.0: 2011-02-03
+
+This release marks the start of another long-term-stable series. From here, we
+will only make bugfix releases on the 2.3 series (2.3.1, etc, and support it
+until August 2012), while 2.4 will become our new development series. The 2.1
+and 2.2 series will also continue to get bugfixes. (Currently 2.0 is planned
+to be EOLed circa September 2011 and will receive only critical bugfixes.)
+
+This is a bugfix and polish release over the 2.2 series, with a large number
+of bugs fixed (>130), and some performance improvements. Some features have
+been enhanced including commits on stacked branches, upgrades of related
+branches, shortcut URL schemes for ubuntu and debian on launchpad and better
+conflict resolution.
+
+Only bugfixes from other stables series have been included since 2.3b5 so all
+known fixed bugs are included here.
+
+Users are encouraged to upgrade from the other stable series.
+
 bzr 2.3b5
 #########
 

=== modified file 'doc/en/whats-new/whats-new-in-2.2.txt'
--- a/doc/en/whats-new/whats-new-in-2.2.txt	2011-01-20 18:42:20 +0000
+++ b/doc/en/whats-new/whats-new-in-2.2.txt	2011-02-04 14:10:48 +0000
@@ -35,6 +35,9 @@
 Bazaar 2.2.3 focused on fixes related to interactions with the launchpad
 server and python-2.7 compatibility.
 
+Bazaar 2.2.4 fixed a regression for some interactions with the launchpad
+server.
+
 See the :doc:`../release-notes/index` for details.
 
 Bazaar 2.2 is fully compatible both locally and on the network with 2.0

=== modified file 'doc/en/whats-new/whats-new-in-2.3.txt'
--- a/doc/en/whats-new/whats-new-in-2.3.txt	2011-01-20 23:41:26 +0000
+++ b/doc/en/whats-new/whats-new-in-2.3.txt	2011-02-08 13:56:49 +0000
@@ -2,20 +2,24 @@
 What's New in Bazaar 2.3?
 *************************
 
-Bazaar 2.3 is still under development, and will be released in February
-2011.  This document accumulates a high level summary of what's changed.
+Bazaar 2.3 has been released on the 3rd of February 2011 and marks the start
+of another long-term-stable series. From here, we will only make bugfix
+releases on the 2.3 series (2.3.1, etc), while 2.4 will become our new
+development series. The 2.1 and 2.2 series will also continue to get
+bugfixes. (Currently 2.0 is planned to be EOLed circa September 2011.)
+
+This document accumulates a high level summary of what's changed.
 See the
 :doc:`../release-notes/index` for a full list.
 
-Users are encouraged to upgrade from the other stable series.  This
-document outlines the improvements in Bazaar 2.3 vs Bazaar 2.2. As well as
-summarizing improvements made to the core product, it highlights
-enhancements within the broader Bazaar world of potential interest to
-those upgrading.
+Users are encouraged to upgrade from the other stable series.  This document
+outlines the improvements in Bazaar 2.3 vs Bazaar 2.2. As well as summarizing
+improvements made to the core product, it highlights enhancements within the
+broader Bazaar world of potential interest to those upgrading.
 
-Bazaar 2.3.0 is fully compatible both locally and on the network with 2.0
-2.1, and 2.2, and can read and write repositories generated by all
-previous versions.
+Bazaar 2.3.0 is fully compatible both locally and on the network with 2.0 2.1,
+and 2.2, and can read and write repositories generated by all previous
+versions.
 
 Changed Behaviour
 *****************
@@ -171,17 +175,6 @@
 working tree or branch as well as the ability to set or remove an
 option. Scripts can also use it to get only the value for a given option.
 
-Expected releases for the 2.3 series
-************************************
-
-The 2.3 series has entered the beta phase and 2.3.0 should be released soon
-enough to be included into Natty Narwhal. 
-
-As a rough estimate, consider that 2.3.0 will be released in February
-2011 and be supported until August 2012. Additional releases will be
-made if critical bugs are encountered
-
-
 Further information
 *******************
 




More information about the bazaar-commits mailing list