Rev 3026: Introduce rich-root-pack format in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Nov 26 15:13:34 GMT 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3026
revision-id:pqm at pqm.ubuntu.com-20071126151329-pnmm49obwettpwcd
parent: pqm at pqm.ubuntu.com-20071126122043-diwafrw3fnoz6rxm
parent: abentley at panoramicfeedback.com-20071126135551-rbft9vn1pypb44rd
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2007-11-26 15:13:29 +0000
message:
Introduce rich-root-pack format
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
------------------------------------------------------------
revno: 2996.2.13
revision-id:abentley at panoramicfeedback.com-20071126135551-rbft9vn1pypb44rd
parent: aaron.bentley at utoronto.ca-20071126130338-lwyehegchcuyfptr
parent: pqm at pqm.ubuntu.com-20071126122043-diwafrw3fnoz6rxm
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: rich-root
timestamp: Mon 2007-11-26 08:55:51 -0500
message:
Merge bzr.dev
renamed:
doc/developers/knitpack.txt => doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/conflicts.py conflicts.py-20051001061850-78ef952ba63d2b42
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/ftp_server.py ftpserver.py-20071019102346-61jbvdkrr70igauv-1
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_conflicts.py test_conflicts.py-20051006031059-e2dad9bbeaa5891f
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
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/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/memory.py memory.py-20051016101338-cd008dbdf69f04fc
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/util/configobj/configobj.py configobj.py-20051018184548-06992a2246425e3e
bzrlib/util/configobj/docs/BSD-LICENSE.txt BSDLICENSE.txt-20051018184548-29b89ff3102657f5
bzrlib/util/configobj/docs/configobj.txt configobj.txt-20051018184548-4949b5f17e6a19c7
bzrlib/util/configobj/docs/validate.txt validate.txt-20051018184548-9e0e5ad913e258f5
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
------------------------------------------------------------
revno: 2996.2.12
revision-id:aaron.bentley at utoronto.ca-20071126130338-lwyehegchcuyfptr
parent: aaron.bentley at utoronto.ca-20071125175455-3zoctrg96t1hmt1s
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: rich-root
timestamp: Mon 2007-11-26 08:03:38 -0500
message:
Text fixes from review
modified:
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
------------------------------------------------------------
revno: 2996.2.11
revision-id:aaron.bentley at utoronto.ca-20071125175455-3zoctrg96t1hmt1s
parent: aaron.bentley at utoronto.ca-20071124050415-6t29hb6zbe3aswm2
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: rich-root
timestamp: Sun 2007-11-25 12:54:55 -0500
message:
Implement rich-root-pack format ( #164639)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
------------------------------------------------------------
revno: 2996.2.10
revision-id:aaron.bentley at utoronto.ca-20071124050415-6t29hb6zbe3aswm2
parent: aaron.bentley at utoronto.ca-20071122032911-e8p1v3tu3o11mdm1
parent: pqm at pqm.ubuntu.com-20071123043953-lv68pawzrpa4s9t9
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: rich-root
timestamp: Sat 2007-11-24 00:04:15 -0500
message:
Merge bzr.dev
added:
bzrlib/switch.py switch.py-20071116011000-v5lnw7d2wkng9eux-1
bzrlib/tests/blackbox/test_switch.py test_switch.py-20071122111948-0c5en6uz92bwl76h-1
bzrlib/tests/repository_implementations/test__generate_text_key_index.py test__generate_text_-20071114232121-00h9fd8qg8kjfa5k-1
bzrlib/tests/repository_implementations/test_find_text_key_references.py test_find_text_key_r-20071114033605-v73bakal8x77qlfi-1
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/annotate.py annotate.py-20050922133147-7c60541d2614f022
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/check.py check.py-20050309040759-f3a679400c06bcc1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revision.py revision.py-20050309040759-e77802c08f3999d5
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/sign_my_commits.py sign_my_commits.py-20060215152201-5a6363365180e671
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_reconcile.py test_fix.py-20060223013051-9a188e15a5ee9451
bzrlib/tests/blackbox/test_versioning.py versioning.py-20050622071821-3ddf5e2e5e93c602
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
bzrlib/tests/test_annotate.py test_annotate.py-20061213215015-sttc9agsxomls7q0-1
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_memorytree.py test_memorytree.py-20060906023413-4wlkalbdpsxi2r4y-3
bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/local.py local_transport.py-20050711165921-9b1f142bfe480c24
=== modified file 'NEWS'
--- a/NEWS 2007-11-26 11:36:53 +0000
+++ b/NEWS 2007-11-26 13:55:51 +0000
@@ -27,8 +27,9 @@
supported transports.
(Vincent Ladeuil)
- * New rich-root format, recording the same data about tree roots that's
- recorded for all other directories. (Aaron Bentley)
+ * New rich-root and rich-root-pack formats, recording the same data about
+ tree roots that's recorded for all other directories.
+ (Aaron Bentley, #164639)
* ``switch`` command added for changing the branch a lightweight checkout
is associated with and updating the tree to reflect the latest content
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py 2007-11-26 02:05:38 +0000
+++ b/bzrlib/bzrdir.py 2007-11-26 13:55:51 +0000
@@ -2529,4 +2529,16 @@
hidden=True,
experimental=True,
)
+format_registry.register_metadir('rich-root-pack',
+ 'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack4',
+ help='New in 1.0: Pack-based format with data compatible with '
+ 'rich-root format repositories. Interoperates with '
+ 'bzr repositories before 0.92 but cannot be read by bzr < 1.0. '
+ 'NOTE: This format is experimental. Before using it, please read '
+ 'http://doc.bazaar-vcs.org/latest/developers/knitpack.html.',
+ branch_format='bzrlib.branch.BzrBranchFormat6',
+ tree_format='bzrlib.workingtree.WorkingTreeFormat4',
+ hidden=False,
+ experimental=True,
+ )
format_registry.set_default('dirstate-tags')
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py 2007-11-26 02:05:38 +0000
+++ b/bzrlib/repofmt/pack_repo.py 2007-11-26 13:55:51 +0000
@@ -48,6 +48,7 @@
osutils,
transactions,
xml5,
+ xml6,
xml7,
)
@@ -1870,3 +1871,42 @@
def get_format_description(self):
"""See RepositoryFormat.get_format_description()."""
return "Packs containing knits with subtree support\n"
+
+
+class RepositoryFormatKnitPack4(RepositoryFormatPack):
+ """A rich-root, no subtrees parameterised Pack repository.
+
+ This repository format uses the xml6 serializer to get:
+ - support for recording full info about the tree root
+
+ This format was introduced in 1.0.
+ """
+
+ repository_class = KnitPackRepository
+ _commit_builder_class = PackRootCommitBuilder
+ rich_root_data = True
+ supports_tree_reference = False
+ _serializer = xml6.serializer_v6
+
+ def _get_matching_bzrdir(self):
+ return bzrdir.format_registry.make_bzrdir(
+ 'rich-root-pack')
+
+ def _ignore_setting_bzrdir(self, format):
+ pass
+
+ _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
+
+ def check_conversion_target(self, target_format):
+ if not target_format.rich_root_data:
+ raise errors.BadConversionTarget(
+ 'Does not support rich root data.', target_format)
+
+ def get_format_string(self):
+ """See RepositoryFormat.get_format_string()."""
+ return ("Bazaar pack repository format 1 with rich root"
+ " (needs bzr 1.0)\n")
+
+ def get_format_description(self):
+ """See RepositoryFormat.get_format_description()."""
+ return "Packs containing knits with rich root support\n"
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2007-11-22 22:48:14 +0000
+++ b/bzrlib/repository.py 2007-11-25 17:54:55 +0000
@@ -2175,6 +2175,11 @@
'bzrlib.repofmt.pack_repo',
'RepositoryFormatKnitPack3',
)
+format_registry.register_lazy(
+ 'Bazaar pack repository format 1 with rich root (needs bzr 1.0)\n',
+ 'bzrlib.repofmt.pack_repo',
+ 'RepositoryFormatKnitPack4',
+ )
class InterRepository(InterObject):
=== modified file 'bzrlib/tests/blackbox/test_info.py'
--- a/bzrlib/tests/blackbox/test_info.py 2007-11-26 02:05:38 +0000
+++ b/bzrlib/tests/blackbox/test_info.py 2007-11-26 13:55:51 +0000
@@ -264,7 +264,8 @@
branch5 = tree5.branch
out, err = self.run_bzr('info -v lightcheckout')
self.assertEqualDiff(
-"""Lightweight checkout (format: dirstate or dirstate-tags or pack-0.92 or rich-root)
+"""Lightweight checkout (format: dirstate or dirstate-tags or \
+pack-0.92 or rich-root or rich-root-pack)
Location:
light checkout root: lightcheckout
checkout of branch: standalone
@@ -442,7 +443,8 @@
# Out of date lightweight checkout
out, err = self.run_bzr('info lightcheckout --verbose')
self.assertEqualDiff(
-"""Lightweight checkout (format: dirstate or dirstate-tags or pack-0.92 or rich-root)
+"""Lightweight checkout (format: dirstate or dirstate-tags or \
+pack-0.92 or rich-root or rich-root-pack)
Location:
light checkout root: lightcheckout
checkout of branch: standalone
@@ -581,7 +583,8 @@
datestring_first = format_date(rev.timestamp, rev.timezone)
out, err = self.run_bzr('info tree/lightcheckout --verbose')
self.assertEqualDiff(
-"""Lightweight checkout (format: dirstate or dirstate-tags or pack-0.92 or rich-root)
+"""Lightweight checkout (format: dirstate or dirstate-tags or \
+pack-0.92 or rich-root or rich-root-pack)
Location:
light checkout root: tree/lightcheckout
checkout of branch: repo/branch
@@ -712,7 +715,8 @@
datestring_last = format_date(rev.timestamp, rev.timezone)
out, err = self.run_bzr('info tree/lightcheckout --verbose')
self.assertEqualDiff(
-"""Lightweight checkout (format: dirstate or dirstate-tags or pack-0.92 or rich-root)
+"""Lightweight checkout (format: dirstate or dirstate-tags or \
+pack-0.92 or rich-root or rich-root-pack)
Location:
light checkout root: tree/lightcheckout
checkout of branch: repo/branch
@@ -1155,7 +1159,8 @@
(False, True): 'Lightweight checkout',
(False, False): 'Checkout',
}[(shared_repo is not None, light_checkout)]
- format = {True: 'dirstate or dirstate-tags or pack-0.92 or rich-root',
+ format = {True: 'dirstate or dirstate-tags or pack-0.92'
+ ' or rich-root or rich-root-pack',
False: 'dirstate'}[light_checkout]
if repo_locked:
repo_locked = lco_tree.branch.repository.get_physical_lock_status()
=== modified file 'bzrlib/tests/test_info.py'
--- a/bzrlib/tests/test_info.py 2007-11-26 02:05:38 +0000
+++ b/bzrlib/tests/test_info.py 2007-11-26 13:55:51 +0000
@@ -139,8 +139,10 @@
continue
expected = None
if key in ('dirstate', 'dirstate-tags', 'dirstate-with-subtree',
- 'pack-0.92', 'pack-0.92-subtree', 'rich-root'):
- expected = 'dirstate or dirstate-tags or pack-0.92 or rich-root'
+ 'pack-0.92', 'pack-0.92-subtree', 'rich-root',
+ 'rich-root-pack'):
+ expected = 'dirstate or dirstate-tags or pack-0.92 or'\
+ ' rich-root or rich-root-pack'
if key in ('knit', 'metaweave'):
expected = 'knit or metaweave'
self.assertCheckoutDescription(key, expected)
More information about the bazaar-commits
mailing list