Rev 6267: (jelmer) Support branching into a colocated branch that doesn't exist yet, in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Thu Nov 17 10:16:37 UTC 2011


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6267 [merge]
revision-id: pqm at pqm.ubuntu.com-20111117101637-xyvsf9w3943gkx2e
parent: pqm at pqm.ubuntu.com-20111116173045-ahibgqqj1334x2bo
parent: jelmer at samba.org-20111117001243-ixagqmkyxugigjzp
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2011-11-17 10:16:37 +0000
message:
  (jelmer) Support branching into a colocated branch that doesn't exist yet,
   without requiring --use-existing-dir. (Jelmer Vernooij)
modified:
  bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
=== modified file 'bzrlib/branch.py'
--- a/bzrlib/branch.py	2011-11-16 12:25:23 +0000
+++ b/bzrlib/branch.py	2011-11-17 00:12:43 +0000
@@ -1606,6 +1606,9 @@
         """Return the format for the branch object in controldir."""
         try:
             transport = controldir.get_branch_transport(None, name=name)
+        except errors.NoSuchFile:
+            raise errors.NotBranchError(path=name, bzrdir=controldir)
+        try:
             format_string = transport.get_bytes("format")
             return format_registry.get(format_string)
         except errors.NoSuchFile:

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2011-11-01 18:40:39 +0000
+++ b/bzrlib/builtins.py	2011-11-17 00:12:43 +0000
@@ -1317,22 +1317,22 @@
         try:
             to_transport.mkdir('.')
         except errors.FileExists:
-            if not use_existing_dir:
-                raise errors.BzrCommandError(gettext('Target directory "%s" '
-                    'already exists.') % to_location)
-            else:
-                try:
-                    to_dir = controldir.ControlDir.open_from_transport(
-                        to_transport)
-                except errors.NotBranchError:
+            try:
+                to_dir = controldir.ControlDir.open_from_transport(
+                    to_transport)
+            except errors.NotBranchError:
+                if not use_existing_dir:
+                    raise errors.BzrCommandError(gettext('Target directory "%s" '
+                        'already exists.') % to_location)
+                else:
                     to_dir = None
+            else:
+                try:
+                    to_dir.open_branch()
+                except errors.NotBranchError:
+                    pass
                 else:
-                    try:
-                        to_dir.open_branch()
-                    except errors.NotBranchError:
-                        pass
-                    else:
-                        raise errors.AlreadyBranchError(to_location)
+                    raise errors.AlreadyBranchError(to_location)
         except errors.NoSuchFile:
             raise errors.BzrCommandError(gettext('Parent of "%s" does not exist.')
                                          % to_location)

=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- a/bzrlib/tests/blackbox/test_branch.py	2011-10-13 14:12:19 +0000
+++ b/bzrlib/tests/blackbox/test_branch.py	2011-11-17 00:12:43 +0000
@@ -30,7 +30,6 @@
 from bzrlib.tests import TestCaseWithTransport
 from bzrlib.tests import (
     fixtures,
-    script,
     test_server,
     )
 from bzrlib.tests.features import (
@@ -74,12 +73,15 @@
             out)
         self.assertEqual('', err)
         out, err = self.run_bzr(
-            'branch --use-existing-dir a file:b,branch=thiswasa')
+            'branch a file:b,branch=thiswasa')
         self.assertEqual('', out)
         self.assertEqual('Branched 2 revisions.\n', err)
         out, err = self.run_bzr('branches b')
         self.assertEqual(" orig\n thiswasa\n", out)
         self.assertEqual('', err)
+        out,err = self.run_bzr('branch a file:b,branch=orig', retcode=3)
+        self.assertEqual('', out)
+        self.assertEqual('bzr: ERROR: Already a branch: "file:b,branch=orig".\n', err)
 
     def test_branch_broken_pack(self):
         """branching with a corrupted pack file."""




More information about the bazaar-commits mailing list