Rev 4312: (tanner) merge 1.14 to trunk in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Wed Apr 29 11:07:25 BST 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4312
revision-id: pqm at pqm.ubuntu.com-20090429093347-5f59e9ix93s30x3r
parent: pqm at pqm.ubuntu.com-20090429071439-f7089qmxwc51k9rx
parent: tanner at real-time.com-20090429055321-v2s5l1mgki9f6cgn
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2009-04-29 10:33:47 +0100
message:
(tanner) merge 1.14 to trunk
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_groupcompress_py.py _groupcompress_py.py-20090324110021-j63s399f4icrgw4p-1
------------------------------------------------------------
revno: 4241.21.3
revision-id: tanner at real-time.com-20090429055321-v2s5l1mgki9f6cgn
parent: pqm at pqm.ubuntu.com-20090429050617-yr3ld5ktl3jbv1g8
parent: pqm at pqm.ubuntu.com-20090429071439-f7089qmxwc51k9rx
committer: Robert J. Tanner <tanner at real-time.com>
branch nick: bzr-1.14
timestamp: Wed 2009-04-29 00:53:21 -0500
message:
[merge] 1.14 back to trunk
added:
bzrlib/tests/blackbox/test_dpush.py test_dpush.py-20090108125928-st1td6le59g0vyv2-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_groupcompress_py.py _groupcompress_py.py-20090324110021-j63s399f4icrgw4p-1
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/foreign.py foreign.py-20081112170002-olsxmandkk8qyfuq-1
bzrlib/groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
bzrlib/hashcache.py hashcache.py-20050706091756-fe3a8cc1143ff24f
bzrlib/help_topics/en/rules.txt rules.txt-20080516063844-ghr5l6pvvrhiycun-1
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/lru_cache.py lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
bzrlib/mail_client.py mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/merge_directive.py merge_directive.py-20070228184838-ja62280spt1g7f4x-1
bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
bzrlib/plugins/launchpad/account.py account.py-20071011033320-50y6vfftywf4yllw-1
bzrlib/plugins/netrc_credential_store/__init__.py __init__.py-20081006090402-hd75m8kcrrm0vlz1-1
bzrlib/push.py push.py-20080606021927-5fe39050e8xne9un-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/groupcompress_repo.py repofmt.py-20080715094215-wp1qfvoo7093c8qr-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/smart/branch.py branch.py-20061124031907-mzh3pla28r83r97f-1
bzrlib/smart/bzrdir.py bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/smtp_connection.py smtp_connection.py-20070618204456-nu6wag1ste4biuk2-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_create_clone.py test_create_clone.py-20090225031440-8ybpkzojo7cvourv-1
bzrlib/tests/branch_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-4
bzrlib/tests/branch_implementations/test_parent.py test_parent.py-20050830052751-5e62766623c32222
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
bzrlib/tests/lock_helpers.py LockHelpers.py-20060707151933-tav3o2hpibwi53u4-1
bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_bundle.py test.py-20050630184834-092aa401ab9f039c
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_foreign.py test_foreign.py-20081125004048-ywb901edgp9lluxo-1
bzrlib/tests/test_ftp_transport.py test_aftp_transport.-20060823221619-98mwjzxtwtkt527k-1
bzrlib/tests/test_groupcompress.py test_groupcompress.p-20080705181503-ccbxd6xuy1bdnrpu-13
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_revision.py testrevision.py-20050804210559-46f5e1eb67b01289
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
bzrlib/tests/test_shelf.py test_prepare_shelf.p-20081005181341-n74qe6gu1e65ad4v-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_request.py test_smart_request.p-20090211070731-o38wayv3asm25d6a-1
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_source.py test_source.py-20051207061333-a58dea6abecc030d
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_ui.py test_ui.py-20051130162854-458e667a7414af09
bzrlib/tests/test_upgrade.py test_upgrade.py-20051004040251-555fe1d2bae1bc71
bzrlib/tests/test_urlutils.py test_urlutils.py-20060502192900-46b1f9579987cf9c
bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/tree_implementations/test_get_symlink_target.py test_get_symlink_tar-20070225165554-ickod3w3t7u0zzqh-1
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/tests/tree_implementations/test_path_content_summary.py test_path_content_su-20070904100855-3vrwedz6akn34kl5-1
bzrlib/tests/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
bzrlib/tests/tree_implementations/test_walkdirs.py test_walkdirs.py-20060729160421-gmjnkotqgxdh98ce-1
bzrlib/tests/workingtree_implementations/__init__.py __init__.py-20060203003124-b2aa5aca21a8bfad
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp/__init__.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/ftp/_gssapi.py _gssapi.py-20080611190840-7ejrtp884bk5eu72-2
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/ssh.py ssh.py-20060824042150-0s9787kng6zv1nwq-1
bzrlib/ui/__init__.py ui.py-20050824083933-8cf663c763ba53a9
bzrlib/ui/text.py text.py-20051130153916-2e438cffc8afc478
bzrlib/urlutils.py urlutils.py-20060502195429-e8a161ecf8fac004
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
------------------------------------------------------------
revno: 4241.21.2
revision-id: pqm at pqm.ubuntu.com-20090429050617-yr3ld5ktl3jbv1g8
parent: pqm at pqm.ubuntu.com-20090423034040-m63eqtchnu39mejn
parent: tanner at real-time.com-20090429010453-qbd8xby1bhvtgyio
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: 1.14
timestamp: Wed 2009-04-29 06:06:17 +0100
message:
(tanner) release 1.14
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 4241.22.1
revision-id: tanner at real-time.com-20090429010453-qbd8xby1bhvtgyio
parent: pqm at pqm.ubuntu.com-20090423034040-m63eqtchnu39mejn
committer: Robert J. Tanner <tanner at real-time.com>
branch nick: bzr-1.14
timestamp: Tue 2009-04-28 20:04:53 -0500
message:
Release 1.14final
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 4241.21.1
revision-id: pqm at pqm.ubuntu.com-20090423034040-m63eqtchnu39mejn
parent: pqm at pqm.ubuntu.com-20090420055317-k79d02imetm1cgjl
parent: john at arbash-meinel.com-20090423025034-ahqwf2jt7jge69fa
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: 1.14
timestamp: Thu 2009-04-23 04:40:40 +0100
message:
(jam) Fix a bug in the pure-python groupcompressor for matches > 64kB
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/_groupcompress_py.py _groupcompress_py.py-20090324110021-j63s399f4icrgw4p-1
bzrlib/tests/test__groupcompress.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
------------------------------------------------------------
revno: 4241.20.1
revision-id: john at arbash-meinel.com-20090423025034-ahqwf2jt7jge69fa
parent: pqm at pqm.ubuntu.com-20090420055317-k79d02imetm1cgjl
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 1.14-py-gc-fix
timestamp: Wed 2009-04-22 21:50:34 -0500
message:
Cherrypick the python groupcompress fix for bzr-1.14-final
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/_groupcompress_py.py _groupcompress_py.py-20090324110021-j63s399f4icrgw4p-1
bzrlib/tests/test__groupcompress.py test__groupcompress_-20080724145854-koifwb7749cfzrvj-1
=== modified file 'NEWS'
--- a/NEWS 2009-04-29 06:45:12 +0000
+++ b/NEWS 2009-04-29 05:53:21 +0000
@@ -97,17 +97,24 @@
refactoring to the core of clone allowing less round trips on new
branches. (Robert Collins)
-bzr 1.14rc2
+bzr 1.14
###########
:Codename: brisbane-core
:1.14rc1: 2009-04-06
:1.14rc2: 2009-04-19
+:1.14: 2009-04-28
New formats 1.14 and 1.14-rich-root supporting End-Of-Line (EOL) conversions,
keyword templating (via the bzr-keywords plugin) and generic content filtering.
End-of-line conversion is now supported for formats supporting content
filtering.
+Changes from 1.14rc2 to 1.14final
+*********************************
+
+* Fix a bug in the pure-python ``GroupCompress`` code when handling copies
+ longer than 64KiB. (John Arbash Meinel, #364900)
+
Changes from 1.14rc1 to 1.14rc2
*******************************
=== modified file 'bzrlib/__init__.py'
--- a/bzrlib/__init__.py 2009-04-28 23:20:23 +0000
+++ b/bzrlib/__init__.py 2009-04-29 05:53:21 +0000
@@ -55,7 +55,6 @@
# API compatibility version: bzrlib is currently API compatible with 1.13.
api_minimum_version = (1, 15, 0)
-
def _format_version_tuple(version_info):
"""Turn a version number 2, 3 or 5-tuple into a short string.
=== modified file 'bzrlib/_groupcompress_py.py'
--- a/bzrlib/_groupcompress_py.py 2009-04-23 00:58:30 +0000
+++ b/bzrlib/_groupcompress_py.py 2009-04-29 05:53:21 +0000
@@ -248,6 +248,38 @@
' got out of sync with the line counter.')
self.endpoint = endpoint
+ def _flush_insert(self, start_linenum, end_linenum,
+ new_lines, out_lines, index_lines):
+ """Add an 'insert' request to the data stream."""
+ bytes_to_insert = ''.join(new_lines[start_linenum:end_linenum])
+ insert_length = len(bytes_to_insert)
+ # Each insert instruction is at most 127 bytes long
+ for start_byte in xrange(0, insert_length, 127):
+ insert_count = min(insert_length - start_byte, 127)
+ out_lines.append(chr(insert_count))
+ # Don't index the 'insert' instruction
+ index_lines.append(False)
+ insert = bytes_to_insert[start_byte:start_byte+insert_count]
+ as_lines = osutils.split_lines(insert)
+ out_lines.extend(as_lines)
+ index_lines.extend([True]*len(as_lines))
+
+ def _flush_copy(self, old_start_linenum, num_lines,
+ out_lines, index_lines):
+ if old_start_linenum == 0:
+ first_byte = 0
+ else:
+ first_byte = self.line_offsets[old_start_linenum - 1]
+ stop_byte = self.line_offsets[old_start_linenum + num_lines - 1]
+ num_bytes = stop_byte - first_byte
+ # The data stream allows >64kB in a copy, but to match the compiled
+ # code, we will also limit it to a 64kB copy
+ for start_byte in xrange(first_byte, stop_byte, 64*1024):
+ num_bytes = min(64*1024, stop_byte - start_byte)
+ copy_bytes = encode_copy_instruction(start_byte, num_bytes)
+ out_lines.append(copy_bytes)
+ index_lines.append(False)
+
def make_delta(self, new_lines, bytes_length=None, soft=False):
"""Compute the delta for this content versus the original content."""
if bytes_length is None:
More information about the bazaar-commits
mailing list