Rev 3718: Add '--standalone' option to branch (oddbloke) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Sat Sep 20 21:01:23 BST 2008


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

------------------------------------------------------------
revno: 3718
revision-id: pqm at pqm.ubuntu.com-20080920200119-5q2m3kn9foc56quu
parent: pqm at pqm.ubuntu.com-20080920185508-g6uoij1vgokthw5m
parent: aaron at aaronbentley.com-20080920193118-2o9nxfzwtxucz8hg
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2008-09-20 21:01:19 +0100
message:
  Add '--standalone' option to branch (oddbloke)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
    ------------------------------------------------------------
    revno: 3714.1.4
    revision-id: aaron at aaronbentley.com-20080920193118-2o9nxfzwtxucz8hg
    parent: aaron at aaronbentley.com-20080920184158-9lixzzpm1f9c97tq
    parent: pqm at pqm.ubuntu.com-20080920185508-g6uoij1vgokthw5m
    committer: Aaron Bentley <aaron at aaronbentley.com>
    branch nick: bzr.ab.integration
    timestamp: Sat 2008-09-20 15:31:18 -0400
    message:
      Merge with bzr.dev
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/directory_service.py    directory_service.py-20080305221044-vr2mkvlsk8jypa2y-1
      bzrlib/tests/test_directory_service.py test_directory_servi-20080305221044-vr2mkvlsk8jypa2y-2
      bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
      bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
    ------------------------------------------------------------
    revno: 3714.1.3
    revision-id: aaron at aaronbentley.com-20080920184158-9lixzzpm1f9c97tq
    parent: aaron at aaronbentley.com-20080920175123-uwkdfa9i97k6g5es
    parent: daniel at daniel-watkins.co.uk-20080913120402-jfxlnz83xowycfnf
    committer: Aaron Bentley <aaron at aaronbentley.com>
    branch nick: bzr.ab.integration
    timestamp: Sat 2008-09-20 14:41:58 -0400
    message:
      Merge from branch-standalone
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
    ------------------------------------------------------------
    revno: 3696.2.6
    revision-id: daniel at daniel-watkins.co.uk-20080913120402-jfxlnz83xowycfnf
    parent: daniel at daniel-watkins.co.uk-20080913112419-s4jzw08eu5kbdcim
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 13:04:02 +0100
    message:
      Added NEWS entry.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 3696.2.5
    revision-id: daniel at daniel-watkins.co.uk-20080913112419-s4jzw08eu5kbdcim
    parent: daniel at daniel-watkins.co.uk-20080913111700-yg8j2x4cwri1pph6
    parent: pqm at pqm.ubuntu.com-20080912142101-kj49buaas8zsqf5x
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 12:24:19 +0100
    message:
      Merged bzr.dev r3708.
    renamed:
      bzrlib/tests/repository_implementations => bzrlib/tests/per_repository repository_implementations-20060131092037-ec97814745cc6128
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzr.ico                        bzr.ico-20060629083000-q18ip0hk7lq55i4y-1
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/__init__.py      changeset.py-20050513021216-b02ab57fb9738913
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/smart/message.py        message.py-20080222013625-ncqmh3nrxjkxab87-1
      bzrlib/smart/protocol.py       protocol.py-20061108035435-ot0lstk2590yqhzr-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_export.py test_export.py-20051229024010-e6c26658e460fb1c
      bzrlib/tests/per_repository/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/per_repository/helpers.py helpers.py-20070924032407-m460yl9j5gu5ju85-2
      bzrlib/tests/per_repository/test__generate_text_key_index.py test__generate_text_-20071114232121-00h9fd8qg8kjfa5k-1
      bzrlib/tests/per_repository/test_add_fallback_repository.py test_add_fallback_re-20080215040003-8w9n4ck9uqdxj18m-1
      bzrlib/tests/per_repository/test_break_lock.py test_break_lock.py-20060504111704-ee09a107f9f42e43
      bzrlib/tests/per_repository/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
      bzrlib/tests/per_repository/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
      bzrlib/tests/per_repository/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/per_repository/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
      bzrlib/tests/per_repository/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
      bzrlib/tests/per_repository/test_find_text_key_references.py test_find_text_key_r-20071114033605-v73bakal8x77qlfi-1
      bzrlib/tests/per_repository/test_get_parent_map.py test_get_parent_map.-20080421172708-x1z6ot341osr0jq1-1
      bzrlib/tests/per_repository/test_has_revisions.py test_has_revisions.p-20080111035443-xaupgdsx5fw1q54b-1
      bzrlib/tests/per_repository/test_has_same_location.py test_has_same_locati-20070807074648-2i2ah82fbe83iys7-1
      bzrlib/tests/per_repository/test_is_write_locked.py test_is_write_locked-20071012063748-vk062lmu683qgbc3-1
      bzrlib/tests/per_repository/test_iter_reverse_revision_history.py test_iter_reverse_re-20070217015036-spu7j5ggch7pbpyd-1
      bzrlib/tests/per_repository/test_pack.py test_pack.py-20070712120702-0c7585lh56p894mo-2
      bzrlib/tests/per_repository/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
      bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/per_repository/test_revision.py testrevprops.py-20051013073044-92bc3c68302ce1bf
      bzrlib/tests/per_repository/test_statistics.py test_statistics.py-20070203082432-6738e8fl0mm7ikre-1
      bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
      bzrlib/tests/per_repository_reference/__init__.py __init__.py-20080220025549-nnm2s80it1lvcwnc-2
      bzrlib/tests/test_annotate.py  test_annotate.py-20061213215015-sttc9agsxomls7q0-1
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_missing.py   test_missing.py-20051212000028-694fa4f658a81f48
      bzrlib/tests/test_reconcile.py test_reconcile.py-20060225054842-50aa618584a86f26
      bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
      bzrlib/tests/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
      bzrlib/tests/workingtree_implementations/test_rename_one.py test_rename_one.py-20070226161242-2d8ibdedl700jgio-1
      bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      doc/en/user-guide/http_smart_server.txt fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
      profile_imports.py             profile_imports.py-20060618020306-k5uw80achysrokj9-1
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
    ------------------------------------------------------------
    revno: 3696.2.4
    revision-id: daniel at daniel-watkins.co.uk-20080913111700-yg8j2x4cwri1pph6
    parent: daniel at daniel-watkins.co.uk-20080913111140-pe7f8tj9szris6r5
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 12:17:00 +0100
    message:
      Fixed test to cope with trailing slashes.
    modified:
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
    ------------------------------------------------------------
    revno: 3696.2.3
    revision-id: daniel at daniel-watkins.co.uk-20080913111140-pe7f8tj9szris6r5
    parent: daniel at daniel-watkins.co.uk-20080913111107-z2xgnl2fq02mdamc
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 12:11:40 +0100
    message:
      Added --standalone option to branch.
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
    ------------------------------------------------------------
    revno: 3696.2.2
    revision-id: daniel at daniel-watkins.co.uk-20080913111107-z2xgnl2fq02mdamc
    parent: daniel at daniel-watkins.co.uk-20080913110622-9wmaanrkdx300200
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 12:11:07 +0100
    message:
      Added urlutils to test imports.
    modified:
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
    ------------------------------------------------------------
    revno: 3696.2.1
    revision-id: daniel at daniel-watkins.co.uk-20080913110622-9wmaanrkdx300200
    parent: pqm at pqm.ubuntu.com-20080908061835-nz7hj7o0pms1nf9p
    committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
    branch nick: branch-standalone
    timestamp: Sat 2008-09-13 12:06:22 +0100
    message:
      Added test for 'branch --standalone'.
    modified:
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
=== modified file 'NEWS'
--- a/NEWS	2008-09-20 18:25:21 +0000
+++ b/NEWS	2008-09-20 19:31:18 +0000
@@ -13,6 +13,10 @@
 
   IMPROVEMENTS:
 
+    * ``bzr branch`` now accepts a ``--standalone`` option, which creates a
+      standalone branch regardless of the presence of shared repositories.
+      (Daniel Watkins)
+
     * Location aliases can now accept a trailing path.  (Micheal Hudson)
 
     * Switching in heavyweight checkouts uses the master branch's context, not

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2008-09-20 17:50:49 +0000
+++ b/bzrlib/builtins.py	2008-09-20 18:41:58 +0000
@@ -837,11 +837,13 @@
             help='Create a stacked branch referring to the source branch. '
                 'The new branch will depend on the availability of the source '
                 'branch for all operations.'),
+        Option('standalone',
+               help='Do not use a shared repository, even if available.'),
         ]
     aliases = ['get', 'clone']
 
     def run(self, from_location, to_location=None, revision=None,
-            hardlink=False, stacked=False):
+            hardlink=False, stacked=False, standalone=False):
         from bzrlib.tag import _merge_tags_if_possible
         if revision is None:
             revision = [None]
@@ -876,7 +878,8 @@
                 dir = br_from.bzrdir.sprout(to_transport.base, revision_id,
                                             possible_transports=[to_transport],
                                             accelerator_tree=accelerator_tree,
-                                            hardlink=hardlink, stacked=stacked)
+                                            hardlink=hardlink, stacked=stacked,
+                                            force_new_repo=standalone)
                 branch = dir.open_branch()
             except errors.NoSuchRevision:
                 to_transport.delete_tree('.')

=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- a/bzrlib/tests/blackbox/test_branch.py	2008-09-02 21:38:04 +0000
+++ b/bzrlib/tests/blackbox/test_branch.py	2008-09-13 11:17:00 +0000
@@ -24,6 +24,7 @@
 from bzrlib.tests.blackbox import ExternalBase
 from bzrlib.tests import HardlinkFeature
 from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
+from bzrlib.urlutils import local_path_to_url, strip_trailing_slash
 from bzrlib.workingtree import WorkingTree
 
 
@@ -97,6 +98,15 @@
         target_stat = os.stat('target/file1')
         self.assertEqual(source_stat, target_stat)
 
+    def test_branch_standalone(self):
+        shared_repo = self.make_repository('repo', shared=True)
+        self.example_branch('source')
+        self.run_bzr('branch --standalone source repo/target')
+        b = branch.Branch.open('repo/target')
+        expected_repo_path = os.path.abspath('repo/target/.bzr/repository')
+        self.assertEqual(strip_trailing_slash(b.repository.base),
+            strip_trailing_slash(local_path_to_url(expected_repo_path)))
+
 
 class TestBranchStacked(ExternalBase):
     """Tests for branch --stacked"""




More information about the bazaar-commits mailing list