Merge lp:~jelmer/brz/pack-signature into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/pack-signature
Merge into: lp:brz
Diff against target: 62 lines (+25/-2)
2 files modified
breezy/bzr/knitpack_repo.py (+2/-2)
breezy/tests/per_pack_repository.py (+23/-0)
To merge this branch: bzr merge lp:~jelmer/brz/pack-signature
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+361530@code.launchpad.net

Commit message

Fix signature handling when repacking.

Description of the change

Fix signature handling when repacking.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/bzr/knitpack_repo.py'
2--- breezy/bzr/knitpack_repo.py 2018-11-11 04:08:32 +0000
3+++ breezy/bzr/knitpack_repo.py 2019-01-09 00:14:29 +0000
4@@ -660,7 +660,7 @@
5 pack_readv_requests = []
6 for key, value in items:
7 # ---- KnitGraphIndex.get_position
8- bits = value[1:].split(' ')
9+ bits = value[1:].split(b' ')
10 offset, length = int(bits[0]), int(bits[1])
11 pack_readv_requests.append((offset, length, (key, value[0:1])))
12 # linear scan up the pack
13@@ -685,7 +685,7 @@
14 df, _ = knit._parse_record_header(key, raw_data)
15 df.close()
16 pos, size = writer.add_bytes_record(raw_data, names)
17- write_index.add_node(key, eol_flag + "%d %d" % (pos, size))
18+ write_index.add_node(key, eol_flag + b"%d %d" % (pos, size))
19 pb.update("Copied record", record_index)
20 record_index += 1
21
22
23=== modified file 'breezy/tests/per_pack_repository.py'
24--- breezy/tests/per_pack_repository.py 2018-11-11 04:08:32 +0000
25+++ breezy/tests/per_pack_repository.py 2019-01-09 00:14:29 +0000
26@@ -26,6 +26,7 @@
27 from .. import (
28 controldir,
29 errors,
30+ gpg,
31 osutils,
32 repository,
33 revision as _mod_revision,
34@@ -299,6 +300,28 @@
35 combined_indices.difference([combined_index]),
36 combined_index._sibling_indices)
37
38+ def test_pack_with_signatures(self):
39+ format = self.get_format()
40+ tree = self.make_branch_and_tree('.', format=format)
41+ trans = tree.branch.repository.controldir.get_repository_transport(
42+ None)
43+ revid1 = tree.commit('start')
44+ revid2 = tree.commit('more work')
45+ strategy = gpg.LoopbackGPGStrategy(None)
46+ repo = tree.branch.repository
47+ self.addCleanup(repo.lock_write().unlock)
48+ repo.start_write_group()
49+ repo.sign_revision(revid1, strategy)
50+ repo.commit_write_group()
51+ repo.start_write_group()
52+ repo.sign_revision(revid2, strategy)
53+ repo.commit_write_group()
54+ tree.branch.repository.pack()
55+ # there should be 1 pack:
56+ index = self.index_class(trans, 'pack-names', None)
57+ self.assertEqual(1, len(list(index.iter_all_entries())))
58+ self.assertEqual(2, len(tree.branch.repository.all_revision_ids()))
59+
60 def test_pack_after_two_commits_packs_everything(self):
61 format = self.get_format()
62 tree = self.make_branch_and_tree('.', format=format)

Subscribers

People subscribed via source and target branches