Rev 5524: Merge 2.2 into trunk resolving conflicts in http://bazaar.launchpad.net/~vila/bzr/integration/

Vincent Ladeuil v.ladeuil+lp at free.fr
Fri Nov 5 13:57:26 GMT 2010


At http://bazaar.launchpad.net/~vila/bzr/integration/

------------------------------------------------------------
revno: 5524 [merge]
revision-id: v.ladeuil+lp at free.fr-20101105135724-mvmzeykz5ydfwfca
parent: pqm at pqm.ubuntu.com-20101105083539-urkk2to9qakthagn
parent: pqm at pqm.ubuntu.com-20101105100319-o7zkwph6s6vktwie
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: trunk
timestamp: Fri 2010-11-05 14:57:24 +0100
message:
  Merge 2.2 into trunk resolving conflicts
modified:
  bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
  bzrlib/tests/test_errors.py    test_errors.py-20060210110251-41aba2deddf936a8
  bzrlib/tests/test_setup.py     test_setup.py-20051208073730-4a59a6368c4efa04
  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
  setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
-------------- next part --------------
=== modified file 'bzrlib/errors.py'
--- a/bzrlib/errors.py	2010-10-13 08:01:36 +0000
+++ b/bzrlib/errors.py	2010-11-05 13:57:24 +0000
@@ -723,6 +723,15 @@
                     self.bzrdir.open_repository()
                 except NoRepositoryPresent:
                     self.detail = ''
+                except Exception:
+                    # Just ignore unexpected errors.  Raising arbitrary errors
+                    # during str(err) can provoke strange bugs.  Concretely
+                    # Launchpad's codehosting managed to raise NotBranchError
+                    # here, and then get stuck in an infinite loop/recursion
+                    # trying to str() that error.  All this error really cares
+                    # about that there's no working repository there, and if
+                    # open_repository() fails, there probably isn't.
+                    self.detail = ''
                 else:
                     self.detail = ': location is a repository'
             else:

=== modified file 'bzrlib/tests/test_errors.py'
--- a/bzrlib/tests/test_errors.py	2010-09-13 02:32:44 +0000
+++ b/bzrlib/tests/test_errors.py	2010-10-11 05:06:26 +0000
@@ -672,6 +672,15 @@
         err = errors.NotBranchError('path', bzrdir=bzrdir)
         self.assertEqual('Not a branch: "path".', str(err))
 
+    def test_not_branch_bzrdir_with_recursive_not_branch_error(self):
+        class FakeBzrDir(object):
+            def open_repository(self):
+                # str() on the NotBranchError will trigger a call to this,
+                # which in turn will another, identical NotBranchError.
+                raise errors.NotBranchError('path', bzrdir=FakeBzrDir())
+        err = errors.NotBranchError('path', bzrdir=FakeBzrDir())
+        self.assertEqual('Not a branch: "path".', str(err))
+
     def test_not_branch_laziness(self):
         real_bzrdir = self.make_bzrdir('path')
         class FakeBzrDir(object):

=== modified file 'bzrlib/tests/test_setup.py'
--- a/bzrlib/tests/test_setup.py	2010-11-02 11:49:15 +0000
+++ b/bzrlib/tests/test_setup.py	2010-11-05 13:57:24 +0000
@@ -43,22 +43,26 @@
         This tests that the build process and man generator run correctly.
         It also can catch new subdirectories that weren't added to setup.py.
         """
-        if not os.path.isfile('setup.py'):
-            raise TestSkipped('There is no setup.py file in current directory')
+        # setup.py must be run from the root source directory, but the tests
+        # are not necessarily invoked from there
+        self.source_dir = os.path.dirname(os.path.dirname(bzrlib.__file__))
+        if not os.path.isfile(os.path.join(self.source_dir, 'setup.py')):
+            raise TestSkipped(
+                'There is no setup.py file adjacent to the bzrlib directory')
         try:
             import distutils.sysconfig
             makefile_path = distutils.sysconfig.get_makefile_filename()
             if not os.path.exists(makefile_path):
-                raise TestSkipped('You must have the python Makefile installed to run this test.'
-                                  ' Usually this can be found by installing "python-dev"')
+                raise TestSkipped(
+                    'You must have the python Makefile installed to run this'
+                    ' test. Usually this can be found by installing'
+                    ' "python-dev"')
         except ImportError:
-            raise TestSkipped('You must have distutils installed to run this test.'
-                              ' Usually this can be found by installing "python-dev"')
+            raise TestSkipped(
+                'You must have distutils installed to run this test.'
+                ' Usually this can be found by installing "python-dev"')
         self.log('test_build running in %s' % os.getcwd())
         root_dir = osutils.mkdtemp()
-        # setup.py must be run from the root source directory, but the tests
-        # are not necessarily invoked from there
-        self.source_dir = os.path.dirname(os.path.dirname(bzrlib.__file__))
         try:
             self.run_setup(['clean'])
             # build is implied by install

=== modified file 'doc/en/release-notes/bzr-2.3.txt'
--- a/doc/en/release-notes/bzr-2.3.txt	2010-11-04 17:52:02 +0000
+++ b/doc/en/release-notes/bzr-2.3.txt	2010-11-05 13:57:24 +0000
@@ -73,6 +73,14 @@
 * Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
   status`` output. (Rory Yorke, #134168)
 
+* ``NotBranchError`` no longer allows errors from calling
+  ``bzrdir.open_repository()`` to propagate.  This is unhelpful at best,
+  and at worst can trigger infinite loops in callers.  (Andrew Bennetts)
+  
+* Windows installers no longer requires the Microsoft vcredist to be
+  installed.
+  (Martin [gz], Gary van der Merwe, #632465)
+
 Documentation
 *************
 
@@ -110,6 +118,10 @@
 Testing
 *******
 
+* Add ``tests/ssl_certs/ca.crt`` to the required test files list. Test
+  involving the pycurl https test server fail otherwise when running
+  selftest from an installed version. (Vincent Ladeuil, #651706)
+
 * Blank output section in scriptrunner tests no longer match any output.
   Instead, use '...' as a wildcard if you don't care about the output.
   (Martin Pool, #637830)

=== modified file 'doc/en/whats-new/whats-new-in-2.2.txt'
--- a/doc/en/whats-new/whats-new-in-2.2.txt	2010-10-06 16:27:25 +0000
+++ b/doc/en/whats-new/whats-new-in-2.2.txt	2010-11-04 13:46:02 +0000
@@ -23,7 +23,7 @@
 :doc:`../release-notes/index` for a full list.
 
 Bazaar 2.2.1 includes all the fixes from 2.1.3 and 2.0.6 (that
-weren't included in 2.20).
+weren't included in 2.2.0).
 
 See the :doc:`../release-notes/index` for details.
 

=== modified file 'setup.py'
--- a/setup.py	2010-10-14 21:22:48 +0000
+++ b/setup.py	2010-11-05 13:57:24 +0000
@@ -689,7 +689,10 @@
 
     # MSWSOCK.dll is a system-specific library, which py2exe accidentally pulls
     # in on Vista.
-    dll_excludes.extend(["MSWSOCK.dll", "MSVCP60.dll", "powrprof.dll"])
+    dll_excludes.extend(["MSWSOCK.dll",
+                         "MSVCP60.dll",
+                         "MSVCP90.dll",
+                         "powrprof.dll"])
     options_list = {"py2exe": {"packages": packages + list(additional_packages),
                                "includes": includes,
                                "excludes": excludes,



More information about the bazaar-commits mailing list