Merge lp:~jelmer/brz/move-testament 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/move-testament
Merge into: lp:brz
Prerequisite: lp:~jelmer/brz/python3.7
Diff against target: 352 lines (+59/-41)
19 files modified
breezy/builtins.py (+1/-1)
breezy/bundle/bundle_data.py (+1/-1)
breezy/bundle/serializer/v08.py (+1/-1)
breezy/bundle/serializer/v09.py (+2/-1)
breezy/bzr/remote.py (+1/-1)
breezy/bzr/testament.py (+3/-3)
breezy/bzr/vf_repository.py (+34/-1)
breezy/git/fetch.py (+1/-1)
breezy/git/object_store.py (+1/-1)
breezy/merge_directive.py (+3/-1)
breezy/repository.py (+3/-21)
breezy/tests/blackbox/test_merge.py (+1/-1)
breezy/tests/blackbox/test_pull.py (+1/-1)
breezy/tests/blackbox/test_re_sign.py (+1/-1)
breezy/tests/per_repository/test_signatures.py (+1/-1)
breezy/tests/test_bundle.py (+1/-1)
breezy/tests/test_commit.py (+1/-1)
breezy/tests/test_smart.py (+1/-1)
breezy/tests/test_testament.py (+1/-1)
To merge this branch: bzr merge lp:~jelmer/brz/move-testament
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+359939@code.launchpad.net

Commit message

Move the testament module to breezy.bzr.

Description of the change

Move the testament module to breezy.bzr.

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
=== modified file 'breezy/builtins.py'
--- breezy/builtins.py 2018-11-21 03:20:30 +0000
+++ breezy/builtins.py 2018-11-30 17:12:07 +0000
@@ -5210,7 +5210,7 @@
52105210
5211 @display_command5211 @display_command
5212 def run(self, branch=u'.', revision=None, long=False, strict=False):5212 def run(self, branch=u'.', revision=None, long=False, strict=False):
5213 from .testament import Testament, StrictTestament5213 from .bzr.testament import Testament, StrictTestament
5214 if strict is True:5214 if strict is True:
5215 testament_class = StrictTestament5215 testament_class = StrictTestament
5216 else:5216 else:
52175217
=== modified file 'breezy/bundle/bundle_data.py'
--- breezy/bundle/bundle_data.py 2018-11-22 03:51:03 +0000
+++ breezy/bundle/bundle_data.py 2018-11-30 17:12:07 +0000
@@ -44,7 +44,7 @@
44from ..sixish import (44from ..sixish import (
45 viewitems,45 viewitems,
46 )46 )
47from ..testament import StrictTestament47from ..bzr.testament import StrictTestament
48from ..trace import mutter, warning48from ..trace import mutter, warning
49from ..tree import Tree49from ..tree import Tree
50from ..bzr.xml5 import serializer_v550from ..bzr.xml5 import serializer_v5
5151
=== modified file 'breezy/bundle/serializer/v08.py'
--- breezy/bundle/serializer/v08.py 2018-11-16 18:40:46 +0000
+++ breezy/bundle/serializer/v08.py 2018-11-30 17:12:07 +0000
@@ -35,7 +35,7 @@
35from breezy.diff import internal_diff35from breezy.diff import internal_diff
36from breezy.revision import NULL_REVISION36from breezy.revision import NULL_REVISION
37from breezy.sixish import text_type37from breezy.sixish import text_type
38from breezy.testament import StrictTestament38from breezy.bzr.testament import StrictTestament
39from breezy.timestamp import (39from breezy.timestamp import (
40 format_highres_date,40 format_highres_date,
41 )41 )
4242
=== modified file 'breezy/bundle/serializer/v09.py'
--- breezy/bundle/serializer/v09.py 2018-06-17 20:17:39 +0000
+++ breezy/bundle/serializer/v09.py 2018-11-30 17:12:07 +0000
@@ -18,9 +18,10 @@
1818
19from breezy.bundle.serializer import _get_bundle_header19from breezy.bundle.serializer import _get_bundle_header
20from breezy.bundle.serializer.v08 import BundleSerializerV08, BundleReader20from breezy.bundle.serializer.v08 import BundleSerializerV08, BundleReader
21from breezy.testament import StrictTestament3
22from breezy.bundle.bundle_data import BundleInfo21from breezy.bundle.bundle_data import BundleInfo
2322
23from breezy.bzr.testament import StrictTestament3
24
2425
25"""Serializer for bundle format 0.9"""26"""Serializer for bundle format 0.9"""
2627
2728
=== modified file 'breezy/bzr/remote.py'
--- breezy/bzr/remote.py 2018-11-18 00:25:19 +0000
+++ breezy/bzr/remote.py 2018-11-30 17:12:07 +0000
@@ -37,13 +37,13 @@
37 registry,37 registry,
38 repository as _mod_repository,38 repository as _mod_repository,
39 revision as _mod_revision,39 revision as _mod_revision,
40 testament as _mod_testament,
41 urlutils,40 urlutils,
42 )41 )
43from . import (42from . import (
44 branch as bzrbranch,43 branch as bzrbranch,
45 bzrdir as _mod_bzrdir,44 bzrdir as _mod_bzrdir,
46 inventory_delta,45 inventory_delta,
46 testament as _mod_testament,
47 vf_repository,47 vf_repository,
48 vf_search,48 vf_search,
49 )49 )
5050
=== renamed file 'breezy/testament.py' => 'breezy/bzr/testament.py'
--- breezy/testament.py 2018-11-21 03:20:30 +0000
+++ breezy/bzr/testament.py 2018-11-30 17:12:07 +0000
@@ -73,13 +73,13 @@
7373
74from copy import copy74from copy import copy
7575
76from .osutils import (76from ..osutils import (
77 contains_whitespace,77 contains_whitespace,
78 contains_linebreaks,78 contains_linebreaks,
79 sha_strings,79 sha_strings,
80 )80 )
81from .sixish import text_type81from ..sixish import text_type
82from .tree import Tree82from ..tree import Tree
8383
8484
85class Testament(object):85class Testament(object):
8686
=== modified file 'breezy/bzr/vf_repository.py'
--- breezy/bzr/vf_repository.py 2018-11-16 18:40:46 +0000
+++ breezy/bzr/vf_repository.py 2018-11-30 17:12:07 +0000
@@ -46,8 +46,8 @@
46 )46 )
4747
48from breezy.recordcounter import RecordCounter48from breezy.recordcounter import RecordCounter
49from breezy.testament import Testament
50from breezy.i18n import gettext49from breezy.i18n import gettext
50from breezy.bzr.testament import Testament
51""")51""")
5252
53from .. import (53from .. import (
@@ -1121,6 +1121,39 @@
1121 self.signatures.add_lines((revision_id,), (),1121 self.signatures.add_lines((revision_id,), (),
1122 osutils.split_lines(signature))1122 osutils.split_lines(signature))
11231123
1124 def sign_revision(self, revision_id, gpg_strategy):
1125 with self.lock_write():
1126 testament = Testament.from_revision(
1127 self, revision_id)
1128 plaintext = testament.as_short_text()
1129 self.store_revision_signature(gpg_strategy, plaintext, revision_id)
1130
1131 def store_revision_signature(self, gpg_strategy, plaintext, revision_id):
1132 with self.lock_write():
1133 signature = gpg_strategy.sign(plaintext, gpg.MODE_CLEAR)
1134 self.add_signature_text(revision_id, signature)
1135
1136 def verify_revision_signature(self, revision_id, gpg_strategy):
1137 """Verify the signature on a revision.
1138
1139 :param revision_id: the revision to verify
1140 :gpg_strategy: the GPGStrategy object to used
1141
1142 :return: gpg.SIGNATURE_VALID or a failed SIGNATURE_ value
1143 """
1144 with self.lock_read():
1145 if not self.has_signature_for_revision_id(revision_id):
1146 return gpg.SIGNATURE_NOT_SIGNED, None
1147 signature = self.get_signature_text(revision_id)
1148
1149 testament = Testament.from_revision(
1150 self, revision_id)
1151
1152 (status, key, signed_plaintext) = gpg_strategy.verify(signature)
1153 if testament.as_short_text() != signed_plaintext:
1154 return gpg.SIGNATURE_NOT_VALID, None
1155 return (status, key)
1156
1124 def find_text_key_references(self):1157 def find_text_key_references(self):
1125 """Find the text key references within the repository.1158 """Find the text key references within the repository.
11261159
11271160
=== modified file 'breezy/git/fetch.py'
--- breezy/git/fetch.py 2018-11-17 16:53:10 +0000
+++ breezy/git/fetch.py 2018-11-30 17:12:07 +0000
@@ -52,7 +52,7 @@
52 )52 )
53from ..bzr.inventorytree import InventoryRevisionTree53from ..bzr.inventorytree import InventoryRevisionTree
54from ..sixish import text_type54from ..sixish import text_type
55from ..testament import (55from ..bzr.testament import (
56 StrictTestament3,56 StrictTestament3,
57 )57 )
58from ..tsort import (58from ..tsort import (
5959
=== modified file 'breezy/git/object_store.py'
--- breezy/git/object_store.py 2018-11-18 00:25:19 +0000
+++ breezy/git/object_store.py 2018-11-30 17:12:07 +0000
@@ -47,7 +47,7 @@
47 NULL_REVISION,47 NULL_REVISION,
48 )48 )
49from ..sixish import viewitems49from ..sixish import viewitems
50from ..testament import (50from ..bzr.testament import (
51 StrictTestament3,51 StrictTestament3,
52 )52 )
5353
5454
=== modified file 'breezy/merge_directive.py'
--- breezy/merge_directive.py 2018-11-12 01:41:38 +0000
+++ breezy/merge_directive.py 2018-11-30 17:12:07 +0000
@@ -31,10 +31,12 @@
31 registry,31 registry,
32 revision as _mod_revision,32 revision as _mod_revision,
33 rio,33 rio,
34 testament,
35 timestamp,34 timestamp,
36 trace,35 trace,
37 )36 )
37from breezy.bzr import (
38 testament,
39 )
38from breezy.bundle import (40from breezy.bundle import (
39 serializer as bundle_serializer,41 serializer as bundle_serializer,
40 )42 )
4143
=== modified file 'breezy/repository.py'
--- breezy/repository.py 2018-11-18 19:48:57 +0000
+++ breezy/repository.py 2018-11-30 17:12:07 +0000
@@ -28,7 +28,6 @@
28 graph,28 graph,
29 osutils,29 osutils,
30 revision as _mod_revision,30 revision as _mod_revision,
31 testament as _mod_testament,
32 gpg,31 gpg,
33 )32 )
34from breezy.bundle import serializer33from breezy.bundle import serializer
@@ -887,9 +886,7 @@
887 [r], specific_fileids=specific_fileids))[0]886 [r], specific_fileids=specific_fileids))[0]
888887
889 def store_revision_signature(self, gpg_strategy, plaintext, revision_id):888 def store_revision_signature(self, gpg_strategy, plaintext, revision_id):
890 with self.lock_write():889 raise NotImplementedError(self.store_revision_signature)
891 signature = gpg_strategy.sign(plaintext, gpg.MODE_CLEAR)
892 self.add_signature_text(revision_id, signature)
893890
894 def add_signature_text(self, revision_id, signature):891 def add_signature_text(self, revision_id, signature):
895 """Store a signature text for a revision.892 """Store a signature text for a revision.
@@ -1087,11 +1084,7 @@
1087 raise NotImplementedError(self.make_working_trees)1084 raise NotImplementedError(self.make_working_trees)
10881085
1089 def sign_revision(self, revision_id, gpg_strategy):1086 def sign_revision(self, revision_id, gpg_strategy):
1090 with self.lock_write():1087 raise NotImplementedError(self.sign_revision)
1091 testament = _mod_testament.Testament.from_revision(
1092 self, revision_id)
1093 plaintext = testament.as_short_text()
1094 self.store_revision_signature(gpg_strategy, plaintext, revision_id)
10951088
1096 def verify_revision_signature(self, revision_id, gpg_strategy):1089 def verify_revision_signature(self, revision_id, gpg_strategy):
1097 """Verify the signature on a revision.1090 """Verify the signature on a revision.
@@ -1101,18 +1094,7 @@
11011094
1102 :return: gpg.SIGNATURE_VALID or a failed SIGNATURE_ value1095 :return: gpg.SIGNATURE_VALID or a failed SIGNATURE_ value
1103 """1096 """
1104 with self.lock_read():1097 raise NotImplementedError(self.verify_revision_signature)
1105 if not self.has_signature_for_revision_id(revision_id):
1106 return gpg.SIGNATURE_NOT_SIGNED, None
1107 signature = self.get_signature_text(revision_id)
1108
1109 testament = _mod_testament.Testament.from_revision(
1110 self, revision_id)
1111
1112 (status, key, signed_plaintext) = gpg_strategy.verify(signature)
1113 if testament.as_short_text() != signed_plaintext:
1114 return gpg.SIGNATURE_NOT_VALID, None
1115 return (status, key)
11161098
1117 def verify_revision_signatures(self, revision_ids, gpg_strategy):1099 def verify_revision_signatures(self, revision_ids, gpg_strategy):
1118 """Verify revision signatures for a number of revisions.1100 """Verify revision signatures for a number of revisions.
11191101
=== modified file 'breezy/tests/blackbox/test_merge.py'
--- breezy/tests/blackbox/test_merge.py 2018-11-11 04:08:32 +0000
+++ breezy/tests/blackbox/test_merge.py 2018-11-30 17:12:07 +0000
@@ -308,7 +308,7 @@
308 tree_b.commit('merge branch_c')308 tree_b.commit('merge branch_c')
309309
310 def test_merge_bundle(self):310 def test_merge_bundle(self):
311 from breezy.testament import Testament311 from breezy.bzr.testament import Testament
312 tree_a = self.make_branch_and_tree('branch_a')312 tree_a = self.make_branch_and_tree('branch_a')
313 self.build_tree_contents([('branch_a/a', b'hello')])313 self.build_tree_contents([('branch_a/a', b'hello')])
314 tree_a.add('a')314 tree_a.add('a')
315315
=== modified file 'breezy/tests/blackbox/test_pull.py'
--- breezy/tests/blackbox/test_pull.py 2018-11-11 04:08:32 +0000
+++ breezy/tests/blackbox/test_pull.py 2018-11-30 17:12:07 +0000
@@ -274,7 +274,7 @@
274 branch_b.get_parent())274 branch_b.get_parent())
275275
276 def test_pull_bundle(self):276 def test_pull_bundle(self):
277 from breezy.testament import Testament277 from breezy.bzr.testament import Testament
278 # Build up 2 trees and prepare for a pull278 # Build up 2 trees and prepare for a pull
279 tree_a = self.make_branch_and_tree('branch_a')279 tree_a = self.make_branch_and_tree('branch_a')
280 with open('branch_a/a', 'wb') as f:280 with open('branch_a/a', 'wb') as f:
281281
=== modified file 'breezy/tests/blackbox/test_re_sign.py'
--- breezy/tests/blackbox/test_re_sign.py 2018-11-11 04:08:32 +0000
+++ breezy/tests/blackbox/test_re_sign.py 2018-11-30 17:12:07 +0000
@@ -24,7 +24,7 @@
24 tests,24 tests,
25 )25 )
26from breezy.controldir import ControlDir26from breezy.controldir import ControlDir
27from breezy.testament import Testament27from breezy.bzr.testament import Testament
2828
2929
30class ReSign(tests.TestCaseInTempDir):30class ReSign(tests.TestCaseInTempDir):
3131
=== modified file 'breezy/tests/per_repository/test_signatures.py'
--- breezy/tests/per_repository/test_signatures.py 2018-11-12 01:41:38 +0000
+++ breezy/tests/per_repository/test_signatures.py 2018-11-30 17:12:07 +0000
@@ -23,7 +23,7 @@
23 urlutils,23 urlutils,
24 )24 )
2525
26from breezy.testament import Testament26from breezy.bzr.testament import Testament
27from breezy.tests import per_repository27from breezy.tests import per_repository
2828
2929
3030
=== modified file 'breezy/tests/test_bundle.py'
--- breezy/tests/test_bundle.py 2018-11-21 03:20:30 +0000
+++ breezy/tests/test_bundle.py 2018-11-30 17:12:07 +0000
@@ -1447,7 +1447,7 @@
1447 tree_a.commit("base", allow_pointless=True, rev_id=b'A')1447 tree_a.commit("base", allow_pointless=True, rev_id=b'A')
1448 self.assertFalse(branch.repository.has_signature_for_revision_id(b'A'))1448 self.assertFalse(branch.repository.has_signature_for_revision_id(b'A'))
1449 try:1449 try:
1450 from ..testament import Testament1450 from ..bzr.testament import Testament
1451 # monkey patch gpg signing mechanism1451 # monkey patch gpg signing mechanism
1452 breezy.gpg.GPGStrategy = breezy.gpg.LoopbackGPGStrategy1452 breezy.gpg.GPGStrategy = breezy.gpg.LoopbackGPGStrategy
1453 new_config = test_commit.MustSignConfig()1453 new_config = test_commit.MustSignConfig()
14541454
=== modified file 'breezy/tests/test_commit.py'
--- breezy/tests/test_commit.py 2018-11-11 04:08:32 +0000
+++ breezy/tests/test_commit.py 2018-11-30 17:12:07 +0000
@@ -444,7 +444,7 @@
444 wt.commit("base", allow_pointless=True, rev_id=b'A')444 wt.commit("base", allow_pointless=True, rev_id=b'A')
445 self.assertFalse(branch.repository.has_signature_for_revision_id(b'A'))445 self.assertFalse(branch.repository.has_signature_for_revision_id(b'A'))
446 try:446 try:
447 from ..testament import Testament447 from ..bzr.testament import Testament
448 # monkey patch gpg signing mechanism448 # monkey patch gpg signing mechanism
449 breezy.gpg.GPGStrategy = breezy.gpg.LoopbackGPGStrategy449 breezy.gpg.GPGStrategy = breezy.gpg.LoopbackGPGStrategy
450 conf = config.MemoryStack(b'''450 conf = config.MemoryStack(b'''
451451
=== modified file 'breezy/tests/test_smart.py'
--- breezy/tests/test_smart.py 2018-11-12 01:41:38 +0000
+++ breezy/tests/test_smart.py 2018-11-30 17:12:07 +0000
@@ -53,7 +53,7 @@
53 server,53 server,
54 vfs,54 vfs,
55 )55 )
56from breezy.testament import Testament56from breezy.bzr.testament import Testament
57from breezy.tests import test_server57from breezy.tests import test_server
58from breezy.transport import (58from breezy.transport import (
59 chroot,59 chroot,
6060
=== modified file 'breezy/tests/test_testament.py'
--- breezy/tests/test_testament.py 2018-11-11 04:08:32 +0000
+++ breezy/tests/test_testament.py 2018-11-30 17:12:07 +0000
@@ -22,7 +22,7 @@
2222
23from breezy import osutils23from breezy import osutils
24from breezy.tests import TestCaseWithTransport24from breezy.tests import TestCaseWithTransport
25from breezy.testament import (25from breezy.bzr.testament import (
26 Testament,26 Testament,
27 StrictTestament,27 StrictTestament,
28 StrictTestament3,28 StrictTestament3,

Subscribers

People subscribed via source and target branches