Merge lp:~jelmer/brz/python3-more into lp:brz

Proposed by Jelmer Vernooij on 2018-02-17
Status: Merged
Approved by: Jelmer Vernooij on 2018-03-24
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/python3-more
Merge into: lp:brz
Prerequisite: lp:~jelmer/brz/python3
Diff against target: 2874 lines (+725/-270)
39 files modified
breezy/branch.py (+6/-6)
breezy/bzr/__init__.py (+5/-7)
breezy/bzr/branch.py (+10/-12)
breezy/bzr/bzrdir.py (+10/-11)
breezy/bzr/chk_serializer.py (+9/-9)
breezy/bzr/fullhistory.py (+6/-6)
breezy/bzr/groupcompress_repo.py (+2/-2)
breezy/bzr/inventory.py (+2/-2)
breezy/bzr/knit.py (+2/-2)
breezy/bzr/knitpack_repo.py (+11/-11)
breezy/bzr/knitrepo.py (+3/-3)
breezy/bzr/pack_repo.py (+1/-2)
breezy/bzr/repository.py (+1/-3)
breezy/bzr/weavefile.py (+14/-14)
breezy/bzr/workingtree.py (+1/-2)
breezy/bzr/workingtree_3.py (+1/-1)
breezy/bzr/workingtree_4.py (+3/-3)
breezy/plugins/weave_fmt/branch.py (+2/-2)
breezy/plugins/weave_fmt/bzrdir.py (+3/-3)
breezy/plugins/weave_fmt/repository.py (+1/-1)
breezy/repository.py (+15/-15)
breezy/tests/blackbox/test_exceptions.py (+1/-1)
breezy/tests/blackbox/test_upgrade.py (+1/-1)
breezy/tests/per_bzrdir/test_bzrdir.py (+3/-3)
breezy/tests/per_inventory/basics.py (+2/-2)
breezy/tests/per_transport.py (+36/-36)
breezy/tests/stub_sftp.py (+1/-2)
breezy/tests/test_branch.py (+9/-9)
breezy/tests/test_bzrdir.py (+41/-39)
breezy/tests/test_controldir.py (+3/-3)
breezy/tests/test_foreign.py (+3/-3)
breezy/tests/test_repository.py (+15/-15)
breezy/tests/test_selftest.py (+3/-3)
breezy/tests/test_sftp_transport.py (+1/-1)
breezy/tests/test_workingtree.py (+27/-27)
breezy/transform.py (+2/-2)
breezy/tuned_gzip.py (+1/-1)
breezy/workingtree.py (+5/-5)
python3.passing (+463/-0)
To merge this branch: bzr merge lp:~jelmer/brz/python3-more
Reviewer Review Type Date Requested Status
Martin Packman 2018-02-17 Approve on 2018-03-24
Review via email: mp+337904@code.launchpad.net

Description of the change

Some random Python3 fixes.

In particular:
 * Make format strings bytestrings
 * Allow a $PYTHON variable to be set when calling testr

This adds another ~400 tests to the "known passing" list.

To post a comment you must log in.
Martin Packman (gz) wrote :

The main tricky bit that jumps out at me with these changes is I was trying to avoid putting bytes into the format registry. The issue then is there's not a clear point to then start treating the magic strings as bytes when detecting formats.

Jelmer Vernooij (jelmer) wrote :

> The main tricky bit that jumps out at me with these changes is I was trying to
> avoid putting bytes into the format registry. The issue then is there's not a
> clear point to then start treating the magic strings as bytes when detecting
> formats.
I think format strings should always be bytes - the user never interacts with them.

We currently have two kinds of format registries:

* Those with bzrdir-style format strings (e.g. "Bazaar-NG 1.9 (rich root)\n"
* Those for use by the user in e.g. UIs ("git", "2a")

They should be less interwoven; for the first it makes sense for strings to be bytes, for the second it should definitely be unicode.

Martin Packman (gz) wrote :

Okay, am not sure we should lets the bytesyness of file headers propagate so far out, but can re-rearrange later, and most of the changes here are sane regardless.

review: Approve
lp:~jelmer/brz/python3-more updated on 2018-03-24
6923. By Jelmer Vernooij on 2018-03-24

Some random Python3 fixes.

In particular:
 * Make format strings bytestrings
 * Allow a $PYTHON variable to be set when calling testr

This adds another ~400 tests to the "known passing" list.

Merged from https://code.launchpad.net/~jelmer/brz/python3-more/+merge/337904

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/branch.py'
2--- breezy/branch.py 2018-03-24 03:35:53 +0000
3+++ breezy/branch.py 2018-03-24 18:03:06 +0000
4@@ -1885,22 +1885,22 @@
5 # formats which have no format string are not discoverable
6 # and not independently creatable, so are not registered.
7 format_registry.register_lazy(
8- "Bazaar-NG branch format 5\n", "breezy.bzr.fullhistory",
9+ b"Bazaar-NG branch format 5\n", "breezy.bzr.fullhistory",
10 "BzrBranchFormat5")
11 format_registry.register_lazy(
12- "Bazaar Branch Format 6 (bzr 0.15)\n",
13+ b"Bazaar Branch Format 6 (bzr 0.15)\n",
14 "breezy.bzr.branch", "BzrBranchFormat6")
15 format_registry.register_lazy(
16- "Bazaar Branch Format 7 (needs bzr 1.6)\n",
17+ b"Bazaar Branch Format 7 (needs bzr 1.6)\n",
18 "breezy.bzr.branch", "BzrBranchFormat7")
19 format_registry.register_lazy(
20- "Bazaar Branch Format 8 (needs bzr 1.15)\n",
21+ b"Bazaar Branch Format 8 (needs bzr 1.15)\n",
22 "breezy.bzr.branch", "BzrBranchFormat8")
23 format_registry.register_lazy(
24- "Bazaar-NG Branch Reference Format 1\n",
25+ b"Bazaar-NG Branch Reference Format 1\n",
26 "breezy.bzr.branch", "BranchReferenceFormat")
27
28-format_registry.set_default_key("Bazaar Branch Format 7 (needs bzr 1.6)\n")
29+format_registry.set_default_key(b"Bazaar Branch Format 7 (needs bzr 1.6)\n")
30
31
32 class BranchWriteLockResult(LogicalLockResult):
33
34=== modified file 'breezy/bzr/__init__.py'
35--- breezy/bzr/__init__.py 2017-06-14 22:34:05 +0000
36+++ breezy/bzr/__init__.py 2018-03-24 18:03:06 +0000
37@@ -35,19 +35,17 @@
38 """Return the .bzrdir style format present in a directory."""
39 try:
40 format_string = transport.get_bytes(".bzr/branch-format")
41- # GZ 2017-06-09: Where should format strings get decoded...
42- format_text = format_string.decode("ascii")
43 except errors.NoSuchFile:
44 raise errors.NotBranchError(path=transport.base)
45 try:
46- first_line = format_text[:format_text.index("\n")+1]
47+ first_line = format_string[:format_string.index(b"\n")+1]
48 except ValueError:
49- first_line = format_text
50+ first_line = format_string
51 try:
52 cls = klass.formats.get(first_line)
53 except KeyError:
54 raise errors.UnknownFormatError(format=first_line, kind='bzrdir')
55- return cls.from_string(format_text)
56+ return cls.from_string(format_string)
57
58 @classmethod
59 def known_formats(cls):
60@@ -100,10 +98,10 @@
61
62 # Register bzr formats
63 BzrProber.formats.register_lazy(
64- "Bazaar-NG meta directory, format 1\n",
65+ b"Bazaar-NG meta directory, format 1\n",
66 __name__ + '.bzrdir', 'BzrDirMetaFormat1')
67 BzrProber.formats.register_lazy(
68- "Bazaar meta directory, format 1 (with colocated branches)\n",
69+ b"Bazaar meta directory, format 1 (with colocated branches)\n",
70 __name__ + '.bzrdir', 'BzrDirMetaFormat1Colo')
71
72
73
74=== modified file 'breezy/bzr/branch.py'
75--- breezy/bzr/branch.py 2018-03-05 21:59:31 +0000
76+++ breezy/bzr/branch.py 2018-03-24 18:03:06 +0000
77@@ -707,12 +707,10 @@
78 raise errors.NotBranchError(path=name, controldir=controldir)
79 try:
80 format_string = transport.get_bytes("format")
81- # GZ 2017-06-09: Where should format strings get decoded...
82- format_text = format_string.decode("ascii")
83 except errors.NoSuchFile:
84 raise errors.NotBranchError(
85 path=transport.base, controldir=controldir)
86- return klass._find_format(format_registry, 'branch', format_text)
87+ return klass._find_format(format_registry, 'branch', format_string)
88
89 def _branch_class(self):
90 """What class to instantiate on open calls."""
91@@ -821,7 +819,7 @@
92 @classmethod
93 def get_format_string(cls):
94 """See BranchFormat.get_format_string()."""
95- return "Bazaar Branch Format 6 (bzr 0.15)\n"
96+ return b"Bazaar Branch Format 6 (bzr 0.15)\n"
97
98 def get_format_description(self):
99 """See BranchFormat.get_format_description()."""
100@@ -830,10 +828,10 @@
101 def initialize(self, a_controldir, name=None, repository=None,
102 append_revisions_only=None):
103 """Create a branch of this format in a_controldir."""
104- utf8_files = [('last-revision', '0 null:\n'),
105+ utf8_files = [('last-revision', b'0 null:\n'),
106 ('branch.conf',
107 self._get_initial_config(append_revisions_only)),
108- ('tags', ''),
109+ ('tags', b''),
110 ]
111 return self._initialize_helper(a_controldir, utf8_files, name, repository)
112
113@@ -854,7 +852,7 @@
114 @classmethod
115 def get_format_string(cls):
116 """See BranchFormat.get_format_string()."""
117- return "Bazaar Branch Format 8 (needs bzr 1.15)\n"
118+ return b"Bazaar Branch Format 8 (needs bzr 1.15)\n"
119
120 def get_format_description(self):
121 """See BranchFormat.get_format_description()."""
122@@ -863,11 +861,11 @@
123 def initialize(self, a_controldir, name=None, repository=None,
124 append_revisions_only=None):
125 """Create a branch of this format in a_controldir."""
126- utf8_files = [('last-revision', '0 null:\n'),
127+ utf8_files = [('last-revision', b'0 null:\n'),
128 ('branch.conf',
129 self._get_initial_config(append_revisions_only)),
130- ('tags', ''),
131- ('references', '')
132+ ('tags', b''),
133+ ('references', b'')
134 ]
135 return self._initialize_helper(a_controldir, utf8_files, name, repository)
136
137@@ -909,7 +907,7 @@
138 @classmethod
139 def get_format_string(cls):
140 """See BranchFormat.get_format_string()."""
141- return "Bazaar Branch Format 7 (needs bzr 1.6)\n"
142+ return b"Bazaar Branch Format 7 (needs bzr 1.6)\n"
143
144 def get_format_description(self):
145 """See BranchFormat.get_format_description()."""
146@@ -942,7 +940,7 @@
147 @classmethod
148 def get_format_string(cls):
149 """See BranchFormat.get_format_string()."""
150- return "Bazaar-NG Branch Reference Format 1\n"
151+ return b"Bazaar-NG Branch Reference Format 1\n"
152
153 def get_format_description(self):
154 """See BranchFormat.get_format_description()."""
155
156=== modified file 'breezy/bzr/bzrdir.py'
157--- breezy/bzr/bzrdir.py 2018-02-24 15:50:23 +0000
158+++ breezy/bzr/bzrdir.py 2018-03-24 18:03:06 +0000
159@@ -1144,7 +1144,7 @@
160
161 :param name: Name of the feature
162 """
163- if " " in name:
164+ if b" " in name:
165 raise ValueError("spaces are not allowed in feature names")
166 if name in cls._present_features:
167 raise FeatureAlreadyRegistered(name)
168@@ -1160,10 +1160,10 @@
169 for name, necessity in self.features.items():
170 if name in self._present_features:
171 continue
172- if necessity == "optional":
173+ if necessity == b"optional":
174 mutter("ignoring optional missing feature %s", name)
175 continue
176- elif necessity == "required":
177+ elif necessity == b"required":
178 raise MissingFeature(name)
179 else:
180 mutter("treating unknown necessity as require for %s",
181@@ -1184,7 +1184,7 @@
182 ret = cls()
183 for lineno, line in enumerate(lines):
184 try:
185- (necessity, feature) = line.split(" ", 1)
186+ (necessity, feature) = line.split(b" ", 1)
187 except ValueError:
188 raise errors.ParseFormatError(format=cls, lineno=lineno+2,
189 line=line, text=text)
190@@ -1195,15 +1195,14 @@
191 """Return the string representation of this format.
192 """
193 lines = [self.get_format_string()]
194- lines.extend([("%s %s\n" % (item[1], item[0])) for item in
195- self.features.items()])
196- # GZ 2016-07-09: Should push byte-ness up a level perhaps?
197- return "".join(lines).encode('ascii')
198+ lines.extend([(item[1] + b" " + item[0] + b"\n")
199+ for item in self.features.items()])
200+ return b"".join(lines)
201
202 @classmethod
203 def _find_format(klass, registry, kind, format_string):
204 try:
205- first_line = format_string[:format_string.index("\n")+1]
206+ first_line = format_string[:format_string.index(b"\n")+1]
207 except ValueError:
208 first_line = format_string
209 try:
210@@ -1622,7 +1621,7 @@
211 @classmethod
212 def get_format_string(cls):
213 """See BzrDirFormat.get_format_string()."""
214- return "Bazaar-NG meta directory, format 1\n"
215+ return b"Bazaar-NG meta directory, format 1\n"
216
217 def get_format_description(self):
218 """See BzrDirFormat.get_format_description()."""
219@@ -1696,7 +1695,7 @@
220 @classmethod
221 def get_format_string(cls):
222 """See BzrDirFormat.get_format_string()."""
223- return "Bazaar meta directory, format 1 (with colocated branches)\n"
224+ return b"Bazaar meta directory, format 1 (with colocated branches)\n"
225
226 def get_format_description(self):
227 """See BzrDirFormat.get_format_description()."""
228
229=== modified file 'breezy/bzr/chk_serializer.py'
230--- breezy/bzr/chk_serializer.py 2017-06-10 18:34:12 +0000
231+++ breezy/bzr/chk_serializer.py 2018-03-24 18:03:06 +0000
232@@ -84,23 +84,23 @@
233 # This lets us control the ordering, so that we are able to create
234 # smaller deltas
235 ret = [
236- ("format", 10),
237- ("committer", encode_utf8(rev.committer)[0]),
238+ (b"format", 10),
239+ (b"committer", encode_utf8(rev.committer)[0]),
240 ]
241 if rev.timezone is not None:
242- ret.append(("timezone", rev.timezone))
243+ ret.append((b"timezone", rev.timezone))
244 # For bzr revisions, the most common property is just 'branch-nick'
245 # which changes infrequently.
246 revprops = {}
247 for key, value in rev.properties.items():
248 revprops[key] = encode_utf8(value)[0]
249- ret.append(('properties', revprops))
250+ ret.append((b'properties', revprops))
251 ret.extend([
252- ("timestamp", "%.3f" % rev.timestamp),
253- ("revision-id", rev.revision_id),
254- ("parent-ids", rev.parent_ids),
255- ("inventory-sha1", rev.inventory_sha1),
256- ("message", encode_utf8(rev.message)[0]),
257+ (b"timestamp", b"%.3f" % rev.timestamp),
258+ (b"revision-id", rev.revision_id),
259+ (b"parent-ids", rev.parent_ids),
260+ (b"inventory-sha1", rev.inventory_sha1),
261+ (b"message", encode_utf8(rev.message)[0]),
262 ])
263 return bencode.bencode(ret)
264
265
266=== modified file 'breezy/bzr/fullhistory.py'
267--- breezy/bzr/fullhistory.py 2017-08-29 13:46:58 +0000
268+++ breezy/bzr/fullhistory.py 2018-03-24 18:03:06 +0000
269@@ -86,12 +86,12 @@
270 This performs the actual writing to disk.
271 It is intended to be called by set_revision_history."""
272 self._transport.put_bytes(
273- 'revision-history', '\n'.join(history),
274+ 'revision-history', b'\n'.join(history),
275 mode=self.controldir._get_file_mode())
276
277 def _gen_revision_history(self):
278- history = self._transport.get_bytes('revision-history').split('\n')
279- if history[-1:] == ['']:
280+ history = self._transport.get_bytes('revision-history').split(b'\n')
281+ if history[-1:] == [b'']:
282 # There shouldn't be a trailing newline, but just in case.
283 history.pop()
284 return history
285@@ -154,7 +154,7 @@
286 @classmethod
287 def get_format_string(cls):
288 """See BranchFormat.get_format_string()."""
289- return "Bazaar-NG branch format 5\n"
290+ return b"Bazaar-NG branch format 5\n"
291
292 def get_format_description(self):
293 """See BranchFormat.get_format_description()."""
294@@ -165,8 +165,8 @@
295 """Create a branch of this format in a_controldir."""
296 if append_revisions_only:
297 raise errors.UpgradeRequired(a_controldir.user_url)
298- utf8_files = [('revision-history', ''),
299- ('branch-name', ''),
300+ utf8_files = [('revision-history', b''),
301+ ('branch-name', b''),
302 ]
303 return self._initialize_helper(a_controldir, utf8_files, name, repository)
304
305
306=== modified file 'breezy/bzr/groupcompress_repo.py'
307--- breezy/bzr/groupcompress_repo.py 2018-02-24 15:50:23 +0000
308+++ breezy/bzr/groupcompress_repo.py 2018-03-24 18:03:06 +0000
309@@ -1384,7 +1384,7 @@
310
311 @classmethod
312 def get_format_string(cls):
313- return ('Bazaar repository format 2a (needs bzr 1.16 or later)\n')
314+ return b'Bazaar repository format 2a (needs bzr 1.16 or later)\n'
315
316 def get_format_description(self):
317 """See RepositoryFormat.get_format_description()."""
318@@ -1407,7 +1407,7 @@
319
320 @classmethod
321 def get_format_string(cls):
322- return ('Bazaar development format 8\n')
323+ return b'Bazaar development format 8\n'
324
325 def get_format_description(self):
326 """See RepositoryFormat.get_format_description()."""
327
328=== modified file 'breezy/bzr/inventory.py'
329--- breezy/bzr/inventory.py 2018-03-24 00:56:34 +0000
330+++ breezy/bzr/inventory.py 2018-03-24 18:03:06 +0000
331@@ -903,7 +903,7 @@
332 entries = self.iter_entries()
333 if self.root is None:
334 return Inventory(root_id=None)
335- other = Inventory(entries.next()[1].file_id)
336+ other = Inventory(next(entries)[1].file_id)
337 other.root.revision = self.root.revision
338 other.revision_id = self.revision_id
339 directories_to_expand = set()
340@@ -1105,7 +1105,7 @@
341 entries = self.iter_entries()
342 if self.root is None:
343 return Inventory(root_id=None)
344- other = Inventory(entries.next()[1].file_id)
345+ other = Inventory(next(entries)[1].file_id)
346 other.root.revision = self.root.revision
347 # copy recursively so we know directories will be added before
348 # their children. There are more efficient ways than this...
349
350=== modified file 'breezy/bzr/knit.py'
351--- breezy/bzr/knit.py 2017-12-04 23:25:45 +0000
352+++ breezy/bzr/knit.py 2018-03-24 18:03:06 +0000
353@@ -990,7 +990,7 @@
354 # indexes can't directly store that, so we give them
355 # an empty tuple instead.
356 parents = ()
357- line_bytes = ''.join(lines)
358+ line_bytes = b''.join(lines)
359 return self._add(key, lines, parents,
360 parent_texts, left_matching_blocks, nostore_sha, random_id,
361 line_bytes=line_bytes)
362@@ -2053,7 +2053,7 @@
363 'data must be plain bytes was %s' % type(chunk))
364 if lines and lines[-1][-1] != '\n':
365 raise ValueError('corrupt lines value %r' % lines)
366- compressed_bytes = tuned_gzip.chunks_to_gzip(chunks)
367+ compressed_bytes = b''.join(tuned_gzip.chunks_to_gzip(chunks))
368 return len(compressed_bytes), compressed_bytes
369
370 def _split_header(self, line):
371
372=== modified file 'breezy/bzr/knitpack_repo.py'
373--- breezy/bzr/knitpack_repo.py 2018-02-24 15:50:23 +0000
374+++ breezy/bzr/knitpack_repo.py 2018-03-24 18:03:06 +0000
375@@ -170,7 +170,7 @@
376 @classmethod
377 def get_format_string(cls):
378 """See RepositoryFormat.get_format_string()."""
379- return "Bazaar pack repository format 1 (needs bzr 0.92)\n"
380+ return b"Bazaar pack repository format 1 (needs bzr 0.92)\n"
381
382 def get_format_description(self):
383 """See RepositoryFormat.get_format_description()."""
384@@ -211,7 +211,7 @@
385 @classmethod
386 def get_format_string(cls):
387 """See RepositoryFormat.get_format_string()."""
388- return "Bazaar pack repository format 1 with subtree support (needs bzr 0.92)\n"
389+ return b"Bazaar pack repository format 1 with subtree support (needs bzr 0.92)\n"
390
391 def get_format_description(self):
392 """See RepositoryFormat.get_format_description()."""
393@@ -250,8 +250,8 @@
394 @classmethod
395 def get_format_string(cls):
396 """See RepositoryFormat.get_format_string()."""
397- return ("Bazaar pack repository format 1 with rich root"
398- " (needs bzr 1.0)\n")
399+ return (b"Bazaar pack repository format 1 with rich root"
400+ b" (needs bzr 1.0)\n")
401
402 def get_format_description(self):
403 """See RepositoryFormat.get_format_description()."""
404@@ -289,7 +289,7 @@
405 @classmethod
406 def get_format_string(cls):
407 """See RepositoryFormat.get_format_string()."""
408- return "Bazaar RepositoryFormatKnitPack5 (bzr 1.6)\n"
409+ return b"Bazaar RepositoryFormatKnitPack5 (bzr 1.6)\n"
410
411 def get_format_description(self):
412 """See RepositoryFormat.get_format_description()."""
413@@ -330,7 +330,7 @@
414 @classmethod
415 def get_format_string(cls):
416 """See RepositoryFormat.get_format_string()."""
417- return "Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6.1)\n"
418+ return b"Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6.1)\n"
419
420 def get_format_description(self):
421 return "Packs 5 rich-root (adds stacking support, requires bzr 1.6.1)"
422@@ -377,7 +377,7 @@
423 @classmethod
424 def get_format_string(cls):
425 """See RepositoryFormat.get_format_string()."""
426- return "Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6)\n"
427+ return b"Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6)\n"
428
429 def get_format_description(self):
430 return ("Packs 5 rich-root (adds stacking support, requires bzr 1.6)"
431@@ -416,7 +416,7 @@
432 @classmethod
433 def get_format_string(cls):
434 """See RepositoryFormat.get_format_string()."""
435- return "Bazaar RepositoryFormatKnitPack6 (bzr 1.9)\n"
436+ return b"Bazaar RepositoryFormatKnitPack6 (bzr 1.9)\n"
437
438 def get_format_description(self):
439 """See RepositoryFormat.get_format_description()."""
440@@ -454,7 +454,7 @@
441 @classmethod
442 def get_format_string(cls):
443 """See RepositoryFormat.get_format_string()."""
444- return "Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)\n"
445+ return b"Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)\n"
446
447 def get_format_description(self):
448 return "Packs 6 rich-root (uses btree indexes, requires bzr 1.9)"
449@@ -495,8 +495,8 @@
450 @classmethod
451 def get_format_string(cls):
452 """See RepositoryFormat.get_format_string()."""
453- return ("Bazaar development format 2 with subtree support "
454- "(needs bzr.dev from before 1.8)\n")
455+ return (b"Bazaar development format 2 with subtree support "
456+ b"(needs bzr.dev from before 1.8)\n")
457
458 def get_format_description(self):
459 """See RepositoryFormat.get_format_description()."""
460
461=== modified file 'breezy/bzr/knitrepo.py'
462--- breezy/bzr/knitrepo.py 2017-08-29 13:46:58 +0000
463+++ breezy/bzr/knitrepo.py 2018-03-24 18:03:06 +0000
464@@ -374,7 +374,7 @@
465 @classmethod
466 def get_format_string(cls):
467 """See RepositoryFormat.get_format_string()."""
468- return "Bazaar-NG Knit Repository Format 1"
469+ return b"Bazaar-NG Knit Repository Format 1"
470
471 def get_format_description(self):
472 """See RepositoryFormat.get_format_description()."""
473@@ -417,7 +417,7 @@
474 @classmethod
475 def get_format_string(cls):
476 """See RepositoryFormat.get_format_string()."""
477- return "Bazaar Knit Repository Format 3 (bzr 0.15)\n"
478+ return b"Bazaar Knit Repository Format 3 (bzr 0.15)\n"
479
480 def get_format_description(self):
481 """See RepositoryFormat.get_format_description()."""
482@@ -459,7 +459,7 @@
483 @classmethod
484 def get_format_string(cls):
485 """See RepositoryFormat.get_format_string()."""
486- return 'Bazaar Knit Repository Format 4 (bzr 1.0)\n'
487+ return b'Bazaar Knit Repository Format 4 (bzr 1.0)\n'
488
489 def get_format_description(self):
490 """See RepositoryFormat.get_format_description()."""
491
492=== modified file 'breezy/bzr/pack_repo.py'
493--- breezy/bzr/pack_repo.py 2017-08-29 13:46:58 +0000
494+++ breezy/bzr/pack_repo.py 2018-03-24 18:03:06 +0000
495@@ -1914,8 +1914,7 @@
496 dirs = ['indices', 'obsolete_packs', 'packs', 'upload']
497 builder = self.index_builder_class()
498 files = [('pack-names', builder.finish())]
499- # GZ 2017-06-09: Where should format strings get decoded...
500- utf8_files = [('format', self.get_format_string().encode('ascii'))]
501+ utf8_files = [('format', self.get_format_string())]
502
503 self._upload_blank_content(a_controldir, dirs, files, utf8_files, shared)
504 repository = self.open(a_controldir=a_controldir, _found=True)
505
506=== modified file 'breezy/bzr/repository.py'
507--- breezy/bzr/repository.py 2017-08-29 13:46:58 +0000
508+++ breezy/bzr/repository.py 2018-03-24 18:03:06 +0000
509@@ -158,11 +158,9 @@
510 try:
511 transport = a_bzrdir.get_repository_transport(None)
512 format_string = transport.get_bytes("format")
513- # GZ 2017-06-17: Where should format strings get decoded...
514- format_text = format_string.decode("ascii")
515 except errors.NoSuchFile:
516 raise errors.NoRepositoryPresent(a_bzrdir)
517- return klass._find_format(format_registry, 'repository', format_text)
518+ return klass._find_format(format_registry, 'repository', format_string)
519
520 def check_support_status(self, allow_unsupported, recommend_upgrade=True,
521 basedir=None):
522
523=== modified file 'breezy/bzr/weavefile.py'
524--- breezy/bzr/weavefile.py 2017-06-08 23:30:31 +0000
525+++ breezy/bzr/weavefile.py 2018-03-24 18:03:06 +0000
526@@ -40,7 +40,7 @@
527 # an iterator returning the weave lines... We don't really need to
528 # deserialize it into memory.
529
530-FORMAT_1 = '# bzr weave file v5\n'
531+FORMAT_1 = b'# bzr weave file v5\n'
532
533
534 def write_weave(weave, f, format=None):
535@@ -58,32 +58,32 @@
536 if included:
537 # mininc = weave.minimal_parents(version)
538 mininc = included
539- f.write('i ')
540- f.write(' '.join(str(i) for i in mininc))
541- f.write('\n')
542+ f.write(b'i ')
543+ f.write(b' '.join(str(i).encode('ascii') for i in mininc))
544+ f.write(b'\n')
545 else:
546- f.write('i\n')
547- f.write('1 ' + weave._sha1s[version] + '\n')
548- f.write('n ' + weave._names[version] + '\n')
549+ f.write(b'i\n')
550+ f.write(b'1 ' + weave._sha1s[version] + b'\n')
551+ f.write(b'n ' + weave._names[version] + b'\n')
552 f.write('\n')
553
554- f.write('w\n')
555+ f.write(b'w\n')
556
557 for l in weave._weave:
558 if isinstance(l, tuple):
559 if l[0] == '}':
560- f.write('}\n')
561+ f.write(b'}\n')
562 else:
563- f.write('%s %d\n' % l)
564+ f.write(b'%s %d\n' % l)
565 else: # text line
566 if not l:
567- f.write(', \n')
568+ f.write(b', \n')
569 elif l[-1] == '\n':
570- f.write('. ' + l)
571+ f.write(b'. ' + l)
572 else:
573- f.write(', ' + l + '\n')
574+ f.write(b', ' + l + b'\n')
575
576- f.write('W\n')
577+ f.write(b'W\n')
578
579
580
581
582=== modified file 'breezy/bzr/workingtree.py'
583--- breezy/bzr/workingtree.py 2018-03-24 13:36:42 +0000
584+++ breezy/bzr/workingtree.py 2018-03-24 18:03:06 +0000
585@@ -1723,8 +1723,7 @@
586 """Return format name for the working tree object in controldir."""
587 try:
588 transport = controldir.get_workingtree_transport(None)
589- # GZ 2017-06-09: When do decode format strings?
590- return transport.get_bytes("format").decode('ascii')
591+ return transport.get_bytes("format")
592 except errors.NoSuchFile:
593 raise errors.NoWorkingTree(base=transport.base)
594
595
596=== modified file 'breezy/bzr/workingtree_3.py'
597--- breezy/bzr/workingtree_3.py 2017-11-13 18:40:41 +0000
598+++ breezy/bzr/workingtree_3.py 2018-03-24 18:03:06 +0000
599@@ -161,7 +161,7 @@
600 @classmethod
601 def get_format_string(cls):
602 """See WorkingTreeFormat.get_format_string()."""
603- return "Bazaar-NG Working Tree format 3"
604+ return b"Bazaar-NG Working Tree format 3"
605
606 def get_format_description(self):
607 """See WorkingTreeFormat.get_format_description()."""
608
609=== modified file 'breezy/bzr/workingtree_4.py'
610--- breezy/bzr/workingtree_4.py 2018-03-24 10:24:48 +0000
611+++ breezy/bzr/workingtree_4.py 2018-03-24 18:03:06 +0000
612@@ -1627,7 +1627,7 @@
613 @classmethod
614 def get_format_string(cls):
615 """See WorkingTreeFormat.get_format_string()."""
616- return "Bazaar Working Tree Format 4 (bzr 0.15)\n"
617+ return b"Bazaar Working Tree Format 4 (bzr 0.15)\n"
618
619 def get_format_description(self):
620 """See WorkingTreeFormat.get_format_description()."""
621@@ -1645,7 +1645,7 @@
622 @classmethod
623 def get_format_string(cls):
624 """See WorkingTreeFormat.get_format_string()."""
625- return "Bazaar Working Tree Format 5 (bzr 1.11)\n"
626+ return b"Bazaar Working Tree Format 5 (bzr 1.11)\n"
627
628 def get_format_description(self):
629 """See WorkingTreeFormat.get_format_description()."""
630@@ -1666,7 +1666,7 @@
631 @classmethod
632 def get_format_string(cls):
633 """See WorkingTreeFormat.get_format_string()."""
634- return "Bazaar Working Tree Format 6 (bzr 1.14)\n"
635+ return b"Bazaar Working Tree Format 6 (bzr 1.14)\n"
636
637 def get_format_description(self):
638 """See WorkingTreeFormat.get_format_description()."""
639
640=== modified file 'breezy/plugins/weave_fmt/branch.py'
641--- breezy/plugins/weave_fmt/branch.py 2017-08-29 13:46:58 +0000
642+++ breezy/plugins/weave_fmt/branch.py 2018-03-24 18:03:06 +0000
643@@ -148,8 +148,8 @@
644 if not [isinstance(a_controldir._format, format) for format in
645 self._compatible_bzrdirs]:
646 raise errors.IncompatibleFormat(self, a_controldir._format)
647- utf8_files = [('revision-history', ''),
648- ('branch-name', ''),
649+ utf8_files = [('revision-history', b''),
650+ ('branch-name', b''),
651 ]
652 mutter('creating branch %r in %s', self, a_controldir.user_url)
653 branch_transport = a_controldir.get_branch_transport(self, name=name)
654
655=== modified file 'breezy/plugins/weave_fmt/bzrdir.py'
656--- breezy/plugins/weave_fmt/bzrdir.py 2018-03-01 01:45:44 +0000
657+++ breezy/plugins/weave_fmt/bzrdir.py 2018-03-24 18:03:06 +0000
658@@ -116,7 +116,7 @@
659 @classmethod
660 def get_format_string(cls):
661 """See BzrDirFormat.get_format_string()."""
662- return "Bazaar-NG branch, format 5\n"
663+ return b"Bazaar-NG branch, format 5\n"
664
665 def get_branch_format(self):
666 from .branch import BzrBranchFormat4
667@@ -180,7 +180,7 @@
668 @classmethod
669 def get_format_string(cls):
670 """See BzrDirFormat.get_format_string()."""
671- return "Bazaar-NG branch, format 6\n"
672+ return b"Bazaar-NG branch, format 6\n"
673
674 def get_format_description(self):
675 """See ControlDirFormat.get_format_description()."""
676@@ -683,7 +683,7 @@
677 @classmethod
678 def get_format_string(cls):
679 """See BzrDirFormat.get_format_string()."""
680- return "Bazaar-NG branch, format 0.0.4\n"
681+ return b"Bazaar-NG branch, format 0.0.4\n"
682
683 def get_format_description(self):
684 """See ControlDirFormat.get_format_description()."""
685
686=== modified file 'breezy/plugins/weave_fmt/repository.py'
687--- breezy/plugins/weave_fmt/repository.py 2018-02-24 15:50:23 +0000
688+++ breezy/plugins/weave_fmt/repository.py 2018-03-24 18:03:06 +0000
689@@ -510,7 +510,7 @@
690 @classmethod
691 def get_format_string(cls):
692 """See RepositoryFormat.get_format_string()."""
693- return "Bazaar-NG Repository format 7"
694+ return b"Bazaar-NG Repository format 7"
695
696 def get_format_description(self):
697 """See RepositoryFormat.get_format_description()."""
698
699=== modified file 'breezy/repository.py'
700--- breezy/repository.py 2018-03-11 23:35:42 +0000
701+++ breezy/repository.py 2018-03-24 18:03:06 +0000
702@@ -1392,19 +1392,19 @@
703 # the repository is not separately opened are similar.
704
705 format_registry.register_lazy(
706- 'Bazaar-NG Knit Repository Format 1',
707+ b'Bazaar-NG Knit Repository Format 1',
708 'breezy.bzr.knitrepo',
709 'RepositoryFormatKnit1',
710 )
711
712 format_registry.register_lazy(
713- 'Bazaar Knit Repository Format 3 (bzr 0.15)\n',
714+ b'Bazaar Knit Repository Format 3 (bzr 0.15)\n',
715 'breezy.bzr.knitrepo',
716 'RepositoryFormatKnit3',
717 )
718
719 format_registry.register_lazy(
720- 'Bazaar Knit Repository Format 4 (bzr 1.0)\n',
721+ b'Bazaar Knit Repository Format 4 (bzr 1.0)\n',
722 'breezy.bzr.knitrepo',
723 'RepositoryFormatKnit4',
724 )
725@@ -1413,47 +1413,47 @@
726 # post-subtrees to allow ease of testing.
727 # NOTE: These are experimental in 0.92. Stable in 1.0 and above
728 format_registry.register_lazy(
729- 'Bazaar pack repository format 1 (needs bzr 0.92)\n',
730+ b'Bazaar pack repository format 1 (needs bzr 0.92)\n',
731 'breezy.bzr.knitpack_repo',
732 'RepositoryFormatKnitPack1',
733 )
734 format_registry.register_lazy(
735- 'Bazaar pack repository format 1 with subtree support (needs bzr 0.92)\n',
736+ b'Bazaar pack repository format 1 with subtree support (needs bzr 0.92)\n',
737 'breezy.bzr.knitpack_repo',
738 'RepositoryFormatKnitPack3',
739 )
740 format_registry.register_lazy(
741- 'Bazaar pack repository format 1 with rich root (needs bzr 1.0)\n',
742+ b'Bazaar pack repository format 1 with rich root (needs bzr 1.0)\n',
743 'breezy.bzr.knitpack_repo',
744 'RepositoryFormatKnitPack4',
745 )
746 format_registry.register_lazy(
747- 'Bazaar RepositoryFormatKnitPack5 (bzr 1.6)\n',
748+ b'Bazaar RepositoryFormatKnitPack5 (bzr 1.6)\n',
749 'breezy.bzr.knitpack_repo',
750 'RepositoryFormatKnitPack5',
751 )
752 format_registry.register_lazy(
753- 'Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6.1)\n',
754+ b'Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6.1)\n',
755 'breezy.bzr.knitpack_repo',
756 'RepositoryFormatKnitPack5RichRoot',
757 )
758 format_registry.register_lazy(
759- 'Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6)\n',
760+ b'Bazaar RepositoryFormatKnitPack5RichRoot (bzr 1.6)\n',
761 'breezy.bzr.knitpack_repo',
762 'RepositoryFormatKnitPack5RichRootBroken',
763 )
764 format_registry.register_lazy(
765- 'Bazaar RepositoryFormatKnitPack6 (bzr 1.9)\n',
766+ b'Bazaar RepositoryFormatKnitPack6 (bzr 1.9)\n',
767 'breezy.bzr.knitpack_repo',
768 'RepositoryFormatKnitPack6',
769 )
770 format_registry.register_lazy(
771- 'Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)\n',
772+ b'Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)\n',
773 'breezy.bzr.knitpack_repo',
774 'RepositoryFormatKnitPack6RichRoot',
775 )
776 format_registry.register_lazy(
777- 'Bazaar repository format 2a (needs bzr 1.16 or later)\n',
778+ b'Bazaar repository format 2a (needs bzr 1.16 or later)\n',
779 'breezy.bzr.groupcompress_repo',
780 'RepositoryFormat2a',
781 )
782@@ -1461,13 +1461,13 @@
783 # Development formats.
784 # Check their docstrings to see if/when they are obsolete.
785 format_registry.register_lazy(
786- ("Bazaar development format 2 with subtree support "
787- "(needs bzr.dev from before 1.8)\n"),
788+ (b"Bazaar development format 2 with subtree support "
789+ b"(needs bzr.dev from before 1.8)\n"),
790 'breezy.bzr.knitpack_repo',
791 'RepositoryFormatPackDevelopment2Subtree',
792 )
793 format_registry.register_lazy(
794- 'Bazaar development format 8\n',
795+ b'Bazaar development format 8\n',
796 'breezy.bzr.groupcompress_repo',
797 'RepositoryFormat2aSubtree',
798 )
799
800=== modified file 'breezy/tests/blackbox/test_exceptions.py'
801--- breezy/tests/blackbox/test_exceptions.py 2017-11-12 13:53:51 +0000
802+++ breezy/tests/blackbox/test_exceptions.py 2018-03-24 18:03:06 +0000
803@@ -81,7 +81,7 @@
804
805 @classmethod
806 def get_format_string(cls):
807- return "Test Obsolete Repository Format"
808+ return b"Test Obsolete Repository Format"
809
810 def is_deprecated(self):
811 return True
812
813=== modified file 'breezy/tests/blackbox/test_upgrade.py'
814--- breezy/tests/blackbox/test_upgrade.py 2017-06-19 20:34:29 +0000
815+++ breezy/tests/blackbox/test_upgrade.py 2018-03-24 18:03:06 +0000
816@@ -64,7 +64,7 @@
817
818 @classmethod
819 def get_format_string(cls):
820- return "Ancient Test Format"
821+ return b"Ancient Test Format"
822
823 def _open(self, transport):
824 return OldBzrDir(transport, self)
825
826=== modified file 'breezy/tests/per_bzrdir/test_bzrdir.py'
827--- breezy/tests/per_bzrdir/test_bzrdir.py 2017-08-26 13:58:53 +0000
828+++ breezy/tests/per_bzrdir/test_bzrdir.py 2018-03-24 18:03:06 +0000
829@@ -53,7 +53,7 @@
830 """An identifable branch format (has a format string)"""
831
832 def get_format_string(self):
833- return "I have an identity"
834+ return b"I have an identity"
835
836
837 class AnonymousTestRepositoryFormat(repository.RepositoryFormat):
838@@ -67,7 +67,7 @@
839 """An identifable branch format (has a format string)"""
840
841 def get_format_string(self):
842- return "I have an identity"
843+ return b"I have an identity"
844
845
846 class AnonymousTestWorkingTreeFormat(workingtree.WorkingTreeFormat):
847@@ -81,7 +81,7 @@
848 """An identifable branch format (has a format string)"""
849
850 def get_format_string(self):
851- return "I have an identity"
852+ return b"I have an identity"
853
854
855 class TestBzrDir(TestCaseWithBzrDir):
856
857=== modified file 'breezy/tests/per_inventory/basics.py'
858--- breezy/tests/per_inventory/basics.py 2017-11-12 13:53:51 +0000
859+++ breezy/tests/per_inventory/basics.py 2018-03-24 18:03:06 +0000
860@@ -72,8 +72,8 @@
861 ('Makefile', 'file', 'makefile-id')]:
862 ie = inv.add_path(*args)
863 if args[1] == 'file':
864- ie.text_sha1 = osutils.sha_string('content\n')
865- ie.text_size = len('content\n')
866+ ie.text_sha1 = osutils.sha_string(b'content\n')
867+ ie.text_size = len(b'content\n')
868 return self.inv_to_test_inv(inv)
869
870
871
872=== modified file 'breezy/tests/per_transport.py'
873--- breezy/tests/per_transport.py 2017-11-12 13:53:51 +0000
874+++ breezy/tests/per_transport.py 2018-03-24 18:03:06 +0000
875@@ -292,19 +292,19 @@
876
877 if t.is_readonly():
878 self.assertRaises(TransportNotPossible,
879- t.put_bytes, 'a', 'some text for a\n')
880+ t.put_bytes, 'a', b'some text for a\n')
881 return
882
883- t.put_bytes('a', 'some text for a\n')
884+ t.put_bytes('a', b'some text for a\n')
885 self.assertTrue(t.has('a'))
886 self.check_transport_contents('some text for a\n', t, 'a')
887
888 # The contents should be overwritten
889- t.put_bytes('a', 'new text for a\n')
890+ t.put_bytes('a', b'new text for a\n')
891 self.check_transport_contents('new text for a\n', t, 'a')
892
893 self.assertRaises(NoSuchFile,
894- t.put_bytes, 'path/doesnt/exist/c', 'contents')
895+ t.put_bytes, 'path/doesnt/exist/c', b'contents')
896
897 def test_put_bytes_non_atomic(self):
898 t = self.get_transport()
899@@ -352,19 +352,19 @@
900 if not t._can_roundtrip_unix_modebits():
901 # Can't roundtrip, so no need to run this test
902 return
903- t.put_bytes('mode644', 'test text\n', mode=0o644)
904+ t.put_bytes('mode644', b'test text\n', mode=0o644)
905 self.assertTransportMode(t, 'mode644', 0o644)
906- t.put_bytes('mode666', 'test text\n', mode=0o666)
907+ t.put_bytes('mode666', b'test text\n', mode=0o666)
908 self.assertTransportMode(t, 'mode666', 0o666)
909- t.put_bytes('mode600', 'test text\n', mode=0o600)
910+ t.put_bytes('mode600', b'test text\n', mode=0o600)
911 self.assertTransportMode(t, 'mode600', 0o600)
912 # Yes, you can put_bytes a file such that it becomes readonly
913- t.put_bytes('mode400', 'test text\n', mode=0o400)
914+ t.put_bytes('mode400', b'test text\n', mode=0o400)
915 self.assertTransportMode(t, 'mode400', 0o400)
916
917 # The default permissions should be based on the current umask
918 umask = osutils.get_umask()
919- t.put_bytes('nomode', 'test text\n', mode=None)
920+ t.put_bytes('nomode', b'test text\n', mode=None)
921 self.assertTransportMode(t, 'nomode', 0o666 & ~umask)
922
923 def test_put_bytes_non_atomic_permissions(self):
924@@ -564,7 +564,7 @@
925 self.assertRaises(FileExists, t.mkdir, 'dir_g')
926
927 # Test get/put in sub-directories
928- t.put_bytes('dir_a/a', 'contents of dir_a/a')
929+ t.put_bytes('dir_a/a', b'contents of dir_a/a')
930 t.put_file('dir_b/b', BytesIO(b'contents of dir_b/b'))
931 self.check_transport_contents('contents of dir_a/a', t, 'dir_a/a')
932 self.check_transport_contents('contents of dir_b/b', t, 'dir_b/b')
933@@ -657,7 +657,7 @@
934 self.build_tree(['e/', 'e/f'])
935 else:
936 t.mkdir('e')
937- t.put_bytes('e/f', 'contents of e')
938+ t.put_bytes('e/f', b'contents of e')
939 self.assertRaises(NoSuchFile, t.copy_to, ['e/f'], temp_transport)
940 temp_transport.mkdir('e')
941 t.copy_to(['e/f'], temp_transport)
942@@ -695,8 +695,8 @@
943 self.assertRaises(TransportNotPossible,
944 t.append_file, 'a', 'add\nsome\nmore\ncontents\n')
945 return
946- t.put_bytes('a', 'diff\ncontents for\na\n')
947- t.put_bytes('b', 'contents\nfor b\n')
948+ t.put_bytes('a', b'diff\ncontents for\na\n')
949+ t.put_bytes('b', b'contents\nfor b\n')
950
951 self.assertEqual(20,
952 t.append_file('a', BytesIO(b'add\nsome\nmore\ncontents\n')))
953@@ -742,9 +742,9 @@
954
955 if t.is_readonly():
956 return
957- t.put_bytes('a', 'diff\ncontents for\na\n'
958- 'add\nsome\nmore\ncontents\n')
959- t.put_bytes('b', 'contents\nfor b\n')
960+ t.put_bytes('a', b'diff\ncontents for\na\n'
961+ b'add\nsome\nmore\ncontents\n')
962+ t.put_bytes('b', b'contents\nfor b\n')
963
964 self.assertEqual((43, 15),
965 t.append_multi([('a', BytesIO(b'and\nthen\nsome\nmore\n')),
966@@ -816,16 +816,16 @@
967 self.assertRaises(TransportNotPossible, t.delete, 'missing')
968 return
969
970- t.put_bytes('a', 'a little bit of text\n')
971+ t.put_bytes('a', b'a little bit of text\n')
972 self.assertTrue(t.has('a'))
973 t.delete('a')
974 self.assertFalse(t.has('a'))
975
976 self.assertRaises(NoSuchFile, t.delete, 'a')
977
978- t.put_bytes('a', 'a text\n')
979- t.put_bytes('b', 'b text\n')
980- t.put_bytes('c', 'c text\n')
981+ t.put_bytes('a', b'a text\n')
982+ t.put_bytes('b', b'b text\n')
983+ t.put_bytes('c', b'c text\n')
984 self.assertEqual([True, True, True],
985 list(t.has_multi(['a', 'b', 'c'])))
986 t.delete_multi(['a', 'c'])
987@@ -841,8 +841,8 @@
988 self.assertRaises(NoSuchFile,
989 t.delete_multi, iter(['a', 'b', 'c']))
990
991- t.put_bytes('a', 'another a text\n')
992- t.put_bytes('c', 'another c text\n')
993+ t.put_bytes('a', b'another a text\n')
994+ t.put_bytes('c', b'another c text\n')
995 t.delete_multi(iter(['a', 'b', 'c']))
996
997 # We should have deleted everything
998@@ -896,7 +896,7 @@
999 if t.is_readonly():
1000 return
1001 t.mkdir('foo')
1002- t.put_bytes('foo-bar', '')
1003+ t.put_bytes('foo-bar', b'')
1004 t.mkdir('foo-baz')
1005 t.rmdir('foo')
1006 self.assertRaises((NoSuchFile, PathError), t.rmdir, 'foo')
1007@@ -941,7 +941,7 @@
1008 t.mkdir('b')
1009 ta = t.clone('a')
1010 tb = t.clone('b')
1011- ta.put_bytes('f', 'aoeu')
1012+ ta.put_bytes('f', b'aoeu')
1013 ta.rename('f', '../b/f')
1014 self.assertTrue(tb.has('f'))
1015 self.assertFalse(ta.has('f'))
1016@@ -989,7 +989,7 @@
1017 # creates control files in the working directory
1018 # perhaps all of this could be done in a subdirectory
1019
1020- t.put_bytes('a', 'a first file\n')
1021+ t.put_bytes('a', b'a first file\n')
1022 self.assertEqual([True, False], list(t.has_multi(['a', 'b'])))
1023
1024 t.move('a', 'b')
1025@@ -1000,7 +1000,7 @@
1026 self.assertEqual([False, True], list(t.has_multi(['a', 'b'])))
1027
1028 # Overwrite a file
1029- t.put_bytes('c', 'c this file\n')
1030+ t.put_bytes('c', b'c this file\n')
1031 t.move('c', 'b')
1032 self.assertFalse(t.has('c'))
1033 self.check_transport_contents('c this file\n', t, 'b')
1034@@ -1015,7 +1015,7 @@
1035 if t.is_readonly():
1036 return
1037
1038- t.put_bytes('a', 'a file\n')
1039+ t.put_bytes('a', b'a file\n')
1040 t.copy('a', 'b')
1041 self.check_transport_contents('a file\n', t, 'b')
1042
1043@@ -1024,7 +1024,7 @@
1044 # What should the assert be if you try to copy a
1045 # file over a directory?
1046 #self.assertRaises(Something, t.copy, 'a', 'c')
1047- t.put_bytes('d', 'text in d\n')
1048+ t.put_bytes('d', b'text in d\n')
1049 t.copy('d', 'b')
1050 self.check_transport_contents('text in d\n', t, 'b')
1051
1052@@ -1312,7 +1312,7 @@
1053 if t1.is_readonly():
1054 self.build_tree_contents([('b/d', 'newfile\n')])
1055 else:
1056- t2.put_bytes('d', 'newfile\n')
1057+ t2.put_bytes('d', b'newfile\n')
1058
1059 self.assertTrue(t1.has('b/d'))
1060 self.assertTrue(t2.has('d'))
1061@@ -1566,7 +1566,7 @@
1062 transport = self.get_transport()
1063 if transport.is_readonly():
1064 return
1065- transport.put_bytes('foo', 'bar')
1066+ transport.put_bytes('foo', b'bar')
1067 transport3 = self.get_transport()
1068 self.check_transport_contents('bar', transport3, 'foo')
1069
1070@@ -1585,7 +1585,7 @@
1071 if transport.is_readonly():
1072 self.assertRaises(TransportNotPossible, transport.lock_write, 'foo')
1073 return
1074- transport.put_bytes('lock', '')
1075+ transport.put_bytes('lock', b'')
1076 try:
1077 lock = transport.lock_write('lock')
1078 except TransportNotPossible:
1079@@ -1603,7 +1603,7 @@
1080 if transport.is_readonly():
1081 file('lock', 'w').close()
1082 else:
1083- transport.put_bytes('lock', '')
1084+ transport.put_bytes('lock', b'')
1085 try:
1086 lock = transport.lock_read('lock')
1087 except TransportNotPossible:
1088@@ -1617,7 +1617,7 @@
1089 if transport.is_readonly():
1090 with file('a', 'w') as f: f.write('0123456789')
1091 else:
1092- transport.put_bytes('a', '0123456789')
1093+ transport.put_bytes('a', b'0123456789')
1094
1095 d = list(transport.readv('a', ((0, 1),)))
1096 self.assertEqual(d[0], (0, '0'))
1097@@ -1633,7 +1633,7 @@
1098 if transport.is_readonly():
1099 with file('a', 'w') as f: f.write('0123456789')
1100 else:
1101- transport.put_bytes('a', '01234567890')
1102+ transport.put_bytes('a', b'01234567890')
1103
1104 d = list(transport.readv('a', ((1, 1), (9, 1), (0, 1), (3, 2))))
1105 self.assertEqual(d[0], (1, '1'))
1106@@ -1711,7 +1711,7 @@
1107 if transport.is_readonly():
1108 with file('a', 'w') as f: f.write('a'*1024*1024)
1109 else:
1110- transport.put_bytes('a', 'a'*1024*1024)
1111+ transport.put_bytes('a', b'a'*1024*1024)
1112 broken_vector = [(465219, 800), (225221, 800), (445548, 800),
1113 (225037, 800), (221357, 800), (437077, 800), (947670, 800),
1114 (465373, 800), (947422, 800)]
1115@@ -1751,7 +1751,7 @@
1116 if transport.is_readonly():
1117 with file('a', 'w') as f: f.write('0123456789')
1118 else:
1119- transport.put_bytes('a', '01234567890')
1120+ transport.put_bytes('a', b'01234567890')
1121
1122 # This is intentionally reading off the end of the file
1123 # since we are sure that it cannot get there
1124
1125=== modified file 'breezy/tests/stub_sftp.py'
1126--- breezy/tests/stub_sftp.py 2017-06-05 22:09:44 +0000
1127+++ breezy/tests/stub_sftp.py 2018-03-24 18:03:06 +0000
1128@@ -489,8 +489,7 @@
1129 # Normalize the path or it will be wrongly escaped
1130 self._homedir = osutils.normpath(self._homedir)
1131 else:
1132- # But unix SFTP servers should just deal in bytestreams
1133- self._homedir = self._homedir.encode('utf-8')
1134+ self._homedir = self._homedir
1135 if self._server_homedir is None:
1136 self._server_homedir = self._homedir
1137 self._root = '/'
1138
1139=== modified file 'breezy/tests/test_branch.py'
1140--- breezy/tests/test_branch.py 2017-08-05 01:03:53 +0000
1141+++ breezy/tests/test_branch.py 2018-03-24 18:03:06 +0000
1142@@ -132,7 +132,7 @@
1143 @classmethod
1144 def get_format_string(cls):
1145 """See BzrBranchFormat.get_format_string()."""
1146- return "Sample branch format."
1147+ return b"Sample branch format."
1148
1149 def initialize(self, a_controldir, name=None, repository=None,
1150 append_revisions_only=None):
1151@@ -151,7 +151,7 @@
1152
1153 # Demonstrating how lazy loading is often implemented:
1154 # A constant string is created.
1155-SampleSupportedBranchFormatString = "Sample supported branch format."
1156+SampleSupportedBranchFormatString = b"Sample supported branch format."
1157
1158 # And the format class can then reference the constant to avoid skew.
1159 class SampleSupportedBranchFormat(_mod_bzrbranch.BranchFormatMetadir):
1160@@ -209,10 +209,10 @@
1161
1162 def test_from_string(self):
1163 self.assertIsInstance(
1164- SampleBranchFormat.from_string("Sample branch format."),
1165+ SampleBranchFormat.from_string(b"Sample branch format."),
1166 SampleBranchFormat)
1167 self.assertRaises(AssertionError,
1168- SampleBranchFormat.from_string, "Different branch format.")
1169+ SampleBranchFormat.from_string, b"Different branch format.")
1170
1171 def test_find_format_not_branch(self):
1172 dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
1173@@ -229,11 +229,11 @@
1174
1175 def test_find_format_with_features(self):
1176 tree = self.make_branch_and_tree('.', format='2a')
1177- tree.branch.update_feature_flags({"name": "optional"})
1178+ tree.branch.update_feature_flags({b"name": b"optional"})
1179 found_format = _mod_bzrbranch.BranchFormatMetadir.find_format(tree.controldir)
1180 self.assertIsInstance(found_format, _mod_bzrbranch.BranchFormatMetadir)
1181- self.assertEqual(found_format.features.get("name"), "optional")
1182- tree.branch.update_feature_flags({"name": None})
1183+ self.assertEqual(found_format.features.get(b"name"), b"optional")
1184+ tree.branch.update_feature_flags({b"name": None})
1185 branch = _mod_branch.Branch.open('.')
1186 self.assertEqual(branch._format.features, {})
1187
1188@@ -254,10 +254,10 @@
1189 format = SampleBranchFormat()
1190 self.registry.register(format)
1191 self.assertEqual(format,
1192- self.registry.get("Sample branch format."))
1193+ self.registry.get(b"Sample branch format."))
1194 self.registry.remove(format)
1195 self.assertRaises(KeyError, self.registry.get,
1196- "Sample branch format.")
1197+ b"Sample branch format.")
1198
1199 def test_get_all(self):
1200 format = SampleBranchFormat()
1201
1202=== modified file 'breezy/tests/test_bzrdir.py'
1203--- breezy/tests/test_bzrdir.py 2018-03-10 13:52:14 +0000
1204+++ breezy/tests/test_bzrdir.py 2018-03-24 18:03:06 +0000
1205@@ -243,7 +243,7 @@
1206
1207 def get_format_string(self):
1208 """See BzrDirFormat.get_format_string()."""
1209- return "Sample .bzr dir format."
1210+ return b"Sample .bzr dir format."
1211
1212 def initialize_on_transport(self, t):
1213 """Create a bzr dir."""
1214@@ -266,14 +266,14 @@
1215
1216 @staticmethod
1217 def get_format_string():
1218- return "Test format 1"
1219+ return b"Test format 1"
1220
1221
1222 class BzrDirFormatTest2(bzrdir.BzrDirMetaFormat1):
1223
1224 @staticmethod
1225 def get_format_string():
1226- return "Test format 2"
1227+ return b"Test format 2"
1228
1229
1230 class TestBzrDirFormat(TestCaseWithTransport):
1231@@ -1033,13 +1033,15 @@
1232
1233 def test_with_features(self):
1234 tree = self.make_branch_and_tree('tree', format='2a')
1235- tree.controldir.update_feature_flags({"bar": "required"})
1236+ tree.controldir.update_feature_flags({b"bar": b"required"})
1237 self.assertRaises(bzrdir.MissingFeature, bzrdir.BzrDir.open, 'tree')
1238- bzrdir.BzrDirMetaFormat1.register_feature('bar')
1239- self.addCleanup(bzrdir.BzrDirMetaFormat1.unregister_feature, 'bar')
1240+ bzrdir.BzrDirMetaFormat1.register_feature(b'bar')
1241+ self.addCleanup(bzrdir.BzrDirMetaFormat1.unregister_feature, b'bar')
1242 dir = bzrdir.BzrDir.open('tree')
1243- self.assertEqual("required", dir._format.features.get("bar"))
1244- tree.controldir.update_feature_flags({"bar": None, "nonexistant": None})
1245+ self.assertEqual(b"required", dir._format.features.get(b"bar"))
1246+ tree.controldir.update_feature_flags({
1247+ b"bar": None,
1248+ b"nonexistant": None})
1249 dir = bzrdir.BzrDir.open('tree')
1250 self.assertEqual({}, dir._format.features)
1251
1252@@ -1461,7 +1463,7 @@
1253
1254 @classmethod
1255 def get_format_string(cls):
1256- return "First line\n"
1257+ return b"First line\n"
1258
1259
1260 class TestBzrFormat(TestCase):
1261@@ -1469,57 +1471,57 @@
1262
1263 def test_as_string(self):
1264 format = SampleBzrFormat()
1265- format.features = {"foo": "required"}
1266+ format.features = {b"foo": b"required"}
1267 self.assertEqual(format.as_string(),
1268- "First line\n"
1269- "required foo\n")
1270+ b"First line\n"
1271+ b"required foo\n")
1272 format.features["another"] = "optional"
1273 self.assertEqual(format.as_string(),
1274- "First line\n"
1275- "required foo\n"
1276- "optional another\n")
1277+ b"First line\n"
1278+ b"required foo\n"
1279+ b"optional another\n")
1280
1281 def test_network_name(self):
1282 # The network string should include the feature info
1283 format = SampleBzrFormat()
1284- format.features = {"foo": "required"}
1285+ format.features = {b"foo": b"required"}
1286 self.assertEqual(
1287- "First line\nrequired foo\n",
1288+ b"First line\nrequired foo\n",
1289 format.network_name())
1290
1291 def test_from_string_no_features(self):
1292 # No features
1293 format = SampleBzrFormat.from_string(
1294- "First line\n")
1295+ b"First line\n")
1296 self.assertEqual({}, format.features)
1297
1298 def test_from_string_with_feature(self):
1299 # Proper feature
1300 format = SampleBzrFormat.from_string(
1301- "First line\nrequired foo\n")
1302- self.assertEqual("required", format.features.get("foo"))
1303+ b"First line\nrequired foo\n")
1304+ self.assertEqual(b"required", format.features.get(b"foo"))
1305
1306 def test_from_string_format_string_mismatch(self):
1307 # The first line has to match the format string
1308 self.assertRaises(AssertionError, SampleBzrFormat.from_string,
1309- "Second line\nrequired foo\n")
1310+ b"Second line\nrequired foo\n")
1311
1312 def test_from_string_missing_space(self):
1313 # At least one space is required in the feature lines
1314 self.assertRaises(errors.ParseFormatError, SampleBzrFormat.from_string,
1315- "First line\nfoo\n")
1316+ b"First line\nfoo\n")
1317
1318 def test_from_string_with_spaces(self):
1319 # Feature with spaces (in case we add stuff like this in the future)
1320 format = SampleBzrFormat.from_string(
1321- "First line\nrequired foo with spaces\n")
1322- self.assertEqual("required", format.features.get("foo with spaces"))
1323+ b"First line\nrequired foo with spaces\n")
1324+ self.assertEqual(b"required", format.features.get(b"foo with spaces"))
1325
1326 def test_eq(self):
1327 format1 = SampleBzrFormat()
1328- format1.features = {"nested-trees": "optional"}
1329+ format1.features = {b"nested-trees": b"optional"}
1330 format2 = SampleBzrFormat()
1331- format2.features = {"nested-trees": "optional"}
1332+ format2.features = {b"nested-trees": b"optional"}
1333 self.assertEqual(format1, format1)
1334 self.assertEqual(format1, format2)
1335 format3 = SampleBzrFormat()
1336@@ -1528,40 +1530,40 @@
1337 def test_check_support_status_optional(self):
1338 # Optional, so silently ignore
1339 format = SampleBzrFormat()
1340- format.features = {"nested-trees": "optional"}
1341+ format.features = {b"nested-trees": b"optional"}
1342 format.check_support_status(True)
1343- self.addCleanup(SampleBzrFormat.unregister_feature, "nested-trees")
1344- SampleBzrFormat.register_feature("nested-trees")
1345+ self.addCleanup(SampleBzrFormat.unregister_feature, b"nested-trees")
1346+ SampleBzrFormat.register_feature(b"nested-trees")
1347 format.check_support_status(True)
1348
1349 def test_check_support_status_required(self):
1350 # Optional, so trigger an exception
1351 format = SampleBzrFormat()
1352- format.features = {"nested-trees": "required"}
1353+ format.features = {b"nested-trees": b"required"}
1354 self.assertRaises(bzrdir.MissingFeature, format.check_support_status,
1355 True)
1356- self.addCleanup(SampleBzrFormat.unregister_feature, "nested-trees")
1357- SampleBzrFormat.register_feature("nested-trees")
1358+ self.addCleanup(SampleBzrFormat.unregister_feature, b"nested-trees")
1359+ SampleBzrFormat.register_feature(b"nested-trees")
1360 format.check_support_status(True)
1361
1362 def test_check_support_status_unknown(self):
1363 # treat unknown necessity as required
1364 format = SampleBzrFormat()
1365- format.features = {"nested-trees": "unknown"}
1366+ format.features = {b"nested-trees": b"unknown"}
1367 self.assertRaises(bzrdir.MissingFeature, format.check_support_status,
1368 True)
1369- self.addCleanup(SampleBzrFormat.unregister_feature, "nested-trees")
1370- SampleBzrFormat.register_feature("nested-trees")
1371+ self.addCleanup(SampleBzrFormat.unregister_feature, b"nested-trees")
1372+ SampleBzrFormat.register_feature(b"nested-trees")
1373 format.check_support_status(True)
1374
1375 def test_feature_already_registered(self):
1376 # a feature can only be registered once
1377- self.addCleanup(SampleBzrFormat.unregister_feature, "nested-trees")
1378- SampleBzrFormat.register_feature("nested-trees")
1379+ self.addCleanup(SampleBzrFormat.unregister_feature, b"nested-trees")
1380+ SampleBzrFormat.register_feature(b"nested-trees")
1381 self.assertRaises(bzrdir.FeatureAlreadyRegistered,
1382- SampleBzrFormat.register_feature, "nested-trees")
1383+ SampleBzrFormat.register_feature, b"nested-trees")
1384
1385 def test_feature_with_space(self):
1386 # spaces are not allowed in feature names
1387 self.assertRaises(ValueError, SampleBzrFormat.register_feature,
1388- "nested trees")
1389+ b"nested trees")
1390
1391=== modified file 'breezy/tests/test_controldir.py'
1392--- breezy/tests/test_controldir.py 2017-07-30 21:23:44 +0000
1393+++ breezy/tests/test_controldir.py 2018-03-24 18:03:06 +0000
1394@@ -42,7 +42,7 @@
1395 class SampleComponentFormat(controldir.ControlComponentFormat):
1396
1397 def get_format_string(self):
1398- return "Example component format."
1399+ return b"Example component format."
1400
1401
1402 class SampleExtraComponentFormat(controldir.ControlComponentFormat):
1403@@ -59,10 +59,10 @@
1404 format = SampleComponentFormat()
1405 self.registry.register(format)
1406 self.assertEqual(format,
1407- self.registry.get("Example component format."))
1408+ self.registry.get(b"Example component format."))
1409 self.registry.remove(format)
1410 self.assertRaises(KeyError, self.registry.get,
1411- "Example component format.")
1412+ b"Example component format.")
1413
1414 def test_get_all(self):
1415 format = SampleComponentFormat()
1416
1417=== modified file 'breezy/tests/test_foreign.py'
1418--- breezy/tests/test_foreign.py 2017-11-24 09:25:13 +0000
1419+++ breezy/tests/test_foreign.py 2018-03-24 18:03:06 +0000
1420@@ -151,7 +151,7 @@
1421
1422 @classmethod
1423 def get_format_string(cls):
1424- return "Dummy Foreign Vcs Repository"
1425+ return b"Dummy Foreign Vcs Repository"
1426
1427 def get_format_description(self):
1428 return "Dummy Foreign Vcs Repository"
1429@@ -234,7 +234,7 @@
1430
1431 @classmethod
1432 def get_format_string(cls):
1433- return "Branch for Testing"
1434+ return b"Branch for Testing"
1435
1436 @property
1437 def _matchingcontroldir(self):
1438@@ -266,7 +266,7 @@
1439
1440 @classmethod
1441 def get_format_string(cls):
1442- return "A Dummy VCS Dir"
1443+ return b"A Dummy VCS Dir"
1444
1445 @classmethod
1446 def get_format_description(cls):
1447
1448=== modified file 'breezy/tests/test_repository.py'
1449--- breezy/tests/test_repository.py 2018-02-24 15:50:23 +0000
1450+++ breezy/tests/test_repository.py 2018-03-24 18:03:06 +0000
1451@@ -105,7 +105,7 @@
1452 @classmethod
1453 def get_format_string(cls):
1454 """See RepositoryFormat.get_format_string()."""
1455- return "Sample .bzr repository format."
1456+ return b"Sample .bzr repository format."
1457
1458 def initialize(self, a_controldir, shared=False):
1459 """Initialize a repository in a BzrDir"""
1460@@ -154,11 +154,11 @@
1461 def test_from_string(self):
1462 self.assertIsInstance(
1463 SampleRepositoryFormat.from_string(
1464- "Sample .bzr repository format."),
1465+ b"Sample .bzr repository format."),
1466 SampleRepositoryFormat)
1467 self.assertRaises(AssertionError,
1468 SampleRepositoryFormat.from_string,
1469- "Different .bzr repository format.")
1470+ b"Different .bzr repository format.")
1471
1472 def test_find_format_unknown_format(self):
1473 dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
1474@@ -169,15 +169,15 @@
1475
1476 def test_find_format_with_features(self):
1477 tree = self.make_branch_and_tree('.', format='2a')
1478- tree.branch.repository.update_feature_flags({"name": "necessity"})
1479+ tree.branch.repository.update_feature_flags({b"name": b"necessity"})
1480 found_format = bzrrepository.RepositoryFormatMetaDir.find_format(tree.controldir)
1481 self.assertIsInstance(found_format, bzrrepository.RepositoryFormatMetaDir)
1482- self.assertEqual(found_format.features.get("name"), "necessity")
1483+ self.assertEqual(found_format.features.get(b"name"), b"necessity")
1484 self.assertRaises(bzrdir.MissingFeature, found_format.check_support_status,
1485 True)
1486 self.addCleanup(bzrrepository.RepositoryFormatMetaDir.unregister_feature,
1487- "name")
1488- bzrrepository.RepositoryFormatMetaDir.register_feature("name")
1489+ b"name")
1490+ bzrrepository.RepositoryFormatMetaDir.register_feature(b"name")
1491 found_format.check_support_status(True)
1492
1493
1494@@ -190,9 +190,9 @@
1495 def test_register_unregister_format(self):
1496 format = SampleRepositoryFormat()
1497 self.registry.register(format)
1498- self.assertEqual(format, self.registry.get("Sample .bzr repository format."))
1499+ self.assertEqual(format, self.registry.get(b"Sample .bzr repository format."))
1500 self.registry.remove(format)
1501- self.assertRaises(KeyError, self.registry.get, "Sample .bzr repository format.")
1502+ self.assertRaises(KeyError, self.registry.get, b"Sample .bzr repository format.")
1503
1504 def test_get_all(self):
1505 format = SampleRepositoryFormat()
1506@@ -447,14 +447,14 @@
1507
1508 @classmethod
1509 def get_format_string(cls):
1510- return "Test Format 1"
1511+ return b"Test Format 1"
1512
1513
1514 class TestRepositoryFormat2(knitrepo.RepositoryFormatKnit1):
1515
1516 @classmethod
1517 def get_format_string(cls):
1518- return "Test Format 2"
1519+ return b"Test Format 2"
1520
1521
1522 class TestRepositoryConverter(TestCaseWithTransport):
1523@@ -1719,18 +1719,18 @@
1524 def test_open_with_present_feature(self):
1525 self.addCleanup(
1526 bzrrepository.RepositoryFormatMetaDir.unregister_feature,
1527- "makes-cheese-sandwich")
1528+ b"makes-cheese-sandwich")
1529 bzrrepository.RepositoryFormatMetaDir.register_feature(
1530- "makes-cheese-sandwich")
1531+ b"makes-cheese-sandwich")
1532 repo = self.make_repository('.')
1533 repo.lock_write()
1534- repo._format.features["makes-cheese-sandwich"] = "required"
1535+ repo._format.features[b"makes-cheese-sandwich"] = b"required"
1536 repo._format.check_support_status(False)
1537 repo.unlock()
1538
1539 def test_open_with_missing_required_feature(self):
1540 repo = self.make_repository('.')
1541 repo.lock_write()
1542- repo._format.features["makes-cheese-sandwich"] = "required"
1543+ repo._format.features[b"makes-cheese-sandwich"] = b"required"
1544 self.assertRaises(bzrdir.MissingFeature,
1545 repo._format.check_support_status, False)
1546
1547=== modified file 'breezy/tests/test_selftest.py'
1548--- breezy/tests/test_selftest.py 2017-11-12 13:53:51 +0000
1549+++ breezy/tests/test_selftest.py 2018-03-24 18:03:06 +0000
1550@@ -106,7 +106,7 @@
1551 self.requireFeature(features.UnicodeFilenameFeature)
1552
1553 filename = u'hell\u00d8'
1554- self.build_tree_contents([(filename, 'contents of hello')])
1555+ self.build_tree_contents([(filename, b'contents of hello')])
1556 self.assertPathExists(filename)
1557
1558
1559@@ -235,7 +235,7 @@
1560 from .per_repository import formats_to_scenarios
1561 formats = [("(c)", remote.RemoteRepositoryFormat()),
1562 ("(d)", repository.format_registry.get(
1563- 'Bazaar repository format 2a (needs bzr 1.16 or later)\n'))]
1564+ b'Bazaar repository format 2a (needs bzr 1.16 or later)\n'))]
1565 no_vfs_scenarios = formats_to_scenarios(formats, "server", "readonly",
1566 None)
1567 vfs_scenarios = formats_to_scenarios(formats, "server", "readonly",
1568@@ -2172,7 +2172,7 @@
1569
1570 def test_load_list(self):
1571 # Provide a list with one test - this test.
1572- test_id_line = '%s\n' % self.id()
1573+ test_id_line = b'%s\n' % self.id()
1574 self.build_tree_contents([('test.list', test_id_line)])
1575 # And generate a list of the tests in the suite.
1576 stream = self.run_selftest(load_list='test.list', list_only=True)
1577
1578=== modified file 'breezy/tests/test_sftp_transport.py'
1579--- breezy/tests/test_sftp_transport.py 2017-05-22 00:56:52 +0000
1580+++ breezy/tests/test_sftp_transport.py 2018-03-24 18:03:06 +0000
1581@@ -239,7 +239,7 @@
1582 self.vfs_transport_server = create_server
1583 f = open('a_file', 'wb')
1584 try:
1585- f.write('foobar\n')
1586+ f.write(b'foobar\n')
1587 finally:
1588 f.close()
1589
1590
1591=== modified file 'breezy/tests/test_workingtree.py'
1592--- breezy/tests/test_workingtree.py 2018-03-22 02:21:11 +0000
1593+++ breezy/tests/test_workingtree.py 2018-03-24 18:03:06 +0000
1594@@ -84,10 +84,10 @@
1595
1596 def test_from_string(self):
1597 self.assertIsInstance(
1598- SampleTreeFormat.from_string("Sample tree format."),
1599+ SampleTreeFormat.from_string(b"Sample tree format."),
1600 SampleTreeFormat)
1601 self.assertRaises(AssertionError,
1602- SampleTreeFormat.from_string, "Different format string.")
1603+ SampleTreeFormat.from_string, b"Different format string.")
1604
1605 def test_get_set_default_format_by_key(self):
1606 old_format = workingtree.format_registry.get_default()
1607@@ -140,7 +140,7 @@
1608 @classmethod
1609 def get_format_string(cls):
1610 """See WorkingTreeFormat.get_format_string()."""
1611- return "Sample tree format."
1612+ return b"Sample tree format."
1613
1614 def initialize(self, a_controldir, revision_id=None, from_branch=None,
1615 accelerator_tree=None, hardlink=False):
1616@@ -223,16 +223,16 @@
1617
1618 def test_find_format_with_features(self):
1619 tree = self.make_branch_and_tree('.', format='2a')
1620- tree.update_feature_flags({"name": "necessity"})
1621+ tree.update_feature_flags({b"name": b"necessity"})
1622 found_format = bzrworkingtree.WorkingTreeFormatMetaDir.find_format(
1623 tree.controldir)
1624 self.assertIsInstance(found_format, workingtree.WorkingTreeFormat)
1625- self.assertEqual(found_format.features.get("name"), "necessity")
1626+ self.assertEqual(found_format.features.get(b"name"), b"necessity")
1627 self.assertRaises(bzrdir.MissingFeature, found_format.check_support_status,
1628 True)
1629 self.addCleanup(bzrworkingtree.WorkingTreeFormatMetaDir.unregister_feature,
1630- "name")
1631- bzrworkingtree.WorkingTreeFormatMetaDir.register_feature("name")
1632+ b"name")
1633+ bzrworkingtree.WorkingTreeFormatMetaDir.register_feature(b"name")
1634 found_format.check_support_status(True)
1635
1636
1637@@ -287,9 +287,9 @@
1638 def test_register_unregister_format(self):
1639 format = SampleTreeFormat()
1640 self.registry.register(format)
1641- self.assertEqual(format, self.registry.get("Sample tree format."))
1642+ self.assertEqual(format, self.registry.get(b"Sample tree format."))
1643 self.registry.remove(format)
1644- self.assertRaises(KeyError, self.registry.get, "Sample tree format.")
1645+ self.assertRaises(KeyError, self.registry.get, b"Sample tree format.")
1646
1647 def test_get_all(self):
1648 format = SampleTreeFormat()
1649@@ -327,13 +327,13 @@
1650 # stat-cache = ??
1651 # no inventory.basis yet
1652 t = control.get_workingtree_transport(None)
1653- self.assertEqualDiff('Bazaar-NG Working Tree format 3',
1654+ self.assertEqualDiff(b'Bazaar-NG Working Tree format 3',
1655 t.get('format').read())
1656 self.assertEqualDiff(t.get('inventory').read(),
1657- '<inventory format="5">\n'
1658- '</inventory>\n',
1659+ b'<inventory format="5">\n'
1660+ b'</inventory>\n',
1661 )
1662- self.assertEqualDiff('### bzr hashcache v5\n',
1663+ self.assertEqualDiff(b'### bzr hashcache v5\n',
1664 t.get('stat-cache').read())
1665 self.assertFalse(t.has('inventory.basis'))
1666 # no last-revision file means 'None' or 'NULLREVISION'
1667@@ -380,7 +380,7 @@
1668 def test_revert_conflicts_recursive(self):
1669 this_tree = self.make_branch_and_tree('this-tree')
1670 self.build_tree_contents([('this-tree/foo/',),
1671- ('this-tree/foo/bar', 'bar')])
1672+ ('this-tree/foo/bar', b'bar')])
1673 this_tree.add(['foo', 'foo/bar'])
1674 this_tree.commit('created foo/bar')
1675 other_tree = this_tree.controldir.sprout('other-tree').open_workingtree()
1676@@ -398,15 +398,15 @@
1677
1678 def test_auto_resolve(self):
1679 base = self.make_branch_and_tree('base')
1680- self.build_tree_contents([('base/hello', 'Hello')])
1681+ self.build_tree_contents([('base/hello', b'Hello')])
1682 base.add('hello', 'hello_id')
1683 base.commit('Hello')
1684 other = base.controldir.sprout('other').open_workingtree()
1685- self.build_tree_contents([('other/hello', 'hELLO')])
1686+ self.build_tree_contents([('other/hello', b'hELLO')])
1687 other.commit('Case switch')
1688 this = base.controldir.sprout('this').open_workingtree()
1689 self.assertPathExists('this/hello')
1690- self.build_tree_contents([('this/hello', 'Hello World')])
1691+ self.build_tree_contents([('this/hello', b'Hello World')])
1692 this.commit('Add World')
1693 this.merge_from_branch(other.branch)
1694 self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1695@@ -414,20 +414,20 @@
1696 this.auto_resolve()
1697 self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1698 this.conflicts())
1699- self.build_tree_contents([('this/hello', '<<<<<<<')])
1700- this.auto_resolve()
1701- self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1702- this.conflicts())
1703- self.build_tree_contents([('this/hello', '=======')])
1704- this.auto_resolve()
1705- self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1706- this.conflicts())
1707- self.build_tree_contents([('this/hello', '\n>>>>>>>')])
1708+ self.build_tree_contents([('this/hello', b'<<<<<<<')])
1709+ this.auto_resolve()
1710+ self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1711+ this.conflicts())
1712+ self.build_tree_contents([('this/hello', b'=======')])
1713+ this.auto_resolve()
1714+ self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1715+ this.conflicts())
1716+ self.build_tree_contents([('this/hello', b'\n>>>>>>>')])
1717 remaining, resolved = this.auto_resolve()
1718 self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1719 this.conflicts())
1720 self.assertEqual([], resolved)
1721- self.build_tree_contents([('this/hello', 'hELLO wORLD')])
1722+ self.build_tree_contents([('this/hello', b'hELLO wORLD')])
1723 remaining, resolved = this.auto_resolve()
1724 self.assertEqual([], this.conflicts())
1725 self.assertEqual([conflicts.TextConflict('hello', 'hello_id')],
1726
1727=== modified file 'breezy/transform.py'
1728--- breezy/transform.py 2018-03-24 10:24:48 +0000
1729+++ breezy/transform.py 2018-03-24 18:03:06 +0000
1730@@ -1946,8 +1946,8 @@
1731 path = self._tree_id_paths[parent_id]
1732 except KeyError:
1733 return
1734- entry = self._tree.iter_entries_by_dir(
1735- specific_files=[path]).next()[1]
1736+ entry = next(self._tree.iter_entries_by_dir(
1737+ specific_files=[path]))[1]
1738 children = getattr(entry, 'children', {})
1739 for child in children:
1740 childpath = joinpath(path, child)
1741
1742=== modified file 'breezy/tuned_gzip.py'
1743--- breezy/tuned_gzip.py 2017-12-04 23:01:39 +0000
1744+++ breezy/tuned_gzip.py 2018-03-24 18:03:06 +0000
1745@@ -77,4 +77,4 @@
1746 result.append(compress.flush())
1747 # size may exceed 2GB, or even 4GB
1748 result.append(struct.pack("<LL", LOWU32(crc), LOWU32(total_len)))
1749- return b''.join(result)
1750+ return result
1751
1752=== modified file 'breezy/workingtree.py'
1753--- breezy/workingtree.py 2018-03-24 10:24:48 +0000
1754+++ breezy/workingtree.py 2018-03-24 18:03:06 +0000
1755@@ -1480,12 +1480,12 @@
1756 return self._matchingcontroldir
1757
1758
1759-format_registry.register_lazy("Bazaar Working Tree Format 4 (bzr 0.15)\n",
1760+format_registry.register_lazy(b"Bazaar Working Tree Format 4 (bzr 0.15)\n",
1761 "breezy.bzr.workingtree_4", "WorkingTreeFormat4")
1762-format_registry.register_lazy("Bazaar Working Tree Format 5 (bzr 1.11)\n",
1763+format_registry.register_lazy(b"Bazaar Working Tree Format 5 (bzr 1.11)\n",
1764 "breezy.bzr.workingtree_4", "WorkingTreeFormat5")
1765-format_registry.register_lazy("Bazaar Working Tree Format 6 (bzr 1.14)\n",
1766+format_registry.register_lazy(b"Bazaar Working Tree Format 6 (bzr 1.14)\n",
1767 "breezy.bzr.workingtree_4", "WorkingTreeFormat6")
1768-format_registry.register_lazy("Bazaar-NG Working Tree format 3",
1769+format_registry.register_lazy(b"Bazaar-NG Working Tree format 3",
1770 "breezy.bzr.workingtree_3", "WorkingTreeFormat3")
1771-format_registry.set_default_key("Bazaar Working Tree Format 6 (bzr 1.14)\n")
1772+format_registry.set_default_key(b"Bazaar Working Tree Format 6 (bzr 1.14)\n")
1773
1774=== modified file 'python3.passing'
1775--- python3.passing 2018-02-16 00:30:12 +0000
1776+++ python3.passing 2018-03-24 18:03:06 +0000
1777@@ -55,13 +55,27 @@
1778 breezy.plugins.stats.test_stats.TestCollapseByPerson.test_different_name_case
1779 breezy.plugins.stats.test_stats.TestCollapseByPerson.test_no_conflicts
1780 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_push_location_exact(BranchReferenceFormat)
1781+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_push_location_exact(BzrBranchFormat5)
1782+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_push_location_exact(BzrBranchFormat6)
1783 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_push_location_exact(BzrBranchFormat7)
1784+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_push_location_exact(BzrBranchFormat8)
1785 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_upload_location_unset(BranchReferenceFormat)
1786+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_upload_location_unset(BzrBranchFormat5)
1787+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_upload_location_unset(BzrBranchFormat6)
1788 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_upload_location_unset(BzrBranchFormat7)
1789+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_get_upload_location_unset(BzrBranchFormat8)
1790 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(BranchReferenceFormat)
1791+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(BzrBranchFormat5)
1792+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(BzrBranchFormat6)
1793 breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(BzrBranchFormat7)
1794+breezy.plugins.upload.tests.test_upload.TestBranchUploadLocations.test_set_push_location(BzrBranchFormat8)
1795 breezy.plugins.weave_fmt.test_bzrdir.SFTPBranchTest.test_lock_file
1796 breezy.plugins.weave_fmt.test_bzrdir.TestBranchFormat4.test_no_metadir_support
1797+breezy.plugins.weave_fmt.test_repository.TestFormat7.test_attribute__fetch_order
1798+breezy.plugins.weave_fmt.test_repository.TestFormat7.test_attribute__fetch_reconcile
1799+breezy.plugins.weave_fmt.test_repository.TestFormat7.test_attribute__fetch_uses_deltas
1800+breezy.plugins.weave_fmt.test_repository.TestFormat7.test_creates_lockdir
1801+breezy.plugins.weave_fmt.test_repository.TestFormat7.test_supports_external_lookups
1802 breezy.plugins.weave_fmt.test_repository.TestInterWeaveRepo.test_is_compatible_and_registered
1803 breezy.plugins.weave_fmt.test_repository.TestSerializer.test_registry
1804 breezy.plugins.weave_fmt.test_store.TestCompressedTextStore.test_multiple_add
1805@@ -107,29 +121,58 @@
1806 breezy.tests.commands.test_update.TestUpdate.test_update
1807 breezy.tests.multiply_tests
1808 breezy.tests.per_branch.test_branch.TestBound.test_bind_clears_cached_master_branch(BranchReferenceFormat)
1809+breezy.tests.per_branch.test_branch.TestBound.test_bind_clears_cached_master_branch(BzrBranchFormat6)
1810 breezy.tests.per_branch.test_branch.TestBound.test_bind_clears_cached_master_branch(BzrBranchFormat7)
1811+breezy.tests.per_branch.test_branch.TestBound.test_bind_clears_cached_master_branch(BzrBranchFormat8)
1812 breezy.tests.per_branch.test_branch.TestBound.test_bind_diverged(BranchReferenceFormat)
1813 breezy.tests.per_branch.test_branch.TestBound.test_bind_unbind(BranchReferenceFormat)
1814+breezy.tests.per_branch.test_branch.TestBound.test_bind_unbind(BzrBranchFormat6)
1815 breezy.tests.per_branch.test_branch.TestBound.test_bind_unbind(BzrBranchFormat7)
1816+breezy.tests.per_branch.test_branch.TestBound.test_bind_unbind(BzrBranchFormat8)
1817 breezy.tests.per_branch.test_branch.TestBound.test_old_bound_location(BranchReferenceFormat)
1818+breezy.tests.per_branch.test_branch.TestBound.test_old_bound_location(BzrBranchFormat5)
1819+breezy.tests.per_branch.test_branch.TestBound.test_old_bound_location(BzrBranchFormat6)
1820 breezy.tests.per_branch.test_branch.TestBound.test_old_bound_location(BzrBranchFormat7)
1821+breezy.tests.per_branch.test_branch.TestBound.test_old_bound_location(BzrBranchFormat8)
1822 breezy.tests.per_branch.test_branch.TestBound.test_set_bound_location_clears_cached_master_branch(BranchReferenceFormat)
1823+breezy.tests.per_branch.test_branch.TestBound.test_set_bound_location_clears_cached_master_branch(BzrBranchFormat6)
1824 breezy.tests.per_branch.test_branch.TestBound.test_set_bound_location_clears_cached_master_branch(BzrBranchFormat7)
1825+breezy.tests.per_branch.test_branch.TestBound.test_set_bound_location_clears_cached_master_branch(BzrBranchFormat8)
1826 breezy.tests.per_branch.test_branch.TestBound.test_unbind_clears_cached_master_branch(BranchReferenceFormat)
1827+breezy.tests.per_branch.test_branch.TestBound.test_unbind_clears_cached_master_branch(BzrBranchFormat6)
1828 breezy.tests.per_branch.test_branch.TestBound.test_unbind_clears_cached_master_branch(BzrBranchFormat7)
1829+breezy.tests.per_branch.test_branch.TestBound.test_unbind_clears_cached_master_branch(BzrBranchFormat8)
1830 breezy.tests.per_branch.test_branch.TestBranchControlComponent.test_urls(BranchReferenceFormat)
1831+breezy.tests.per_branch.test_branch.TestBranchControlComponent.test_urls(BzrBranchFormat5)
1832+breezy.tests.per_branch.test_branch.TestBranchControlComponent.test_urls(BzrBranchFormat6)
1833 breezy.tests.per_branch.test_branch.TestBranchControlComponent.test_urls(BzrBranchFormat7)
1834+breezy.tests.per_branch.test_branch.TestBranchControlComponent.test_urls(BzrBranchFormat8)
1835 breezy.tests.per_branch.test_branch.TestBranchFormat.test_branch_format_network_name(BranchReferenceFormat)
1836 breezy.tests.per_branch.test_branch.TestBranchFormat.test_get_config_calls(BranchReferenceFormat)
1837+breezy.tests.per_branch.test_branch.TestBranchFormat.test_get_config_calls(BzrBranchFormat5)
1838+breezy.tests.per_branch.test_branch.TestBranchFormat.test_get_config_calls(BzrBranchFormat6)
1839 breezy.tests.per_branch.test_branch.TestBranchFormat.test_get_config_calls(BzrBranchFormat7)
1840+breezy.tests.per_branch.test_branch.TestBranchFormat.test_get_config_calls(BzrBranchFormat8)
1841 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_exact(BranchReferenceFormat)
1842+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_exact(BzrBranchFormat5)
1843+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_exact(BzrBranchFormat6)
1844 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_exact(BzrBranchFormat7)
1845+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_exact(BzrBranchFormat8)
1846 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_unset(BranchReferenceFormat)
1847+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_unset(BzrBranchFormat5)
1848+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_unset(BzrBranchFormat6)
1849 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_unset(BzrBranchFormat7)
1850+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_get_push_location_unset(BzrBranchFormat8)
1851 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_set_push_location(BranchReferenceFormat)
1852+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_set_push_location(BzrBranchFormat5)
1853+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_set_push_location(BzrBranchFormat6)
1854 breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_set_push_location(BzrBranchFormat7)
1855+breezy.tests.per_branch.test_branch.TestBranchPushLocations.test_set_push_location(BzrBranchFormat8)
1856 breezy.tests.per_branch.test_branch.TestBranch.test_bad_revision(BranchReferenceFormat)
1857+breezy.tests.per_branch.test_branch.TestBranch.test_bad_revision(BzrBranchFormat5)
1858+breezy.tests.per_branch.test_branch.TestBranch.test_bad_revision(BzrBranchFormat6)
1859 breezy.tests.per_branch.test_branch.TestBranch.test_bad_revision(BzrBranchFormat7)
1860+breezy.tests.per_branch.test_branch.TestBranch.test_bad_revision(BzrBranchFormat8)
1861 breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_nickname(BranchReferenceFormat)
1862 breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_nickname(BzrBranchFormat4)
1863 breezy.tests.per_branch.test_branch.TestBranch.test_clone_branch_nickname(BzrBranchFormat5)
1864@@ -145,7 +188,9 @@
1865 breezy.tests.per_branch.test_branch.TestBranch.test_create_anonymous_lightweight_checkout(BranchReferenceFormat)
1866 breezy.tests.per_branch.test_branch.TestBranch.test_create_append_revisions_only(BranchReferenceFormat)
1867 breezy.tests.per_branch.test_branch.TestBranch.test_create_append_revisions_only(BzrBranchFormat5)
1868+breezy.tests.per_branch.test_branch.TestBranch.test_create_append_revisions_only(BzrBranchFormat6)
1869 breezy.tests.per_branch.test_branch.TestBranch.test_create_append_revisions_only(BzrBranchFormat7)
1870+breezy.tests.per_branch.test_branch.TestBranch.test_create_append_revisions_only(BzrBranchFormat8)
1871 breezy.tests.per_branch.test_branch.TestBranch.test_create_checkout(BranchReferenceFormat)
1872 breezy.tests.per_branch.test_branch.TestBranch.test_create_colocated(BranchReferenceFormat)
1873 breezy.tests.per_branch.test_branch.TestBranch.test_create_colocated(BzrBranchFormat5)
1874@@ -153,82 +198,176 @@
1875 breezy.tests.per_branch.test_branch.TestBranch.test_create_colocated(BzrBranchFormat7)
1876 breezy.tests.per_branch.test_branch.TestBranch.test_create_colocated(BzrBranchFormat8)
1877 breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(BranchReferenceFormat)
1878+breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(BzrBranchFormat5)
1879+breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(BzrBranchFormat6)
1880 breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(BzrBranchFormat7)
1881+breezy.tests.per_branch.test_branch.TestBranch.test_create_open_branch_uses_repository(BzrBranchFormat8)
1882 breezy.tests.per_branch.test_branch.TestBranch.test_create_tree_with_merge(BranchReferenceFormat)
1883 breezy.tests.per_branch.test_branch.TestBranch.test_fetch_revisions(BranchReferenceFormat)
1884 breezy.tests.per_branch.test_branch.TestBranch.test_format_description(BranchReferenceFormat)
1885+breezy.tests.per_branch.test_branch.TestBranch.test_format_description(BzrBranchFormat5)
1886+breezy.tests.per_branch.test_branch.TestBranch.test_format_description(BzrBranchFormat6)
1887 breezy.tests.per_branch.test_branch.TestBranch.test_format_description(BzrBranchFormat7)
1888+breezy.tests.per_branch.test_branch.TestBranch.test_format_description(BzrBranchFormat8)
1889 breezy.tests.per_branch.test_branch.TestBranch.test_generate_revision_history(BranchReferenceFormat)
1890 breezy.tests.per_branch.test_branch.TestBranch.test_generate_revision_history_NULL_REVISION(BranchReferenceFormat)
1891 breezy.tests.per_branch.test_branch.TestBranch.test_get_commit_builder(BranchReferenceFormat)
1892+breezy.tests.per_branch.test_branch.TestBranch.test_get_commit_builder(BzrBranchFormat5)
1893+breezy.tests.per_branch.test_branch.TestBranch.test_get_commit_builder(BzrBranchFormat6)
1894 breezy.tests.per_branch.test_branch.TestBranch.test_get_commit_builder(BzrBranchFormat7)
1895+breezy.tests.per_branch.test_branch.TestBranch.test_get_commit_builder(BzrBranchFormat8)
1896 breezy.tests.per_branch.test_branch.TestBranch.test_get_set_append_revisions_only(BranchReferenceFormat)
1897+breezy.tests.per_branch.test_branch.TestBranch.test_get_set_append_revisions_only(BzrBranchFormat5)
1898+breezy.tests.per_branch.test_branch.TestBranch.test_get_set_append_revisions_only(BzrBranchFormat6)
1899 breezy.tests.per_branch.test_branch.TestBranch.test_get_set_append_revisions_only(BzrBranchFormat7)
1900+breezy.tests.per_branch.test_branch.TestBranch.test_get_set_append_revisions_only(BzrBranchFormat8)
1901 breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch(BranchReferenceFormat)
1902 breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch_not_null_revision(BranchReferenceFormat)
1903+breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch_not_null_revision(BzrBranchFormat5)
1904+breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch_not_null_revision(BzrBranchFormat6)
1905 breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch_not_null_revision(BzrBranchFormat7)
1906+breezy.tests.per_branch.test_branch.TestBranch.test_heads_to_fetch_not_null_revision(BzrBranchFormat8)
1907 breezy.tests.per_branch.test_branch.TestBranch.test_nicks(BranchReferenceFormat)
1908+breezy.tests.per_branch.test_branch.TestBranch.test_nicks(BzrBranchFormat5)
1909+breezy.tests.per_branch.test_branch.TestBranch.test_nicks(BzrBranchFormat6)
1910 breezy.tests.per_branch.test_branch.TestBranch.test_nicks(BzrBranchFormat7)
1911+breezy.tests.per_branch.test_branch.TestBranch.test_nicks(BzrBranchFormat8)
1912 breezy.tests.per_branch.test_branch.TestBranch.test_nicks_bzr(BranchReferenceFormat)
1913+breezy.tests.per_branch.test_branch.TestBranch.test_nicks_bzr(BzrBranchFormat5)
1914+breezy.tests.per_branch.test_branch.TestBranch.test_nicks_bzr(BzrBranchFormat6)
1915 breezy.tests.per_branch.test_branch.TestBranch.test_nicks_bzr(BzrBranchFormat7)
1916+breezy.tests.per_branch.test_branch.TestBranch.test_nicks_bzr(BzrBranchFormat8)
1917 breezy.tests.per_branch.test_branch.TestBranch.test_public_branch(BranchReferenceFormat)
1918+breezy.tests.per_branch.test_branch.TestBranch.test_public_branch(BzrBranchFormat5)
1919+breezy.tests.per_branch.test_branch.TestBranch.test_public_branch(BzrBranchFormat6)
1920 breezy.tests.per_branch.test_branch.TestBranch.test_public_branch(BzrBranchFormat7)
1921+breezy.tests.per_branch.test_branch.TestBranch.test_public_branch(BzrBranchFormat8)
1922 breezy.tests.per_branch.test_branch.TestBranch.test_record_initial_ghost(BranchReferenceFormat)
1923 breezy.tests.per_branch.test_branch.TestBranch.test_record_two_ghosts(BranchReferenceFormat)
1924 breezy.tests.per_branch.test_branch.TestBranch.test_revision_ids_are_utf8(BranchReferenceFormat)
1925 breezy.tests.per_branch.test_branch.TestBranch.test_submit_branch(BranchReferenceFormat)
1926+breezy.tests.per_branch.test_branch.TestBranch.test_submit_branch(BzrBranchFormat5)
1927+breezy.tests.per_branch.test_branch.TestBranch.test_submit_branch(BzrBranchFormat6)
1928 breezy.tests.per_branch.test_branch.TestBranch.test_submit_branch(BzrBranchFormat7)
1929+breezy.tests.per_branch.test_branch.TestBranch.test_submit_branch(BzrBranchFormat8)
1930 breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format(BranchReferenceFormat)
1931+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format(BzrBranchFormat5)
1932+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format(BzrBranchFormat6)
1933 breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format(BzrBranchFormat7)
1934+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format(BzrBranchFormat8)
1935 breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format_default(BranchReferenceFormat)
1936+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format_default(BzrBranchFormat5)
1937+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format_default(BzrBranchFormat6)
1938 breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format_default(BzrBranchFormat7)
1939+breezy.tests.per_branch.test_branch.TestChildSubmitFormats.test_get_child_submit_format_default(BzrBranchFormat8)
1940 breezy.tests.per_branch.test_branch.TestFormat.test_format_initialize_find_open(BranchReferenceFormat)
1941 breezy.tests.per_branch.test_branch.TestFormat.test_get_reference(BranchReferenceFormat)
1942+breezy.tests.per_branch.test_branch.TestFormat.test_get_reference(BzrBranchFormat5)
1943+breezy.tests.per_branch.test_branch.TestFormat.test_get_reference(BzrBranchFormat6)
1944 breezy.tests.per_branch.test_branch.TestFormat.test_get_reference(BzrBranchFormat7)
1945+breezy.tests.per_branch.test_branch.TestFormat.test_get_reference(BzrBranchFormat8)
1946 breezy.tests.per_branch.test_branch.TestFormat.test_set_reference(BranchReferenceFormat)
1947+breezy.tests.per_branch.test_branch.TestFormat.test_set_reference(BzrBranchFormat5)
1948+breezy.tests.per_branch.test_branch.TestFormat.test_set_reference(BzrBranchFormat6)
1949 breezy.tests.per_branch.test_branch.TestFormat.test_set_reference(BzrBranchFormat7)
1950+breezy.tests.per_branch.test_branch.TestFormat.test_set_reference(BzrBranchFormat8)
1951 breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_are_opened(BranchReferenceFormat)
1952+breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_are_opened(BzrBranchFormat5)
1953+breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_are_opened(BzrBranchFormat6)
1954 breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_not_opened(BranchReferenceFormat)
1955+breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_not_opened(BzrBranchFormat5)
1956+breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_not_opened(BzrBranchFormat6)
1957 breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_not_opened(BzrBranchFormat7)
1958+breezy.tests.per_branch.test_branch.TestIgnoreFallbacksParameter.test_fallbacks_not_opened(BzrBranchFormat8)
1959 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_branch_relative_reference_location(BranchReferenceFormat)
1960+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_branch_relative_reference_location(BzrBranchFormat5)
1961+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_branch_relative_reference_location(BzrBranchFormat6)
1962 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_branch_relative_reference_location(BzrBranchFormat7)
1963+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_branch_relative_reference_location(BzrBranchFormat8)
1964 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_clone_copies_reference_location(BranchReferenceFormat)
1965+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_clone_copies_reference_location(BzrBranchFormat5)
1966+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_clone_copies_reference_location(BzrBranchFormat6)
1967 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_clone_copies_reference_location(BzrBranchFormat7)
1968 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_copied_locations_are_rebased(BranchReferenceFormat)
1969+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_copied_locations_are_rebased(BzrBranchFormat5)
1970+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_copied_locations_are_rebased(BzrBranchFormat6)
1971 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_copied_locations_are_rebased(BzrBranchFormat7)
1972 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_get_reference_info(BranchReferenceFormat)
1973+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_get_reference_info(BzrBranchFormat5)
1974+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_get_reference_info(BzrBranchFormat6)
1975 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_get_reference_info(BzrBranchFormat7)
1976+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_get_reference_info(BzrBranchFormat8)
1977 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_merge_updates_references(BranchReferenceFormat)
1978+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_merge_updates_references(BzrBranchFormat5)
1979+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_merge_updates_references(BzrBranchFormat6)
1980 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_merge_updates_references(BzrBranchFormat7)
1981 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_pull_updates_references(BranchReferenceFormat)
1982+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_pull_updates_references(BzrBranchFormat5)
1983+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_pull_updates_references(BzrBranchFormat6)
1984 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_pull_updates_references(BzrBranchFormat7)
1985 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_push_updates_references(BranchReferenceFormat)
1986+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_push_updates_references(BzrBranchFormat5)
1987+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_push_updates_references(BzrBranchFormat6)
1988 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_push_updates_references(BzrBranchFormat7)
1989 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_accepts_possible_transports(BranchReferenceFormat)
1990+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_accepts_possible_transports(BzrBranchFormat5)
1991+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_accepts_possible_transports(BzrBranchFormat6)
1992 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_accepts_possible_transports(BzrBranchFormat7)
1993+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_accepts_possible_transports(BzrBranchFormat8)
1994 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent(BranchReferenceFormat)
1995+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent(BzrBranchFormat5)
1996+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent(BzrBranchFormat6)
1997 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent(BzrBranchFormat7)
1998+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent(BzrBranchFormat8)
1999 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_from_reference_info_(BranchReferenceFormat)
2000+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_from_reference_info_(BzrBranchFormat5)
2001+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_from_reference_info_(BzrBranchFormat6)
2002 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_from_reference_info_(BzrBranchFormat7)
2003+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_reference_parent_from_reference_info_(BzrBranchFormat8)
2004 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_get_reference_info(BranchReferenceFormat)
2005+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_get_reference_info(BzrBranchFormat5)
2006+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_get_reference_info(BzrBranchFormat6)
2007 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_get_reference_info(BzrBranchFormat7)
2008+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_get_reference_info(BzrBranchFormat8)
2009 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info(BranchReferenceFormat)
2010+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info(BzrBranchFormat5)
2011+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info(BzrBranchFormat6)
2012 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info(BzrBranchFormat7)
2013+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info(BzrBranchFormat8)
2014 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info_when_null(BranchReferenceFormat)
2015+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info_when_null(BzrBranchFormat5)
2016+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info_when_null(BzrBranchFormat6)
2017 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info_when_null(BzrBranchFormat7)
2018+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_reference_info_when_null(BzrBranchFormat8)
2019 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_requires_two_nones(BranchReferenceFormat)
2020+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_requires_two_nones(BzrBranchFormat5)
2021+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_requires_two_nones(BzrBranchFormat6)
2022 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_requires_two_nones(BzrBranchFormat7)
2023+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_null_requires_two_nones(BzrBranchFormat8)
2024 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_reference_info(BranchReferenceFormat)
2025+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_reference_info(BzrBranchFormat5)
2026+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_reference_info(BzrBranchFormat6)
2027 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_reference_info(BzrBranchFormat7)
2028+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_set_reference_info(BzrBranchFormat8)
2029 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_sprout_copies_reference_location(BranchReferenceFormat)
2030+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_sprout_copies_reference_location(BzrBranchFormat5)
2031+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_sprout_copies_reference_location(BzrBranchFormat6)
2032 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_sprout_copies_reference_location(BzrBranchFormat7)
2033 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_known_references(BranchReferenceFormat)
2034+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_known_references(BzrBranchFormat5)
2035+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_known_references(BzrBranchFormat6)
2036 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_known_references(BzrBranchFormat7)
2037+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_known_references(BzrBranchFormat8)
2038 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_old_references(BranchReferenceFormat)
2039+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_old_references(BzrBranchFormat5)
2040+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_old_references(BzrBranchFormat6)
2041 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_retains_old_references(BzrBranchFormat7)
2042 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_skips_known_references(BranchReferenceFormat)
2043+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_skips_known_references(BzrBranchFormat5)
2044+breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_skips_known_references(BzrBranchFormat6)
2045 breezy.tests.per_branch.test_branch.TestReferenceLocation.test_update_references_skips_known_references(BzrBranchFormat7)
2046 breezy.tests.per_branch.test_branch.TestStrict.test_strict_history(BranchReferenceFormat)
2047+breezy.tests.per_branch.test_branch.TestStrict.test_strict_history(BzrBranchFormat5)
2048 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(BranchReferenceFormat)
2049 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(BzrBranchFormat4)
2050 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(BzrBranchFormat5)
2051@@ -238,7 +377,10 @@
2052 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(RemoteBranchFormat-default)
2053 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(RemoteBranchFormat-v2)
2054 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_make_branch_gets_expected_format(BranchReferenceFormat)
2055+breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_make_branch_gets_expected_format(BzrBranchFormat5)
2056+breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_make_branch_gets_expected_format(BzrBranchFormat6)
2057 breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_make_branch_gets_expected_format(BzrBranchFormat7)
2058+breezy.tests.per_branch.test_branch.TestTestCaseWithBranch.test_make_branch_gets_expected_format(BzrBranchFormat8)
2059 breezy.tests.per_branch.test_branch.TestUncommittedChanges.test_get_unshelver_bound(BranchReferenceFormat)
2060 breezy.tests.per_branch.test_branch.TestUncommittedChanges.test_get_unshelver(BranchReferenceFormat)
2061 breezy.tests.per_branch.test_branch.TestUncommittedChanges.test_store_uncommitted_already_stored(BranchReferenceFormat)
2062@@ -246,15 +388,29 @@
2063 breezy.tests.per_branch.test_branch.TestUncommittedChanges.test_store_uncommitted(BranchReferenceFormat)
2064 breezy.tests.per_branch.test_branch.TestUncommittedChanges.test_store_uncommitted_none(BranchReferenceFormat)
2065 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_locked(BranchReferenceFormat)
2066+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_locked(BzrBranchFormat5)
2067+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_locked(BzrBranchFormat6)
2068 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_locked(BzrBranchFormat7)
2069+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_locked(BzrBranchFormat8)
2070 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked(BranchReferenceFormat)
2071+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked(BzrBranchFormat5)
2072+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked(BzrBranchFormat6)
2073 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked(BzrBranchFormat7)
2074+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked(BzrBranchFormat8)
2075 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked_repo_locked(BranchReferenceFormat)
2076+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked_repo_locked(BzrBranchFormat5)
2077+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked_repo_locked(BzrBranchFormat6)
2078 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked_repo_locked(BzrBranchFormat7)
2079+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocked_repo_locked(BzrBranchFormat8)
2080 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocks_master_branch(BranchReferenceFormat)
2081+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocks_master_branch(BzrBranchFormat6)
2082 breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocks_master_branch(BzrBranchFormat7)
2083+breezy.tests.per_branch.test_break_lock.TestBreakLock.test_unlocks_master_branch(BzrBranchFormat8)
2084 breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(BranchReferenceFormat)
2085+breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(BzrBranchFormat5)
2086+breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(BzrBranchFormat6)
2087 breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(BzrBranchFormat7)
2088+breezy.tests.per_branch.test_check.TestBranchCheck.test_check_branch_report_results(BzrBranchFormat8)
2089 breezy.tests.per_branch.test_check.TestBranchCheck.test_check_detects_invalid_revhistory(BranchReferenceFormat)
2090 breezy.tests.per_branch.test_check.TestBranchCheck.test__get_check_refs(BranchReferenceFormat)
2091 breezy.tests.per_branch.test_commit.TestCommitHook.test_post_commit_bound(BranchReferenceFormat)
2092@@ -265,9 +421,15 @@
2093 breezy.tests.per_branch.test_commit.TestCommitHook.test_pre_commit_passes(BranchReferenceFormat)
2094 breezy.tests.per_branch.test_commit.TestCommit.test_commit_nicks(BranchReferenceFormat)
2095 breezy.tests.per_branch.test_config.TestGetConfig.test_set_submit_branch(BranchReferenceFormat)
2096+breezy.tests.per_branch.test_config.TestGetConfig.test_set_submit_branch(BzrBranchFormat5)
2097+breezy.tests.per_branch.test_config.TestGetConfig.test_set_submit_branch(BzrBranchFormat6)
2098 breezy.tests.per_branch.test_config.TestGetConfig.test_set_submit_branch(BzrBranchFormat7)
2099+breezy.tests.per_branch.test_config.TestGetConfig.test_set_submit_branch(BzrBranchFormat8)
2100 breezy.tests.per_branch.test_config.TestGetConfig.test_set_user_option_with_dict(BranchReferenceFormat)
2101+breezy.tests.per_branch.test_config.TestGetConfig.test_set_user_option_with_dict(BzrBranchFormat5)
2102+breezy.tests.per_branch.test_config.TestGetConfig.test_set_user_option_with_dict(BzrBranchFormat6)
2103 breezy.tests.per_branch.test_config.TestGetConfig.test_set_user_option_with_dict(BzrBranchFormat7)
2104+breezy.tests.per_branch.test_config.TestGetConfig.test_set_user_option_with_dict(BzrBranchFormat8)
2105 breezy.tests.per_branch.test_create_checkout.TestCreateCheckout.test_checkout_format_heavyweight(BranchReferenceFormat)
2106 breezy.tests.per_branch.test_create_checkout.TestCreateCheckout.test_checkout_format_lightweight(BranchReferenceFormat)
2107 breezy.tests.per_branch.test_create_checkout.TestCreateCheckout.test_create_checkout_exists(BranchReferenceFormat)
2108@@ -371,53 +533,125 @@
2109 breezy.tests.per_branch.test_last_revision_info.TestLastRevisionInfo.test_empty_branch(BzrBranchFormat7)
2110 breezy.tests.per_branch.test_last_revision_info.TestLastRevisionInfo.test_empty_branch(BzrBranchFormat8)
2111 breezy.tests.per_branch.test_locking.TestBranchLocking.test_01_lock_read(BranchReferenceFormat)
2112+breezy.tests.per_branch.test_locking.TestBranchLocking.test_01_lock_read(BzrBranchFormat5)
2113+breezy.tests.per_branch.test_locking.TestBranchLocking.test_01_lock_read(BzrBranchFormat6)
2114 breezy.tests.per_branch.test_locking.TestBranchLocking.test_01_lock_read(BzrBranchFormat7)
2115+breezy.tests.per_branch.test_locking.TestBranchLocking.test_01_lock_read(BzrBranchFormat8)
2116 breezy.tests.per_branch.test_locking.TestBranchLocking.test_02_lock_write(BranchReferenceFormat)
2117+breezy.tests.per_branch.test_locking.TestBranchLocking.test_02_lock_write(BzrBranchFormat5)
2118+breezy.tests.per_branch.test_locking.TestBranchLocking.test_02_lock_write(BzrBranchFormat6)
2119 breezy.tests.per_branch.test_locking.TestBranchLocking.test_02_lock_write(BzrBranchFormat7)
2120+breezy.tests.per_branch.test_locking.TestBranchLocking.test_02_lock_write(BzrBranchFormat8)
2121 breezy.tests.per_branch.test_locking.TestBranchLocking.test_03_lock_fail_unlock_repo(BranchReferenceFormat)
2122+breezy.tests.per_branch.test_locking.TestBranchLocking.test_03_lock_fail_unlock_repo(BzrBranchFormat5)
2123+breezy.tests.per_branch.test_locking.TestBranchLocking.test_03_lock_fail_unlock_repo(BzrBranchFormat6)
2124 breezy.tests.per_branch.test_locking.TestBranchLocking.test_03_lock_fail_unlock_repo(BzrBranchFormat7)
2125+breezy.tests.per_branch.test_locking.TestBranchLocking.test_03_lock_fail_unlock_repo(BzrBranchFormat8)
2126 breezy.tests.per_branch.test_locking.TestBranchLocking.test_04_lock_fail_unlock_control(BranchReferenceFormat)
2127+breezy.tests.per_branch.test_locking.TestBranchLocking.test_04_lock_fail_unlock_control(BzrBranchFormat5)
2128+breezy.tests.per_branch.test_locking.TestBranchLocking.test_04_lock_fail_unlock_control(BzrBranchFormat6)
2129 breezy.tests.per_branch.test_locking.TestBranchLocking.test_04_lock_fail_unlock_control(BzrBranchFormat7)
2130+breezy.tests.per_branch.test_locking.TestBranchLocking.test_04_lock_fail_unlock_control(BzrBranchFormat8)
2131 breezy.tests.per_branch.test_locking.TestBranchLocking.test_05_lock_read_fail_repo(BranchReferenceFormat)
2132+breezy.tests.per_branch.test_locking.TestBranchLocking.test_05_lock_read_fail_repo(BzrBranchFormat5)
2133+breezy.tests.per_branch.test_locking.TestBranchLocking.test_05_lock_read_fail_repo(BzrBranchFormat6)
2134 breezy.tests.per_branch.test_locking.TestBranchLocking.test_05_lock_read_fail_repo(BzrBranchFormat7)
2135+breezy.tests.per_branch.test_locking.TestBranchLocking.test_05_lock_read_fail_repo(BzrBranchFormat8)
2136 breezy.tests.per_branch.test_locking.TestBranchLocking.test_06_lock_write_fail_repo(BranchReferenceFormat)
2137+breezy.tests.per_branch.test_locking.TestBranchLocking.test_06_lock_write_fail_repo(BzrBranchFormat5)
2138+breezy.tests.per_branch.test_locking.TestBranchLocking.test_06_lock_write_fail_repo(BzrBranchFormat6)
2139 breezy.tests.per_branch.test_locking.TestBranchLocking.test_06_lock_write_fail_repo(BzrBranchFormat7)
2140+breezy.tests.per_branch.test_locking.TestBranchLocking.test_06_lock_write_fail_repo(BzrBranchFormat8)
2141 breezy.tests.per_branch.test_locking.TestBranchLocking.test_07_lock_read_fail_control(BranchReferenceFormat)
2142+breezy.tests.per_branch.test_locking.TestBranchLocking.test_07_lock_read_fail_control(BzrBranchFormat5)
2143+breezy.tests.per_branch.test_locking.TestBranchLocking.test_07_lock_read_fail_control(BzrBranchFormat6)
2144 breezy.tests.per_branch.test_locking.TestBranchLocking.test_07_lock_read_fail_control(BzrBranchFormat7)
2145+breezy.tests.per_branch.test_locking.TestBranchLocking.test_07_lock_read_fail_control(BzrBranchFormat8)
2146 breezy.tests.per_branch.test_locking.TestBranchLocking.test_08_lock_write_fail_control(BranchReferenceFormat)
2147+breezy.tests.per_branch.test_locking.TestBranchLocking.test_08_lock_write_fail_control(BzrBranchFormat5)
2148+breezy.tests.per_branch.test_locking.TestBranchLocking.test_08_lock_write_fail_control(BzrBranchFormat6)
2149 breezy.tests.per_branch.test_locking.TestBranchLocking.test_08_lock_write_fail_control(BzrBranchFormat7)
2150+breezy.tests.per_branch.test_locking.TestBranchLocking.test_08_lock_write_fail_control(BzrBranchFormat8)
2151 breezy.tests.per_branch.test_locking.TestBranchLocking.test_dont_leave_lock_in_place(BranchReferenceFormat)
2152+breezy.tests.per_branch.test_locking.TestBranchLocking.test_dont_leave_lock_in_place(BzrBranchFormat5)
2153+breezy.tests.per_branch.test_locking.TestBranchLocking.test_dont_leave_lock_in_place(BzrBranchFormat6)
2154 breezy.tests.per_branch.test_locking.TestBranchLocking.test_dont_leave_lock_in_place(BzrBranchFormat7)
2155+breezy.tests.per_branch.test_locking.TestBranchLocking.test_dont_leave_lock_in_place(BzrBranchFormat8)
2156 breezy.tests.per_branch.test_locking.TestBranchLocking.test_leave_lock_in_place(BranchReferenceFormat)
2157+breezy.tests.per_branch.test_locking.TestBranchLocking.test_leave_lock_in_place(BzrBranchFormat5)
2158+breezy.tests.per_branch.test_locking.TestBranchLocking.test_leave_lock_in_place(BzrBranchFormat6)
2159 breezy.tests.per_branch.test_locking.TestBranchLocking.test_leave_lock_in_place(BzrBranchFormat7)
2160+breezy.tests.per_branch.test_locking.TestBranchLocking.test_leave_lock_in_place(BzrBranchFormat8)
2161 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_and_unlock_leaves_repo_unlocked(BranchReferenceFormat)
2162+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_and_unlock_leaves_repo_unlocked(BzrBranchFormat5)
2163+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_and_unlock_leaves_repo_unlocked(BzrBranchFormat6)
2164 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_and_unlock_leaves_repo_unlocked(BzrBranchFormat7)
2165+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_and_unlock_leaves_repo_unlocked(BzrBranchFormat8)
2166 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_context_manager(BranchReferenceFormat)
2167+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_context_manager(BzrBranchFormat5)
2168+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_context_manager(BzrBranchFormat6)
2169 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_context_manager(BzrBranchFormat7)
2170+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_context_manager(BzrBranchFormat8)
2171 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_returns_unlockable(BranchReferenceFormat)
2172+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_returns_unlockable(BzrBranchFormat5)
2173+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_returns_unlockable(BzrBranchFormat6)
2174 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_returns_unlockable(BzrBranchFormat7)
2175+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_returns_unlockable(BzrBranchFormat8)
2176 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_then_unlock(BranchReferenceFormat)
2177+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_then_unlock(BzrBranchFormat5)
2178+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_then_unlock(BzrBranchFormat6)
2179 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_then_unlock(BzrBranchFormat7)
2180+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_read_then_unlock(BzrBranchFormat8)
2181 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_locks_repo_too(BranchReferenceFormat)
2182+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_locks_repo_too(BzrBranchFormat5)
2183+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_locks_repo_too(BzrBranchFormat6)
2184 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_locks_repo_too(BzrBranchFormat7)
2185+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_locks_repo_too(BzrBranchFormat8)
2186 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_raises_in_lock_read(BranchReferenceFormat)
2187+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_raises_in_lock_read(BzrBranchFormat5)
2188+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_raises_in_lock_read(BzrBranchFormat6)
2189 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_raises_in_lock_read(BzrBranchFormat7)
2190+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_raises_in_lock_read(BzrBranchFormat8)
2191 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_reenter_with_token(BranchReferenceFormat)
2192+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_reenter_with_token(BzrBranchFormat5)
2193+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_reenter_with_token(BzrBranchFormat6)
2194 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_reenter_with_token(BzrBranchFormat7)
2195+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_reenter_with_token(BzrBranchFormat8)
2196 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_None_refuses_token(BranchReferenceFormat)
2197+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_None_refuses_token(BzrBranchFormat5)
2198+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_None_refuses_token(BzrBranchFormat6)
2199 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_None_refuses_token(BzrBranchFormat7)
2200+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_None_refuses_token(BzrBranchFormat8)
2201 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_unlockable(BranchReferenceFormat)
2202+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_unlockable(BzrBranchFormat5)
2203+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_unlockable(BzrBranchFormat6)
2204 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_unlockable(BzrBranchFormat7)
2205+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_returns_unlockable(BzrBranchFormat8)
2206 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_matching_token(BranchReferenceFormat)
2207+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_matching_token(BzrBranchFormat5)
2208+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_matching_token(BzrBranchFormat6)
2209 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_matching_token(BzrBranchFormat7)
2210+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_matching_token(BzrBranchFormat8)
2211 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_nonmatching_token(BranchReferenceFormat)
2212+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_nonmatching_token(BzrBranchFormat5)
2213+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_nonmatching_token(BzrBranchFormat6)
2214 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_nonmatching_token(BzrBranchFormat7)
2215+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_nonmatching_token(BzrBranchFormat8)
2216 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_token_fails_when_unlocked(BranchReferenceFormat)
2217+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_token_fails_when_unlocked(BzrBranchFormat5)
2218+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_token_fails_when_unlocked(BzrBranchFormat6)
2219 breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_token_fails_when_unlocked(BzrBranchFormat7)
2220+breezy.tests.per_branch.test_locking.TestBranchLocking.test_lock_write_with_token_fails_when_unlocked(BzrBranchFormat8)
2221 breezy.tests.per_branch.test_locking.TestBranchLocking.test_reentering_lock_write_raises_on_token_mismatch(BranchReferenceFormat)
2222+breezy.tests.per_branch.test_locking.TestBranchLocking.test_reentering_lock_write_raises_on_token_mismatch(BzrBranchFormat5)
2223+breezy.tests.per_branch.test_locking.TestBranchLocking.test_reentering_lock_write_raises_on_token_mismatch(BzrBranchFormat6)
2224 breezy.tests.per_branch.test_locking.TestBranchLocking.test_reentering_lock_write_raises_on_token_mismatch(BzrBranchFormat7)
2225+breezy.tests.per_branch.test_locking.TestBranchLocking.test_reentering_lock_write_raises_on_token_mismatch(BzrBranchFormat8)
2226 breezy.tests.per_branch.test_locking.TestBranchLocking.test_unlock_after_lock_write_with_token(BranchReferenceFormat)
2227+breezy.tests.per_branch.test_locking.TestBranchLocking.test_unlock_after_lock_write_with_token(BzrBranchFormat5)
2228+breezy.tests.per_branch.test_locking.TestBranchLocking.test_unlock_after_lock_write_with_token(BzrBranchFormat6)
2229 breezy.tests.per_branch.test_locking.TestBranchLocking.test_unlock_after_lock_write_with_token(BzrBranchFormat7)
2230+breezy.tests.per_branch.test_locking.TestBranchLocking.test_unlock_after_lock_write_with_token(BzrBranchFormat8)
2231 breezy.tests.per_branch.test_parent.TestParent.test_get_invalid_parent(BranchReferenceFormat)
2232 breezy.tests.per_branch.test_parent.TestParent.test_get_invalid_parent(BzrBranchFormat4)
2233 breezy.tests.per_branch.test_parent.TestParent.test_get_invalid_parent(BzrBranchFormat5)
2234@@ -464,6 +698,7 @@
2235 breezy.tests.per_branch.test_permissions.TestPermissions.test_new_branch(RemoteBranchFormat-v2)
2236 breezy.tests.per_branch.test_pull.TestPullHook.test_post_pull_bound_branch(BranchReferenceFormat)
2237 breezy.tests.per_branch.test_pull.TestPullHook.test_post_pull_empty_history(BranchReferenceFormat)
2238+breezy.tests.per_branch.test_pull.TestPullHook.test_post_pull_empty_history(BzrBranchFormat5)
2239 breezy.tests.per_branch.test_pull.TestPullHook.test_post_pull_nonempty_history(BranchReferenceFormat)
2240 breezy.tests.per_branch.test_pull.TestPull.test_pull_convergence_simple(BranchReferenceFormat)
2241 breezy.tests.per_branch.test_pull.TestPull.test_pull_local_raises_LocalRequiresBoundBranch_on_unbound(BranchReferenceFormat)
2242@@ -481,9 +716,13 @@
2243 breezy.tests.per_branch.test_push.EmptyPushSmartEffortTests.test_empty_branch_command(RemoteBranchFormat-default)
2244 breezy.tests.per_branch.test_push.EmptyPushSmartEffortTests.test_empty_branch_command(RemoteBranchFormat-v2)
2245 breezy.tests.per_branch.test_push.TestLossyPush.test_lossy_push_raises_same_vcs(BranchReferenceFormat)
2246+breezy.tests.per_branch.test_push.TestLossyPush.test_lossy_push_raises_same_vcs(BzrBranchFormat5)
2247+breezy.tests.per_branch.test_push.TestLossyPush.test_lossy_push_raises_same_vcs(BzrBranchFormat6)
2248 breezy.tests.per_branch.test_push.TestLossyPush.test_lossy_push_raises_same_vcs(BzrBranchFormat7)
2249+breezy.tests.per_branch.test_push.TestLossyPush.test_lossy_push_raises_same_vcs(BzrBranchFormat8)
2250 breezy.tests.per_branch.test_push.TestPushHook.test_post_push_bound_branch(BranchReferenceFormat)
2251 breezy.tests.per_branch.test_push.TestPushHook.test_post_push_empty_history(BranchReferenceFormat)
2252+breezy.tests.per_branch.test_push.TestPushHook.test_post_push_empty_history(BzrBranchFormat5)
2253 breezy.tests.per_branch.test_push.TestPushHook.test_post_push_nonempty_history(BranchReferenceFormat)
2254 breezy.tests.per_branch.test_push.TestPush.test_push_convergence_simple(BranchReferenceFormat)
2255 breezy.tests.per_branch.test_push.TestPush.test_push_merged_indirect(BranchReferenceFormat)
2256@@ -507,9 +746,15 @@
2257 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_fixes_invalid_revhistory(RemoteBranchFormat-v2)
2258 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_handles_ghosts_in_revhistory(BranchReferenceFormat)
2259 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_returns_reconciler(BranchReferenceFormat)
2260+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_returns_reconciler(BzrBranchFormat5)
2261+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_returns_reconciler(BzrBranchFormat6)
2262 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_returns_reconciler(BzrBranchFormat7)
2263+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_returns_reconciler(BzrBranchFormat8)
2264 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BranchReferenceFormat)
2265+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BzrBranchFormat5)
2266+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BzrBranchFormat6)
2267 breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BzrBranchFormat7)
2268+breezy.tests.per_branch.test_reconcile.TestBranchReconcile.test_reconcile_supports_thorough(BzrBranchFormat8)
2269 breezy.tests.per_branch.test_revision_id_to_dotted_revno.TestRevisionIdToDottedRevno.test_lookup_dotted_revno(BranchReferenceFormat)
2270 breezy.tests.per_branch.test_revision_id_to_revno.TestRevisionIdToRevno.test_empty(BranchReferenceFormat)
2271 breezy.tests.per_branch.test_revision_id_to_revno.TestRevisionIdToRevno.test_mainline_ghost(BranchReferenceFormat)
2272@@ -548,6 +793,8 @@
2273 breezy.tests.per_branch.test_stacking.TestStackingConnections.test_open_stacked(RemoteBranchFormat-default)
2274 breezy.tests.per_branch.test_stacking.TestStackingConnections.test_open_stacked(RemoteBranchFormat-v2)
2275 breezy.tests.per_branch.test_stacking.TestStacking.test_autopack_when_stacked(BranchReferenceFormat)
2276+breezy.tests.per_branch.test_stacking.TestStacking.test_autopack_when_stacked(BzrBranchFormat5)
2277+breezy.tests.per_branch.test_stacking.TestStacking.test_autopack_when_stacked(BzrBranchFormat6)
2278 breezy.tests.per_branch.test_stacking.TestStacking.test_clone_from_branch_stacked_on_relative_url_preserve_stacking(BranchReferenceFormat)
2279 breezy.tests.per_branch.test_stacking.TestStacking.test_clone_from_stacked_branch_no_preserve_stacking(BranchReferenceFormat)
2280 breezy.tests.per_branch.test_stacking.TestStacking.test_clone_from_stacked_branch_preserve_stacking(BranchReferenceFormat)
2281@@ -558,7 +805,11 @@
2282 breezy.tests.per_branch.test_stacking.TestStacking.test_fetch_revisions_with_file_changes(BranchReferenceFormat)
2283 breezy.tests.per_branch.test_stacking.TestStacking.test_get_graph_stacked(BranchReferenceFormat)
2284 breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_relative(BranchReferenceFormat)
2285+breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_relative(BzrBranchFormat5)
2286+breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_relative(BzrBranchFormat6)
2287 breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_url(BranchReferenceFormat)
2288+breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_url(BzrBranchFormat5)
2289+breezy.tests.per_branch.test_stacking.TestStacking.test_get_set_stacked_on_url(BzrBranchFormat6)
2290 breezy.tests.per_branch.test_stacking.TestStacking.test_no_op_preserve_stacking(BranchReferenceFormat)
2291 breezy.tests.per_branch.test_stacking.TestStacking.test_pull_delta_when_stacked(BranchReferenceFormat)
2292 breezy.tests.per_branch.test_stacking.TestStacking.test_pull_delta_when_stacked(BzrBranchFormat4)
2293@@ -566,8 +817,13 @@
2294 breezy.tests.per_branch.test_stacking.TestStacking.test_pull_delta_when_stacked(BzrBranchFormat6)
2295 breezy.tests.per_branch.test_stacking.TestStacking.test_revision_history_of_stacked(BranchReferenceFormat)
2296 breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_after_being_stacked_raises(BranchReferenceFormat)
2297+breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_after_being_stacked_raises(BzrBranchFormat5)
2298+breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_after_being_stacked_raises(BzrBranchFormat6)
2299 breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_raises(BranchReferenceFormat)
2300+breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_raises(BzrBranchFormat5)
2301+breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_raises(BzrBranchFormat6)
2302 breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_raises(BzrBranchFormat7)
2303+breezy.tests.per_branch.test_stacking.TestStacking.test_set_stacked_on_same_branch_raises(BzrBranchFormat8)
2304 breezy.tests.per_branch.test_stacking.TestStacking.test_sprout_stacked(BranchReferenceFormat)
2305 breezy.tests.per_branch.test_stacking.TestStacking.test_sprout_stacked_from_smart_server(BranchReferenceFormat)
2306 breezy.tests.per_branch.test_stacking.TestStacking.test_sprout_stacking_policy_handling(BranchReferenceFormat)
2307@@ -578,6 +834,8 @@
2308 breezy.tests.per_branch.test_stacking.TestStacking.test_sprout_to_smart_server_stacking_policy_handling(RemoteBranchFormat-v2)
2309 breezy.tests.per_branch.test_stacking.TestStacking.test_stack_on_repository_branch(BranchReferenceFormat)
2310 breezy.tests.per_branch.test_stacking.TestStacking.test_transform_fallback_location_hook(BranchReferenceFormat)
2311+breezy.tests.per_branch.test_stacking.TestStacking.test_transform_fallback_location_hook(BzrBranchFormat5)
2312+breezy.tests.per_branch.test_stacking.TestStacking.test_transform_fallback_location_hook(BzrBranchFormat6)
2313 breezy.tests.per_branch.test_stacking.TestStacking.test_unstack_already_locked(BranchReferenceFormat)
2314 breezy.tests.per_branch.test_stacking.TestStacking.test_unstack_already_multiple_locked(BranchReferenceFormat)
2315 breezy.tests.per_branch.test_stacking.TestStacking.test_unstack_fetches(BranchReferenceFormat)
2316@@ -586,33 +844,63 @@
2317 breezy.tests.per_branch.test_tags.AutomaticTagNameTests.test_returns_tag_name(BranchReferenceFormat)
2318 breezy.tests.per_branch.test_tags.AutomaticTagNameTests.test_uses_first_return(BranchReferenceFormat)
2319 breezy.tests.per_branch.test_tags.TestBranchTags.test_cached_tag_dict_not_accidentally_mutable(BranchReferenceFormat)
2320+breezy.tests.per_branch.test_tags.TestBranchTags.test_cached_tag_dict_not_accidentally_mutable(BzrBranchFormat5)
2321 breezy.tests.per_branch.test_tags.TestBranchTags.test_delete_tag(BranchReferenceFormat)
2322+breezy.tests.per_branch.test_tags.TestBranchTags.test_delete_tag(BzrBranchFormat5)
2323 breezy.tests.per_branch.test_tags.TestBranchTags.test_delete_tag_invalides_cache(BranchReferenceFormat)
2324+breezy.tests.per_branch.test_tags.TestBranchTags.test_delete_tag_invalides_cache(BzrBranchFormat5)
2325 breezy.tests.per_branch.test_tags.TestBranchTags.test_ghost_tag(BranchReferenceFormat)
2326+breezy.tests.per_branch.test_tags.TestBranchTags.test_ghost_tag(BzrBranchFormat5)
2327 breezy.tests.per_branch.test_tags.TestBranchTags.test_make_and_lookup_tag(BranchReferenceFormat)
2328+breezy.tests.per_branch.test_tags.TestBranchTags.test_make_and_lookup_tag(BzrBranchFormat5)
2329 breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_empty_tags(BranchReferenceFormat)
2330+breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_empty_tags(BzrBranchFormat5)
2331 breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_tags(BranchReferenceFormat)
2332+breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_tags(BzrBranchFormat5)
2333 breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_to_invalides_cache(BranchReferenceFormat)
2334+breezy.tests.per_branch.test_tags.TestBranchTags.test_merge_to_invalides_cache(BzrBranchFormat5)
2335 breezy.tests.per_branch.test_tags.TestBranchTags.test_no_such_tag(BranchReferenceFormat)
2336+breezy.tests.per_branch.test_tags.TestBranchTags.test_no_such_tag(BzrBranchFormat5)
2337 breezy.tests.per_branch.test_tags.TestBranchTags.test_read_lock_caches_tags(BranchReferenceFormat)
2338+breezy.tests.per_branch.test_tags.TestBranchTags.test_read_lock_caches_tags(BzrBranchFormat5)
2339 breezy.tests.per_branch.test_tags.TestBranchTags.test_rename_revisions_invalides_cache(BranchReferenceFormat)
2340+breezy.tests.per_branch.test_tags.TestBranchTags.test_rename_revisions_invalides_cache(BzrBranchFormat5)
2341 breezy.tests.per_branch.test_tags.TestBranchTags.test_reverse_tag_dict(BranchReferenceFormat)
2342+breezy.tests.per_branch.test_tags.TestBranchTags.test_reverse_tag_dict(BzrBranchFormat5)
2343 breezy.tests.per_branch.test_tags.TestBranchTags.test_set_tag_invalides_cache(BranchReferenceFormat)
2344+breezy.tests.per_branch.test_tags.TestBranchTags.test_set_tag_invalides_cache(BzrBranchFormat5)
2345 breezy.tests.per_branch.test_tags.TestBranchTags.test_tags_initially_empty(BranchReferenceFormat)
2346+breezy.tests.per_branch.test_tags.TestBranchTags.test_tags_initially_empty(BzrBranchFormat5)
2347 breezy.tests.per_branch.test_tags.TestBranchTags.test_unicode_tag(BranchReferenceFormat)
2348+breezy.tests.per_branch.test_tags.TestBranchTags.test_unicode_tag(BzrBranchFormat5)
2349 breezy.tests.per_branch.test_tags.TestBranchTags.test_unlocked_does_not_cache_tags(BranchReferenceFormat)
2350+breezy.tests.per_branch.test_tags.TestBranchTags.test_unlocked_does_not_cache_tags(BzrBranchFormat5)
2351 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_ignore_master_disables_tag_propagation(BranchReferenceFormat)
2352+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_ignore_master_disables_tag_propagation(BzrBranchFormat5)
2353 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_conflict_in_child_only(BranchReferenceFormat)
2354+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_conflict_in_child_only(BzrBranchFormat5)
2355 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_conflict_in_master_only(BranchReferenceFormat)
2356+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_conflict_in_master_only(BzrBranchFormat5)
2357 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_different_conflict_in_master_and_child(BranchReferenceFormat)
2358+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_different_conflict_in_master_and_child(BzrBranchFormat5)
2359 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_overwrite_conflict_in_child_and_master(BranchReferenceFormat)
2360+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_overwrite_conflict_in_child_and_master(BzrBranchFormat5)
2361 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_overwrite_conflict_in_master(BranchReferenceFormat)
2362+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_overwrite_conflict_in_master(BzrBranchFormat5)
2363 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_propagates_tags(BranchReferenceFormat)
2364+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_propagates_tags(BzrBranchFormat5)
2365 breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_same_conflict_in_master_and_child(BranchReferenceFormat)
2366+breezy.tests.per_branch.test_tags.TestTagsMergeToInCheckouts.test_merge_to_same_conflict_in_master_and_child(BzrBranchFormat5)
2367 breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_merge_empty_tags(BranchReferenceFormat)
2368+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_merge_empty_tags(BzrBranchFormat5)
2369+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_merge_empty_tags(BzrBranchFormat6)
2370 breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_merge_empty_tags(BzrBranchFormat7)
2371+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_merge_empty_tags(BzrBranchFormat8)
2372 breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_tag_methods_raise(BranchReferenceFormat)
2373+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_tag_methods_raise(BzrBranchFormat5)
2374+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_tag_methods_raise(BzrBranchFormat6)
2375 breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_tag_methods_raise(BzrBranchFormat7)
2376+breezy.tests.per_branch.test_tags.TestUnsupportedTags.test_tag_methods_raise(BzrBranchFormat8)
2377 breezy.tests.per_branch.test_uncommit.TestUncommitHook.test_post_uncommit_bound(BranchReferenceFormat)
2378 breezy.tests.per_branch.test_uncommit.TestUncommitHook.test_post_uncommit_not_to_origin(BranchReferenceFormat)
2379 breezy.tests.per_branch.test_uncommit.TestUncommitHook.test_post_uncommit_to_origin(BranchReferenceFormat)
2380@@ -620,7 +908,10 @@
2381 breezy.tests.per_branch.test_update.TestUpdate.test_update_local_commits_returns_old_tip(BranchReferenceFormat)
2382 breezy.tests.per_branch.test_update.TestUpdate.test_update_prefix_returns_none(BranchReferenceFormat)
2383 breezy.tests.per_branch.test_update.TestUpdate.test_update_unbound_works(BranchReferenceFormat)
2384+breezy.tests.per_branch.test_update.TestUpdate.test_update_unbound_works(BzrBranchFormat5)
2385+breezy.tests.per_branch.test_update.TestUpdate.test_update_unbound_works(BzrBranchFormat6)
2386 breezy.tests.per_branch.test_update.TestUpdate.test_update_unbound_works(BzrBranchFormat7)
2387+breezy.tests.per_branch.test_update.TestUpdate.test_update_unbound_works(BzrBranchFormat8)
2388 breezy.tests.per_interbranch.test_copy_content_into.TestCopyContentInto.test_inter_is_used(GenericInterBranch,BzrBranchFormat7,BzrBranchFormat7)
2389 breezy.tests.per_interbranch.test_get.TestInterBranchGet.test_gets_right_inter(GenericInterBranch,BzrBranchFormat7,BzrBranchFormat7)
2390 breezy.tests.per_interrepository.test_fetch.TestFetchDependentData.test_reference(InterDifferingSerializer,RepositoryFormat2a,RepositoryFormatKnitPack6RichRoot)
2391@@ -731,6 +1022,14 @@
2392 breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree(InterDirStateTree(C))
2393 breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_paths_in_tree_specific_files(InterDirStateTree(C))
2394 breezy.tests.per_intertree.test_compare.TestIterChanges.test_unversioned_subtree_only_emits_root(InterDirStateTree(C))
2395+breezy.tests.per_inventory.basics.TestInventoryFiltering.test_inv_filter_dirs(Inventory)
2396+breezy.tests.per_inventory.basics.TestInventoryFiltering.test_inv_filter_empty(Inventory)
2397+breezy.tests.per_inventory.basics.TestInventoryFiltering.test_inv_filter_entry_not_present(Inventory)
2398+breezy.tests.per_inventory.basics.TestInventoryFiltering.test_inv_filter_files_and_dirs(Inventory)
2399+breezy.tests.per_inventory.basics.TestInventoryFiltering.test_inv_filter_files(Inventory)
2400+breezy.tests.per_inventory.basics.TestInventoryReads.test_iter_entries_by_dir(Inventory)
2401+breezy.tests.per_inventory.basics.TestInventoryReads.test_iter_entries(Inventory)
2402+breezy.tests.per_inventory.basics.TestInventoryReads.test_iter_just_entries(Inventory)
2403 breezy.tests.per_lock.test_lock.TestLock.test_multiple_read_locks(fcntl)
2404 breezy.tests.per_lock.test_lock.TestLock.test_multiple_write_locks_exclude(fcntl)
2405 breezy.tests.per_lock.test_lock.TestLock.test_readonly_file(fcntl)
2406@@ -2216,6 +2515,9 @@
2407 breezy.tests.per_transport.TransportTests.test_base_url(TransportLogDecorator,LogDecoratorServer)
2408 breezy.tests.per_transport.TransportTests.test_base_url(TransportTraceDecorator,TraceServer)
2409 breezy.tests.per_transport.TransportTests.test_base_url(UnlistableTransportDecorator,UnlistableServer)
2410+breezy.tests.per_transport.TransportTests.test_clone(ChrootTransport,TestingChrootServer)
2411+breezy.tests.per_transport.TransportTests.test_clone(FakeNFSTransportDecorator,FakeNFSServer)
2412+breezy.tests.per_transport.TransportTests.test_clone(FakeVFATTransportDecorator,FakeVFATServer)
2413 breezy.tests.per_transport.TransportTests.test_clone_from_root(ChrootTransport,TestingChrootServer)
2414 breezy.tests.per_transport.TransportTests.test_clone_from_root(FakeNFSTransportDecorator,FakeNFSServer)
2415 breezy.tests.per_transport.TransportTests.test_clone_from_root(FakeVFATTransportDecorator,FakeVFATServer)
2416@@ -2229,6 +2531,10 @@
2417 breezy.tests.per_transport.TransportTests.test_clone_from_root(TransportTraceDecorator,TraceServer)
2418 breezy.tests.per_transport.TransportTests.test_clone_from_root(UnlistableTransportDecorator,UnlistableServer)
2419 breezy.tests.per_transport.TransportTests.test_clone(FtpTransport,UnavailableFTPTestServer)
2420+breezy.tests.per_transport.TransportTests.test_clone(LocalTransport,LocalURLServer)
2421+breezy.tests.per_transport.TransportTests.test_clone(MemoryTransport,MemoryServer)
2422+breezy.tests.per_transport.TransportTests.test_clone(NoSmartTransportDecorator,NoSmartTransportServer)
2423+breezy.tests.per_transport.TransportTests.test_clone(PathFilteringTransport,TestingPathFilteringServer)
2424 breezy.tests.per_transport.TransportTests.test_clone_preserve_info(ChrootTransport,TestingChrootServer)
2425 breezy.tests.per_transport.TransportTests.test_clone_preserve_info(FakeNFSTransportDecorator,FakeNFSServer)
2426 breezy.tests.per_transport.TransportTests.test_clone_preserve_info(FakeVFATTransportDecorator,FakeVFATServer)
2427@@ -2253,6 +2559,9 @@
2428 breezy.tests.per_transport.TransportTests.test_clone_to_root(TransportLogDecorator,LogDecoratorServer)
2429 breezy.tests.per_transport.TransportTests.test_clone_to_root(TransportTraceDecorator,TraceServer)
2430 breezy.tests.per_transport.TransportTests.test_clone_to_root(UnlistableTransportDecorator,UnlistableServer)
2431+breezy.tests.per_transport.TransportTests.test_clone(TransportLogDecorator,LogDecoratorServer)
2432+breezy.tests.per_transport.TransportTests.test_clone(TransportTraceDecorator,TraceServer)
2433+breezy.tests.per_transport.TransportTests.test_clone(UnlistableTransportDecorator,UnlistableServer)
2434 breezy.tests.per_transport.TransportTests.test_clone_url_unquote_unreserved(ChrootTransport,TestingChrootServer)
2435 breezy.tests.per_transport.TransportTests.test_clone_url_unquote_unreserved(FakeNFSTransportDecorator,FakeNFSServer)
2436 breezy.tests.per_transport.TransportTests.test_clone_url_unquote_unreserved(FakeVFATTransportDecorator,FakeVFATServer)
2437@@ -2297,8 +2606,18 @@
2438 breezy.tests.per_transport.TransportTests.test_copy(HTTPS_urllib_transport,HTTPSServer_urllib)
2439 breezy.tests.per_transport.TransportTests.test_copy(HttpTransport_urllib,HttpServer_urllib)
2440 breezy.tests.per_transport.TransportTests.test_copy(ReadonlyTransportDecorator,ReadonlyServer)
2441+breezy.tests.per_transport.TransportTests.test_copy_to(ChrootTransport,TestingChrootServer)
2442+breezy.tests.per_transport.TransportTests.test_copy_to(FakeNFSTransportDecorator,FakeNFSServer)
2443+breezy.tests.per_transport.TransportTests.test_copy_to(FakeVFATTransportDecorator,FakeVFATServer)
2444 breezy.tests.per_transport.TransportTests.test_copy_to(FtpTransport,UnavailableFTPTestServer)
2445+breezy.tests.per_transport.TransportTests.test_copy_to(LocalTransport,LocalURLServer)
2446+breezy.tests.per_transport.TransportTests.test_copy_to(MemoryTransport,MemoryServer)
2447+breezy.tests.per_transport.TransportTests.test_copy_to(NoSmartTransportDecorator,NoSmartTransportServer)
2448+breezy.tests.per_transport.TransportTests.test_copy_to(PathFilteringTransport,TestingPathFilteringServer)
2449 breezy.tests.per_transport.TransportTests.test_copy_to(ReadonlyTransportDecorator,ReadonlyServer)
2450+breezy.tests.per_transport.TransportTests.test_copy_to(TransportLogDecorator,LogDecoratorServer)
2451+breezy.tests.per_transport.TransportTests.test_copy_to(TransportTraceDecorator,TraceServer)
2452+breezy.tests.per_transport.TransportTests.test_copy_to(UnlistableTransportDecorator,UnlistableServer)
2453 breezy.tests.per_transport.TransportTests.test_copy_tree(ChrootTransport,TestingChrootServer)
2454 breezy.tests.per_transport.TransportTests.test_copy_tree(FakeNFSTransportDecorator,FakeNFSServer)
2455 breezy.tests.per_transport.TransportTests.test_copy_tree(FakeVFATTransportDecorator,FakeVFATServer)
2456@@ -2339,10 +2658,19 @@
2457 breezy.tests.per_transport.TransportTests.test_create_prefix(TransportLogDecorator,LogDecoratorServer)
2458 breezy.tests.per_transport.TransportTests.test_create_prefix(TransportTraceDecorator,TraceServer)
2459 breezy.tests.per_transport.TransportTests.test_create_prefix(UnlistableTransportDecorator,UnlistableServer)
2460+breezy.tests.per_transport.TransportTests.test_delete(ChrootTransport,TestingChrootServer)
2461+breezy.tests.per_transport.TransportTests.test_delete(FakeNFSTransportDecorator,FakeNFSServer)
2462+breezy.tests.per_transport.TransportTests.test_delete(FakeVFATTransportDecorator,FakeVFATServer)
2463 breezy.tests.per_transport.TransportTests.test_delete(FtpTransport,UnavailableFTPTestServer)
2464 breezy.tests.per_transport.TransportTests.test_delete(HTTPS_urllib_transport,HTTPSServer_urllib)
2465 breezy.tests.per_transport.TransportTests.test_delete(HttpTransport_urllib,HttpServer_urllib)
2466+breezy.tests.per_transport.TransportTests.test_delete(LocalTransport,LocalURLServer)
2467+breezy.tests.per_transport.TransportTests.test_delete(MemoryTransport,MemoryServer)
2468+breezy.tests.per_transport.TransportTests.test_delete(NoSmartTransportDecorator,NoSmartTransportServer)
2469+breezy.tests.per_transport.TransportTests.test_delete(PathFilteringTransport,TestingPathFilteringServer)
2470 breezy.tests.per_transport.TransportTests.test_delete(ReadonlyTransportDecorator,ReadonlyServer)
2471+breezy.tests.per_transport.TransportTests.test_delete(TransportLogDecorator,LogDecoratorServer)
2472+breezy.tests.per_transport.TransportTests.test_delete(TransportTraceDecorator,TraceServer)
2473 breezy.tests.per_transport.TransportTests.test_delete_tree(ChrootTransport,TestingChrootServer)
2474 breezy.tests.per_transport.TransportTests.test_delete_tree(FakeNFSTransportDecorator,FakeNFSServer)
2475 breezy.tests.per_transport.TransportTests.test_delete_tree(FakeVFATTransportDecorator,FakeVFATServer)
2476@@ -2355,6 +2683,7 @@
2477 breezy.tests.per_transport.TransportTests.test_delete_tree(TransportLogDecorator,LogDecoratorServer)
2478 breezy.tests.per_transport.TransportTests.test_delete_tree(TransportTraceDecorator,TraceServer)
2479 breezy.tests.per_transport.TransportTests.test_delete_tree(UnlistableTransportDecorator,UnlistableServer)
2480+breezy.tests.per_transport.TransportTests.test_delete(UnlistableTransportDecorator,UnlistableServer)
2481 breezy.tests.per_transport.TransportTests.test_ensure_base_exists(ChrootTransport,TestingChrootServer)
2482 breezy.tests.per_transport.TransportTests.test_ensure_base_exists(FakeNFSTransportDecorator,FakeNFSServer)
2483 breezy.tests.per_transport.TransportTests.test_ensure_base_exists(FakeVFATTransportDecorator,FakeVFATServer)
2484@@ -2587,11 +2916,31 @@
2485 breezy.tests.per_transport.TransportTests.test_local_abspath(TransportLogDecorator,LogDecoratorServer)
2486 breezy.tests.per_transport.TransportTests.test_local_abspath(TransportTraceDecorator,TraceServer)
2487 breezy.tests.per_transport.TransportTests.test_local_abspath(UnlistableTransportDecorator,UnlistableServer)
2488+breezy.tests.per_transport.TransportTests.test_lock_read(ChrootTransport,TestingChrootServer)
2489+breezy.tests.per_transport.TransportTests.test_lock_read(FakeNFSTransportDecorator,FakeNFSServer)
2490+breezy.tests.per_transport.TransportTests.test_lock_read(FakeVFATTransportDecorator,FakeVFATServer)
2491 breezy.tests.per_transport.TransportTests.test_lock_read(FtpTransport,UnavailableFTPTestServer)
2492+breezy.tests.per_transport.TransportTests.test_lock_read(LocalTransport,LocalURLServer)
2493+breezy.tests.per_transport.TransportTests.test_lock_read(MemoryTransport,MemoryServer)
2494+breezy.tests.per_transport.TransportTests.test_lock_read(NoSmartTransportDecorator,NoSmartTransportServer)
2495+breezy.tests.per_transport.TransportTests.test_lock_read(PathFilteringTransport,TestingPathFilteringServer)
2496+breezy.tests.per_transport.TransportTests.test_lock_read(TransportLogDecorator,LogDecoratorServer)
2497+breezy.tests.per_transport.TransportTests.test_lock_read(TransportTraceDecorator,TraceServer)
2498+breezy.tests.per_transport.TransportTests.test_lock_read(UnlistableTransportDecorator,UnlistableServer)
2499+breezy.tests.per_transport.TransportTests.test_lock_write(ChrootTransport,TestingChrootServer)
2500+breezy.tests.per_transport.TransportTests.test_lock_write(FakeNFSTransportDecorator,FakeNFSServer)
2501+breezy.tests.per_transport.TransportTests.test_lock_write(FakeVFATTransportDecorator,FakeVFATServer)
2502 breezy.tests.per_transport.TransportTests.test_lock_write(FtpTransport,UnavailableFTPTestServer)
2503 breezy.tests.per_transport.TransportTests.test_lock_write(HTTPS_urllib_transport,HTTPSServer_urllib)
2504 breezy.tests.per_transport.TransportTests.test_lock_write(HttpTransport_urllib,HttpServer_urllib)
2505+breezy.tests.per_transport.TransportTests.test_lock_write(LocalTransport,LocalURLServer)
2506+breezy.tests.per_transport.TransportTests.test_lock_write(MemoryTransport,MemoryServer)
2507+breezy.tests.per_transport.TransportTests.test_lock_write(NoSmartTransportDecorator,NoSmartTransportServer)
2508+breezy.tests.per_transport.TransportTests.test_lock_write(PathFilteringTransport,TestingPathFilteringServer)
2509 breezy.tests.per_transport.TransportTests.test_lock_write(ReadonlyTransportDecorator,ReadonlyServer)
2510+breezy.tests.per_transport.TransportTests.test_lock_write(TransportLogDecorator,LogDecoratorServer)
2511+breezy.tests.per_transport.TransportTests.test_lock_write(TransportTraceDecorator,TraceServer)
2512+breezy.tests.per_transport.TransportTests.test_lock_write(UnlistableTransportDecorator,UnlistableServer)
2513 breezy.tests.per_transport.TransportTests.test_mkdir(FtpTransport,UnavailableFTPTestServer)
2514 breezy.tests.per_transport.TransportTests.test_mkdir(HTTPS_urllib_transport,HTTPSServer_urllib)
2515 breezy.tests.per_transport.TransportTests.test_mkdir(HttpTransport_urllib,HttpServer_urllib)
2516@@ -2647,6 +2996,8 @@
2517 breezy.tests.per_transport.TransportTests.test_opening_a_file_stream_creates_file(HttpTransport_urllib,HttpServer_urllib)
2518 breezy.tests.per_transport.TransportTests.test_opening_a_file_stream_creates_file(ReadonlyTransportDecorator,ReadonlyServer)
2519 breezy.tests.per_transport.TransportTests.test_put_bytes(FtpTransport,UnavailableFTPTestServer)
2520+breezy.tests.per_transport.TransportTests.test_put_bytes(HTTPS_urllib_transport,HTTPSServer_urllib)
2521+breezy.tests.per_transport.TransportTests.test_put_bytes(HttpTransport_urllib,HttpServer_urllib)
2522 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic(FtpTransport,UnavailableFTPTestServer)
2523 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(FakeVFATTransportDecorator,FakeVFATServer)
2524 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(FtpTransport,UnavailableFTPTestServer)
2525@@ -2654,12 +3005,20 @@
2526 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(HttpTransport_urllib,HttpServer_urllib)
2527 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(MemoryTransport,MemoryServer)
2528 breezy.tests.per_transport.TransportTests.test_put_bytes_non_atomic_permissions(ReadonlyTransportDecorator,ReadonlyServer)
2529+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(ChrootTransport,TestingChrootServer)
2530+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(FakeNFSTransportDecorator,FakeNFSServer)
2531 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(FakeVFATTransportDecorator,FakeVFATServer)
2532 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(FtpTransport,UnavailableFTPTestServer)
2533 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(HTTPS_urllib_transport,HTTPSServer_urllib)
2534 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(HttpTransport_urllib,HttpServer_urllib)
2535+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(LocalTransport,LocalURLServer)
2536 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(MemoryTransport,MemoryServer)
2537+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(NoSmartTransportDecorator,NoSmartTransportServer)
2538+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(PathFilteringTransport,TestingPathFilteringServer)
2539 breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(ReadonlyTransportDecorator,ReadonlyServer)
2540+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(TransportLogDecorator,LogDecoratorServer)
2541+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(TransportTraceDecorator,TraceServer)
2542+breezy.tests.per_transport.TransportTests.test_put_bytes_permissions(UnlistableTransportDecorator,UnlistableServer)
2543 breezy.tests.per_transport.TransportTests.test_put_bytes(ReadonlyTransportDecorator,ReadonlyServer)
2544 breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(ChrootTransport,TestingChrootServer)
2545 breezy.tests.per_transport.TransportTests.test_put_bytes_unicode(FakeNFSTransportDecorator,FakeNFSServer)
2546@@ -2713,7 +3072,17 @@
2547 breezy.tests.per_transport.TransportTests.test_put_file(ReadonlyTransportDecorator,ReadonlyServer)
2548 breezy.tests.per_transport.TransportTests.test_readv(FtpTransport,UnavailableFTPTestServer)
2549 breezy.tests.per_transport.TransportTests.test_readv_out_of_order(FtpTransport,UnavailableFTPTestServer)
2550+breezy.tests.per_transport.TransportTests.test_readv_short_read(ChrootTransport,TestingChrootServer)
2551+breezy.tests.per_transport.TransportTests.test_readv_short_read(FakeNFSTransportDecorator,FakeNFSServer)
2552+breezy.tests.per_transport.TransportTests.test_readv_short_read(FakeVFATTransportDecorator,FakeVFATServer)
2553 breezy.tests.per_transport.TransportTests.test_readv_short_read(FtpTransport,UnavailableFTPTestServer)
2554+breezy.tests.per_transport.TransportTests.test_readv_short_read(LocalTransport,LocalURLServer)
2555+breezy.tests.per_transport.TransportTests.test_readv_short_read(MemoryTransport,MemoryServer)
2556+breezy.tests.per_transport.TransportTests.test_readv_short_read(NoSmartTransportDecorator,NoSmartTransportServer)
2557+breezy.tests.per_transport.TransportTests.test_readv_short_read(PathFilteringTransport,TestingPathFilteringServer)
2558+breezy.tests.per_transport.TransportTests.test_readv_short_read(TransportLogDecorator,LogDecoratorServer)
2559+breezy.tests.per_transport.TransportTests.test_readv_short_read(TransportTraceDecorator,TraceServer)
2560+breezy.tests.per_transport.TransportTests.test_readv_short_read(UnlistableTransportDecorator,UnlistableServer)
2561 breezy.tests.per_transport.TransportTests.test_readv_with_adjust_for_latency(FtpTransport,UnavailableFTPTestServer)
2562 breezy.tests.per_transport.TransportTests.test_readv_with_adjust_for_latency_with_big_file(FtpTransport,UnavailableFTPTestServer)
2563 breezy.tests.per_transport.TransportTests.test_recommended_page_size(ChrootTransport,TestingChrootServer)
2564@@ -2756,10 +3125,20 @@
2565 breezy.tests.per_transport.TransportTests.test_relpath(TransportLogDecorator,LogDecoratorServer)
2566 breezy.tests.per_transport.TransportTests.test_relpath(TransportTraceDecorator,TraceServer)
2567 breezy.tests.per_transport.TransportTests.test_relpath(UnlistableTransportDecorator,UnlistableServer)
2568+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(ChrootTransport,TestingChrootServer)
2569+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(FakeNFSTransportDecorator,FakeNFSServer)
2570+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(FakeVFATTransportDecorator,FakeVFATServer)
2571 breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(FtpTransport,UnavailableFTPTestServer)
2572 breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(HTTPS_urllib_transport,HTTPSServer_urllib)
2573 breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(HttpTransport_urllib,HttpServer_urllib)
2574+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(LocalTransport,LocalURLServer)
2575+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(MemoryTransport,MemoryServer)
2576+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(NoSmartTransportDecorator,NoSmartTransportServer)
2577+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(PathFilteringTransport,TestingPathFilteringServer)
2578 breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(ReadonlyTransportDecorator,ReadonlyServer)
2579+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(TransportLogDecorator,LogDecoratorServer)
2580+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(TransportTraceDecorator,TraceServer)
2581+breezy.tests.per_transport.TransportTests.test_rename_across_subdirs(UnlistableTransportDecorator,UnlistableServer)
2582 breezy.tests.per_transport.TransportTests.test_rename_dir_nonempty(ChrootTransport,TestingChrootServer)
2583 breezy.tests.per_transport.TransportTests.test_rename_dir_nonempty(FakeNFSTransportDecorator,FakeNFSServer)
2584 breezy.tests.per_transport.TransportTests.test_rename_dir_nonempty(FakeVFATTransportDecorator,FakeVFATServer)
2585@@ -2815,10 +3194,20 @@
2586 breezy.tests.per_transport.TransportTests.test__reuse_for(TransportTraceDecorator,TraceServer)
2587 breezy.tests.per_transport.TransportTests.test__reuse_for(UnlistableTransportDecorator,UnlistableServer)
2588 breezy.tests.per_transport.TransportTests.test_rmdir(ChrootTransport,TestingChrootServer)
2589+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(ChrootTransport,TestingChrootServer)
2590+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(FakeNFSTransportDecorator,FakeNFSServer)
2591+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(FakeVFATTransportDecorator,FakeVFATServer)
2592 breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(FtpTransport,UnavailableFTPTestServer)
2593 breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(HTTPS_urllib_transport,HTTPSServer_urllib)
2594 breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(HttpTransport_urllib,HttpServer_urllib)
2595+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(LocalTransport,LocalURLServer)
2596+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(MemoryTransport,MemoryServer)
2597+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(NoSmartTransportDecorator,NoSmartTransportServer)
2598+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(PathFilteringTransport,TestingPathFilteringServer)
2599 breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(ReadonlyTransportDecorator,ReadonlyServer)
2600+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(TransportLogDecorator,LogDecoratorServer)
2601+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(TransportTraceDecorator,TraceServer)
2602+breezy.tests.per_transport.TransportTests.test_rmdir_empty_but_similar_prefix(UnlistableTransportDecorator,UnlistableServer)
2603 breezy.tests.per_transport.TransportTests.test_rmdir(FakeNFSTransportDecorator,FakeNFSServer)
2604 breezy.tests.per_transport.TransportTests.test_rmdir(FakeVFATTransportDecorator,FakeVFATServer)
2605 breezy.tests.per_transport.TransportTests.test_rmdir(FtpTransport,UnavailableFTPTestServer)
2606@@ -2944,9 +3333,11 @@
2607 breezy.tests.per_tree.test_get_root_id.TestGetRootID.test_get_root_id_default(WorkingTreeFormat4)
2608 breezy.tests.per_tree.test_get_root_id.TestGetRootID.test_get_root_id_default(WorkingTreeFormat5)
2609 breezy.tests.per_tree.test_get_root_id.TestGetRootID.test_get_root_id_default(WorkingTreeFormat6)
2610+breezy.tests.per_tree.test_get_symlink_target.TestGetSymlinkTarget.test_get_symlink_target(PreviewTree)
2611 breezy.tests.per_tree.test_get_symlink_target.TestGetSymlinkTarget.test_get_symlink_target(WorkingTreeFormat4)
2612 breezy.tests.per_tree.test_get_symlink_target.TestGetSymlinkTarget.test_get_symlink_target(WorkingTreeFormat5)
2613 breezy.tests.per_tree.test_get_symlink_target.TestGetSymlinkTarget.test_get_symlink_target(WorkingTreeFormat6)
2614+breezy.tests.per_tree.test_inv.TestInventory.test_canonical_tree_name_mismatch(PreviewTree)
2615 breezy.tests.per_tree.test_inv.TestInventory.test_canonical_tree_name_mismatch(PreviewTreePost)
2616 breezy.tests.per_tree.test_inv.TestInventory.test_paths2ids_recursive(WorkingTreeFormat4)
2617 breezy.tests.per_tree.test_inv.TestInventory.test_paths2ids_recursive(WorkingTreeFormat5)
2618@@ -2970,6 +3361,7 @@
2619 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_file_content_summary_not_versioned(WorkingTreeFormat4)
2620 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_file_content_summary_not_versioned(WorkingTreeFormat5)
2621 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_file_content_summary_not_versioned(WorkingTreeFormat6)
2622+breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_missing_content_summary(PreviewTree)
2623 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_missing_content_summary(PreviewTreePost)
2624 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_missing_content_summary(WorkingTreeFormat4)
2625 breezy.tests.per_tree.test_path_content_summary.TestPathContentSummary.test_missing_content_summary(WorkingTreeFormat5)
2626@@ -3008,6 +3400,7 @@
2627 breezy.tests.per_tree.test_tree.TestIterChildEntries.test_does_not_exist(WorkingTreeFormat4)
2628 breezy.tests.per_tree.test_tree.TestIterChildEntries.test_does_not_exist(WorkingTreeFormat5)
2629 breezy.tests.per_tree.test_tree.TestIterChildEntries.test_does_not_exist(WorkingTreeFormat6)
2630+breezy.tests.per_tree.test_walkdirs.TestWalkdirs.test_walkdir_versioned_kind(PreviewTree)
2631 breezy.tests.per_tree.test_walkdirs.TestWalkdirs.test_walkdir_versioned_kind(PreviewTreePost)
2632 breezy.tests.per_uifactory.TestCannedInputUIFactory.test_be_quiet
2633 breezy.tests.per_uifactory.TestCannedInputUIFactory.test_confirm_action
2634@@ -3067,6 +3460,7 @@
2635 breezy.tests.per_versionedfile.TestVersionedFiles.test_check_progressbar_parameter(named-graph-nodelta-knit-pack)
2636 breezy.tests.per_versionedfile.TestVersionedFiles.test_check_progressbar_parameter(named-nograph-nodelta-knit-pack)
2637 breezy.tests.per_versionedfile.TestVersionedFiles.test_check_progressbar_parameter(plain-knit-pack)
2638+breezy.tests.per_versionedfile.TestVersionedFiles.test_check_progressbar_parameter(weave-named)
2639 breezy.tests.per_versionedfile.TestVersionedFiles.test_check_progressbar_parameter(weave-prefix)
2640 breezy.tests.per_versionedfile.TestVersionedFiles.test_clear_cache(annotated-knit-escape)
2641 breezy.tests.per_versionedfile.TestVersionedFiles.test_clear_cache(groupcompress)
2642@@ -3126,11 +3520,21 @@
2643 breezy.tests.per_versionedfile.TestVersionedFiles.test_insert_record_stream_missing_keys(named-graph-nodelta-knit-pack)
2644 breezy.tests.per_versionedfile.TestVersionedFiles.test_insert_record_stream_missing_keys(named-nograph-nodelta-knit-pack)
2645 breezy.tests.per_versionedfile.TestVersionedFiles.test_insert_record_stream_missing_keys(plain-knit-pack)
2646+breezy.tests.per_versionedfile.TestVersionedFiles.test_insert_record_stream_missing_keys(weave-named)
2647+breezy.tests.per_versionedfile.TestVersionedFiles.test_insert_record_stream_missing_keys(weave-prefix)
2648 breezy.tests.per_versionedfile.TestVersionedFiles.test_known_graph_with_fallbacks(groupcompress-nograph)
2649 breezy.tests.per_versionedfile.TestVersionedFiles.test_known_graph_with_fallbacks(named-nograph-nodelta-knit-pack)
2650 breezy.tests.per_versionedfile.TestVersionedFiles.test_known_graph_with_fallbacks(weave-named)
2651 breezy.tests.per_versionedfile.TestVersionedFiles.test_known_graph_with_fallbacks(weave-prefix)
2652 breezy.tests.per_versionedfile.TestWeaveMerge.testDeleteAndModify
2653+breezy.tests.per_versionedfile.TestWeaveMerge.test_weave_merge_conflicts
2654+breezy.tests.per_versionedfile.TestWeave.test_add_follows_left_matching_blocks
2655+breezy.tests.per_versionedfile.TestWeave.test_add_lines_with_ghosts
2656+breezy.tests.per_versionedfile.TestWeave.test_add_lines_with_ghosts_after_normal_revs
2657+breezy.tests.per_versionedfile.TestWeave.test_add_unicode_content
2658+breezy.tests.per_versionedfile.TestWeave.test_get_suffixes
2659+breezy.tests.per_versionedfile.TestWeave.test_make_mpdiffs_with_ghosts
2660+breezy.tests.per_versionedfile.TestWeave.test_mutate_after_finish
2661 breezy.tests.per_versionedfile.TestWeave.test_no_implicit_create
2662 breezy.tests.per_versionedfile.VirtualVersionedFilesTests.test_add_lines
2663 breezy.tests.per_versionedfile.VirtualVersionedFilesTests.test_add_mpdiffs
2664@@ -3468,6 +3872,9 @@
2665 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_branch_builder(WorkingTreeFormat4)
2666 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_branch_builder(WorkingTreeFormat5)
2667 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_branch_builder(WorkingTreeFormat6)
2668+breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_case_sensitive(WorkingTreeFormat4)
2669+breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_case_sensitive(WorkingTreeFormat5)
2670+breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_case_sensitive(WorkingTreeFormat6)
2671 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_clone_tree_revision(WorkingTreeFormat2)
2672 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_clone_tree_revision(WorkingTreeFormat3)
2673 breezy.tests.per_workingtree.test_workingtree.TestWorkingTree.test_clone_tree_revision(WorkingTreeFormat4)
2674@@ -3581,7 +3988,13 @@
2675 breezy.tests.test_bisect_multi.TestBisectMultiBytes.test_lookup_no_keys_no_calls
2676 breezy.tests.test_bisect_multi.TestBisectMultiBytes.test_lookup_when_a_key_is_missing_continues
2677 breezy.tests.test_bisect_multi.TestBisectMultiBytes.test_searches_different_keys_in_different_directions
2678+breezy.tests.test_branch.BzrBranch8.test_reference_info_caches_cleared
2679+breezy.tests.test_branch.BzrBranch8.test_reference_info_caching_read_locked
2680+breezy.tests.test_branch.BzrBranch8.test_reference_info_caching_read_unlocked
2681+breezy.tests.test_branch.BzrBranch8.test_reference_info_caching_write_locked
2682+breezy.tests.test_branch.TestBranch7.test_creation
2683 breezy.tests.test_branch.TestBranch7.test_layout
2684+breezy.tests.test_branch.TestBranchFormat5.test_branch_format_5_uses_lockdir
2685 breezy.tests.test_branch.TestBranchFormatRegistry.test_default
2686 breezy.tests.test_branch.TestBranchFormatRegistry.test_get_all
2687 breezy.tests.test_branch.TestBranchFormatRegistry.test_register_extra
2688@@ -3592,11 +4005,14 @@
2689 breezy.tests.test_branch.TestBranchOptions.test_set_from_config_stack_get_from_config
2690 breezy.tests.test_branch.TestBranchOptions.test_use_fresh_values
2691 breezy.tests.test_branch.TestBranchOptions.test_valid_append_revisions_only
2692+breezy.tests.test_branch.TestBzrBranchFormat.test_find_format
2693 breezy.tests.test_branch.TestBzrBranchFormat.test_find_format_not_branch
2694+breezy.tests.test_branch.TestBzrBranchFormat.test_find_format_unknown_format
2695 breezy.tests.test_branch.TestBzrBranchFormat.test_find_format_with_features
2696 breezy.tests.test_branch.TestBzrBranchFormat.test_from_string
2697 breezy.tests.test_branch.TestDefaultFormat.test_default_format
2698 breezy.tests.test_branch.TestDefaultFormat.test_default_format_is_same_as_bzrdir_default
2699+breezy.tests.test_branch.TestDefaultFormat.test_get_set_default_format
2700 breezy.tests.test_branch.TestErrors.test_unstackable_branch_format
2701 breezy.tests.test_branch.TestHooks.test_constructor
2702 breezy.tests.test_branch.TestHooks.test_installed_hooks_are_BranchHooks
2703@@ -3745,8 +4161,11 @@
2704 breezy.tests.test_bzrdir.ChrootedTests.test_open_from_transport_bzrdir_in_parent
2705 breezy.tests.test_bzrdir.ChrootedTests.test_open_from_transport_no_bzrdir
2706 breezy.tests.test_bzrdir.NonLocalTests.test_create_branch_convenience_force_tree_not_local_fails
2707+breezy.tests.test_bzrdir.TestBzrDirFormat.test_create_branch_and_repo_uses_default
2708+breezy.tests.test_bzrdir.TestBzrDirFormat.test_create_standalone_working_tree
2709 breezy.tests.test_bzrdir.TestBzrDirFormat.test_find_format
2710 breezy.tests.test_bzrdir.TestBzrDirFormat.test_find_format_nothing_there
2711+breezy.tests.test_bzrdir.TestBzrDirFormat.test_register_unregister_format
2712 breezy.tests.test_bzrdir.TestBzrDirHooks.test_post_repo_init
2713 breezy.tests.test_bzrdir.TestBzrDirHooks.test_post_repo_init_hook_repr
2714 breezy.tests.test_bzrdir.TestBzrDirHooks.test_pre_open_actual_exceptions_raised
2715@@ -3761,6 +4180,8 @@
2716 breezy.tests.test_bzrdir.TestBzrFormat.test_from_string_no_features
2717 breezy.tests.test_bzrdir.TestBzrFormat.test_from_string_with_feature
2718 breezy.tests.test_bzrdir.TestBzrFormat.test_from_string_with_spaces
2719+breezy.tests.test_bzrdir.TestBzrFormat.test_network_name
2720+breezy.tests.test_bzrdir.TestDefaultFormat.test_get_set_default_format
2721 breezy.tests.test_bzrdir.TestFormatRegistry.test_aliases
2722 breezy.tests.test_bzrdir.TestFormatRegistry.test_format_registry
2723 breezy.tests.test_bzrdir.TestFormatRegistry.test_get_help
2724@@ -3778,6 +4199,7 @@
2725 breezy.tests.test_bzrdir.TestRepositoryAcquisitionPolicy.test_add_fallback_repo_handles_relative_urls
2726 breezy.tests.test_bzrdir.TestRepositoryAcquisitionPolicy.test_determine_stacking_policy
2727 breezy.tests.test_bzrdir.TestRepositoryAcquisitionPolicy.test_determine_stacking_policy_relative
2728+breezy.tests.test_bzrdir.TestRepositoryAcquisitionPolicy.test_format_initialize_on_transport_ex_stacked_on
2729 breezy.tests.test_cache_utf8.TestEncodeCache.test_ascii
2730 breezy.tests.test_cache_utf8.TestEncodeCache.test_cached_unicode
2731 breezy.tests.test_cache_utf8.TestEncodeCache.test_cached_utf8
2732@@ -5068,6 +5490,7 @@
2733 breezy.tests.test_index.TestInMemoryGraphIndex.test_iter_nothing_empty
2734 breezy.tests.test_index.TestInMemoryGraphIndex.test_key_count_empty
2735 breezy.tests.test_index.TestInMemoryGraphIndex.test_validate_empty
2736+breezy.tests.test_info.TestInfo.test_describe_branch_format
2737 breezy.tests.test_info.TestInfo.test_gather_location_bound
2738 breezy.tests.test_info.TestInfo.test_gather_location_controldir_only
2739 breezy.tests.test_info.TestInfo.test_gather_location_repo
2740@@ -5260,6 +5683,8 @@
2741 breezy.tests.test_inv.TestInventoryUpdates.test_add_path
2742 breezy.tests.test_inv.TestInventoryUpdates.test_add_path_of_root
2743 breezy.tests.test_inv.TestInventoryUpdates.test_add_recursive
2744+breezy.tests.test_inv.TestInventoryUpdates.test_copy
2745+breezy.tests.test_inv.TestInventoryUpdates.test_copy_copies_root_revision
2746 breezy.tests.test_inv.TestInventoryUpdates.test_copy_empty
2747 breezy.tests.test_inv.TestInventoryUpdates.test_create_tree_reference
2748 breezy.tests.test_inv.TestInventoryUpdates.test_creation_from_root_id
2749@@ -5627,6 +6052,7 @@
2750 breezy.tests.test_merge.TestLCAMultiWay.test_this_in_lca
2751 breezy.tests.test_merge.TestMerge.test_merge_inner_conflicts
2752 breezy.tests.test_merge.TestMerge.test_merge_type_registry
2753+breezy.tests.test_merge.TestMerge.test_merge_unrelated_retains_root
2754 breezy.tests.test_merge.TestPlanMerge.test__prune_tails
2755 breezy.tests.test_merge.TestPlanMerge.test__remove_external_references
2756 breezy.tests.test_merge.TestPlanMerge.test_subtract_plans
2757@@ -5988,14 +6414,37 @@
2758 breezy.tests.test_registry.TestRegistryWithDirs.test_lazy_import_get_module
2759 breezy.tests.test_registry.TestRegistryWithDirs.test_lazy_import_registry_foo
2760 breezy.tests.test_registry.TestRegistryWithDirs.test_normal_get_module
2761+breezy.tests.test_remote.TestBranchBreakLock.test_break_lock
2762+breezy.tests.test_remote.TestBranchFormat.test_get_format_description
2763+breezy.tests.test_remote.TestBranchGetParent.test_no_parent
2764+breezy.tests.test_remote.TestBranchGetParent.test_parent_absolute
2765+breezy.tests.test_remote.TestBranchGetParent.test_parent_relative
2766+breezy.tests.test_remote.TestBranchGetPhysicalLockStatus.test_get_physical_lock_status_no
2767+breezy.tests.test_remote.TestBranchGetPhysicalLockStatus.test_get_physical_lock_status_yes
2768+breezy.tests.test_remote.TestBranchGetTagsBytes.test_trivial
2769+breezy.tests.test_remote.TestBranchHeadsToFetch.test_uses_rpc_for_formats_with_non_default_heads_to_fetch
2770+breezy.tests.test_remote.TestBranchLastRevisionInfo.test_non_empty_branch
2771+breezy.tests.test_remote.TestBranchLockWrite.test_lock_write_unlockable
2772+breezy.tests.test_remote.TestBranchRevisionIdToRevno.test_dotted
2773+breezy.tests.test_remote.TestBranchRevisionIdToRevno.test_simple
2774+breezy.tests.test_remote.TestBranchSetLastRevisionInfo.test_no_such_revision
2775+breezy.tests.test_remote.TestBranchSetLastRevisionInfo.test_unexpected_error
2776+breezy.tests.test_remote.TestBranchSetParentLocation.test_no_parent
2777+breezy.tests.test_remote.TestBranchSetParentLocation.test_parent
2778+breezy.tests.test_remote.TestBranchSetTagsBytes.test_backwards_compatible
2779+breezy.tests.test_remote.TestBranchSetTagsBytes.test_trivial
2780+breezy.tests.test_remote.TestBzrDirCheckoutMetaDir.test__get_checkout_format
2781 breezy.tests.test_remote.TestBzrDirCheckoutMetaDir.test_unknown_format
2782+breezy.tests.test_remote.TestBzrDirCloningMetaDir.test_current_server
2783 breezy.tests.test_remote.TestBzrDirCloningMetaDir.test_unknown
2784+breezy.tests.test_remote.TestBzrDirCreateBranch.test_current_server
2785 breezy.tests.test_remote.TestBzrDirDestroyBranch.test_destroy_default
2786 breezy.tests.test_remote.TestBzrDirDestroyRepository.test_destroy_repository
2787 breezy.tests.test_remote.TestBzrDirFormatInitializeEx.test_error
2788 breezy.tests.test_remote.TestBzrDirFormatInitializeEx.test_success
2789 breezy.tests.test_remote.TestBzrDirHasWorkingTree.test_has_workingtree
2790 breezy.tests.test_remote.TestBzrDirHasWorkingTree.test_no_workingtree
2791+breezy.tests.test_remote.TestBzrDirOpenBranch.test_branch_present
2792 breezy.tests.test_remote.TestBzrDirOpenBranch.test__get_tree_branch
2793 breezy.tests.test_remote.TestBzrDirOpenBranch.test_old_server
2794 breezy.tests.test_remote.TestBzrDirOpenBranch.test_open_repository_sets_format_attributes
2795@@ -6038,9 +6487,12 @@
2796 breezy.tests.test_remote.TestRemoteSSHTransportAuthentication.test_uses_authentication_config
2797 breezy.tests.test_remote.TestRepositoryAddSignatureText.test_add_signature_text
2798 breezy.tests.test_remote.TestRepositoryBreakLock.test_break_lock
2799+breezy.tests.test_remote.TestRepositoryFormat.test_fast_delta
2800+breezy.tests.test_remote.TestRepositoryFormat.test_get_format_description
2801 breezy.tests.test_remote.TestRepositoryGetGraph.test_get_graph
2802 breezy.tests.test_remote.TestRepositoryGetParentMap.test_get_parent_map_unexpected_response
2803 breezy.tests.test_remote.TestRepositoryGetRevIdForRevno.test_history_incomplete
2804+breezy.tests.test_remote.TestRepositoryGetRevIdForRevno.test_history_incomplete_with_fallback
2805 breezy.tests.test_remote.TestRepositoryGetRevIdForRevno.test_nosuchrevision
2806 breezy.tests.test_remote.TestRepositoryGetRevIdForRevno.test_ok
2807 breezy.tests.test_remote.TestRepositoryGetRevisionGraph.test_no_such_revision
2808@@ -6085,6 +6537,8 @@
2809 breezy.tests.test_remote.TestTransportIsReadonly.test_false
2810 breezy.tests.test_remote.TestTransportIsReadonly.test_true
2811 breezy.tests.test_remote.TestTransportMkdir.test_permissiondenied
2812+breezy.tests.test_remote.TestWithCustomErrorHandler.test_no_context
2813+breezy.tests.test_remote.TestWithCustomErrorHandler.test_with_context
2814 breezy.tests.test_rename_map.TestRenameMap.test_add_edge_hashes
2815 breezy.tests.test_rename_map.TestRenameMap.test_find_directory_renames
2816 breezy.tests.test_rename_map.TestRenameMap.test_hitcounts
2817@@ -6093,6 +6547,7 @@
2818 breezy.tests.test_repository.Test2a.test_inconsistency_fatal
2819 breezy.tests.test_repository.Test2a.test_stream_source_to_gc
2820 breezy.tests.test_repository.Test2a.test_stream_source_to_non_gc
2821+breezy.tests.test_repository.TestDefaultFormat.test_get_set_default_format
2822 breezy.tests.test_repository.TestFeatures.test_open_with_missing_required_feature
2823 breezy.tests.test_repository.TestFeatures.test_open_with_present_feature
2824 breezy.tests.test_repository.TestInterRepository.test_get_default_inter_repository
2825@@ -6114,6 +6569,7 @@
2826 breezy.tests.test_repository.TestRepositoryFormatRegistry.test_register_unregister_format
2827 breezy.tests.test_repository.TestRepositoryFormat.test_find_format
2828 breezy.tests.test_repository.TestRepositoryFormat.test_find_format_no_repository
2829+breezy.tests.test_repository.TestRepositoryFormat.test_find_format_unknown_format
2830 breezy.tests.test_repository.TestRepositoryFormat.test_find_format_with_features
2831 breezy.tests.test_repository.TestRepositoryFormat.test_from_string
2832 breezy.tests.test_repository.TestRepositoryPackCollection.test_ensure_loaded_unlocked
2833@@ -6405,6 +6861,7 @@
2834 breezy.tests.test_selftest.TestTestCaseWithMemoryTransport.test_make_branch_and_memory_tree
2835 breezy.tests.test_selftest.TestTestCaseWithMemoryTransport.test_make_branch_and_memory_tree_with_format
2836 breezy.tests.test_selftest.TestTestCaseWithMemoryTransport.test_make_branch_builder
2837+breezy.tests.test_selftest.TestTestCaseWithMemoryTransport.test_make_branch_builder_with_format
2838 breezy.tests.test_selftest.TestTestCaseWithTransport.test_get_readonly_url_none
2839 breezy.tests.test_selftest.TestTestCaseWithTransport.test_is_directory
2840 breezy.tests.test_selftest.TestTestCloning.test_cloned_testcase_does_not_share_details
2841@@ -6450,6 +6907,7 @@
2842 breezy.tests.test_selftest.TestTransportScenarios.test_get_transport_permutations
2843 breezy.tests.test_selftest.TestTransportScenarios.test_scenarios_include_transport_class
2844 breezy.tests.test_selftest.TestTreeScenarios.test_scenarios
2845+breezy.tests.test_selftest.TestTreeShape.test_unicode_paths
2846 breezy.tests.test_selftest.TestUncollectedWarningsForked.test_additonal_decorator
2847 breezy.tests.test_selftest.TestUncollectedWarningsForked.test_exclude_pattern
2848 breezy.tests.test_selftest.TestUncollectedWarningsForked.test_matching_tests_first
2849@@ -6554,6 +7012,8 @@
2850 breezy.tests.test_smart.TestSmartServerRepositoryGetPhysicalLockStatus.test_with_write_lock
2851 breezy.tests.test_smart.TestSmartServerRepositoryIterFilesBytes.test_missing
2852 breezy.tests.test_smart.TestSmartServerRepositoryReconcile.test_reconcile
2853+breezy.tests.test_smart.TestSmartServerRequestBzrDirInitializeEx.test_initialized_dir
2854+breezy.tests.test_smart.TestSmartServerRequestBzrDirInitializeEx.test_missing_dir
2855 breezy.tests.test_smart.TestSmartServerRequestInitializeBzrDir.test_initialized_dir
2856 breezy.tests.test_smart.TestSmartServerRequestInitializeBzrDir.test_missing_dir
2857 breezy.tests.test_smart.TestSmartServerRequestOpenBzrDir_2_1.test_outside_root_client_path
2858@@ -7196,6 +7656,8 @@
2859 breezy.tests.test_workingtree_4.TestWorkingTreeFormat4.test_uses_lockdir
2860 breezy.tests.test_workingtree_4.TestWorkingTreeFormat4.test_with_subtree_supports_tree_references
2861 breezy.tests.test_workingtree.TestDefaultFormat.test_from_string
2862+breezy.tests.test_workingtree.TestDefaultFormat.test_get_set_default_format
2863+breezy.tests.test_workingtree.TestDefaultFormat.test_get_set_default_format_by_key
2864 breezy.tests.test_workingtree.TestDefaultFormat.test_open
2865 breezy.tests.test_workingtree.TestDefaultFormat.test_open_containing
2866 breezy.tests.test_workingtree.TestFindTrees.test_find_trees
2867@@ -7209,6 +7671,7 @@
2868 breezy.tests.test_workingtree.TestWorkingTreeFormatRegistry.test_register_extra_lazy
2869 breezy.tests.test_workingtree.TestWorkingTreeFormatRegistry.test_register_unregister_format
2870 breezy.tests.test_workingtree.TestWorkingTreeFormat.test_find_format_no_tree
2871+breezy.tests.test_workingtree.TestWorkingTreeFormat.test_find_format_unknown_format
2872 breezy.tests.test_workingtree.TestWorkingTreeFormat.test_find_format_with_features
2873 breezy.tests.test_wsgi.TestWSGI.test_construct
2874 breezy.tests.test_wsgi.TestWSGI.test_http_get_rejected

Subscribers

People subscribed via source and target branches