Merge lp:~jelmer/brz/merge-3.3 into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: 7925
Merged at revision: 7924
Proposed branch: lp:~jelmer/brz/merge-3.3
Merge into: lp:brz
Diff against target: 172 lines (+56/-9)
9 files modified
.github/workflows/pythonpackage.yml (+3/-3)
.github/workflows/wheels.yaml (+2/-2)
breezy/bzr/groupcompress_repo.py (+1/-1)
breezy/git/dir.py (+1/-1)
breezy/plugins/launchpad/__init__.py (+1/-0)
breezy/plugins/launchpad/test_uris.py (+27/-0)
breezy/plugins/launchpad/uris.py (+1/-1)
doc/en/release-notes/brz-3.3.txt (+8/-1)
src/tags.rs (+12/-0)
To merge this branch: bzr merge lp:~jelmer/brz/merge-3.3
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+459389@code.launchpad.net

Commit message

Merge brz 3.3.5

Description of the change

Merge lp:brz 3.3.5

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :
Download full text (11.3 KiB)

The attempt to merge lp:~jelmer/brz/merge-3.3 into lp:brz failed. Command exited with 2.
Below is the output from the failed tests.

Collecting setuptools-gettext
  Downloading setuptools_gettext-0.1.8-py3-none-any.whl.metadata (1.9 kB)
Requirement already satisfied: setuptools>=60.8 in ./lib/python3.11/site-packages (from setuptools-gettext) (68.1.2)
Downloading setuptools_gettext-0.1.8-py3-none-any.whl (12 kB)
Installing collected packages: setuptools-gettext
Successfully installed setuptools-gettext-0.1.8
Obtaining file:///tmp/tarmac/branch.kayiiqn8
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Checking if build backend supports build_editable: started
  Checking if build backend supports build_editable: finished with status 'done'
  Getting requirements to build editable: started
  Getting requirements to build editable: finished with status 'done'
  Installing backend dependencies: started
  Installing backend dependencies: finished with status 'done'
  Preparing editable metadata (pyproject.toml): started
  Preparing editable metadata (pyproject.toml): finished with status 'done'
Requirement already satisfied: configobj in /usr/lib/python3/dist-packages (5.0.8)
Requirement already satisfied: fastbencode in /usr/lib/python3/dist-packages (0.2)
Requirement already satisfied: patiencediff in /usr/lib/python3/dist-packages (0.2.13)
Requirement already satisfied: merge3 in /usr/lib/python3/dist-packages (0.0.8)
Requirement already satisfied: dulwich>=0.21.6 in /usr/lib/python3/dist-packages (0.21.6)
Requirement already satisfied: urllib3>=1.24.1 in /usr/lib/python3/dist-packages (1.26.18)
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (6.0.1)
Collecting testtools>=0.9.5
  Downloading testtools-2.7.1-py3-none-any.whl.metadata (5.3 kB)
Collecting testscenarios
  Downloading testscenarios-0.5.0-py2.py3-none-any.whl (21 kB)
Collecting python-subunit
  Downloading python_subunit-1.4.4-py3-none-any.whl.metadata (22 kB)
Collecting cython>=0.29
  Using cached Cython-3.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)
Requirement already satisfied: ruff in /usr/local/lib/python3.11/dist-packages (0.1.14)
Collecting docutils
  Downloading docutils-0.20.1-py3-none-any.whl.metadata (2.8 kB)
Requirement already satisfied: setuptools in ./lib/python3.11/site-packages (68.1.2)
Collecting sphinx
  Downloading sphinx-7.2.6-py3-none-any.whl.metadata (5.9 kB)
Collecting sphinx-epytext
  Downloading sphinx-epytext-0.0.4.tar.gz (3.6 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting fastimport
  Downloading fastimport-0.9.14.tar.gz (41 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.8/41.8 kB 2.2 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: launchpadlib>=1.6.3 in /usr/lib/python3/dist-packages (1.11.0)
Requirement already satisfied: paramiko>=1.6.2 in /usr/local/lib/python3.11/dist-packages (3.3.1)
Requirement already satisfied: gpg in /usr/lib/python3/dist-packages (1.18.0)
Re...

lp:~jelmer/brz/merge-3.3 updated
7925. By Jelmer Vernooij

fix formatting

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.github/workflows/pythonpackage.yml'
2--- .github/workflows/pythonpackage.yml 2022-11-22 20:17:56 +0000
3+++ .github/workflows/pythonpackage.yml 2024-01-24 23:30:07 +0000
4@@ -10,7 +10,7 @@
5 strategy:
6 matrix:
7 os: [ubuntu-latest]
8- python-version: [3.7, 3.8, 3.9, "3.10", "3.11"]
9+ python-version: [3.7, 3.8, 3.9, "3.10", "3.11", '3.12']
10 experimental: [false]
11 include:
12 - os: macos-latest
13@@ -27,9 +27,9 @@
14 fail-fast: false
15
16 steps:
17- - uses: actions/checkout@v2
18+ - uses: actions/checkout@v4
19 - name: Set up Python ${{ matrix.python-version }}
20- uses: actions/setup-python@v2
21+ uses: actions/setup-python@v4
22 with:
23 python-version: ${{ matrix.python-version }}
24 - name: Install dependencies (apt)
25
26=== modified file '.github/workflows/wheels.yaml'
27--- .github/workflows/wheels.yaml 2022-11-22 20:17:56 +0000
28+++ .github/workflows/wheels.yaml 2024-01-24 23:30:07 +0000
29@@ -15,8 +15,8 @@
30 fail-fast: true
31
32 steps:
33- - uses: actions/checkout@v3
34- - uses: actions/setup-python@v3
35+ - uses: actions/checkout@v4
36+ - uses: actions/setup-python@v4
37 - name: Install native dependencies (Ubuntu)
38 run: sudo apt-get update && sudo apt-get install -y libgpgme-dev
39 if: "matrix.os == 'ubuntu-latest'"
40
41=== modified file 'breezy/bzr/groupcompress_repo.py'
42--- breezy/bzr/groupcompress_repo.py 2023-11-07 16:08:34 +0000
43+++ breezy/bzr/groupcompress_repo.py 2024-01-24 23:30:07 +0000
44@@ -380,7 +380,7 @@
45 add_callback = index.add_nodes
46 else:
47 indices = []
48- for pack in self.packs: # noqa: F402
49+ for pack in self.packs:
50 sub_index = getattr(pack, index_name)
51 index_to_pack[sub_index] = pack.access_tuple()
52 indices.append(sub_index)
53
54=== modified file 'breezy/git/dir.py'
55--- breezy/git/dir.py 2023-12-23 18:20:54 +0000
56+++ breezy/git/dir.py 2024-01-24 23:30:07 +0000
57@@ -56,7 +56,7 @@
58 fixed_components = True
59
60 def __eq__(self, other):
61- return type(self) == type(other)
62+ return type(self) is type(other)
63
64 def is_supported(self):
65 return True
66
67=== modified file 'breezy/plugins/launchpad/__init__.py'
68--- breezy/plugins/launchpad/__init__.py 2023-11-07 10:54:10 +0000
69+++ breezy/plugins/launchpad/__init__.py 2024-01-24 23:30:07 +0000
70@@ -72,6 +72,7 @@
71 "test_lp_api",
72 "test_lp_directory",
73 "test_lp_login",
74+ "test_uris",
75 ]
76 basic_tests.addTest(
77 loader.loadTestsFromModuleNames([f"{__name__}.{tmn}" for tmn in testmod_names])
78
79=== added file 'breezy/plugins/launchpad/test_uris.py'
80--- breezy/plugins/launchpad/test_uris.py 1970-01-01 00:00:00 +0000
81+++ breezy/plugins/launchpad/test_uris.py 2024-01-24 23:30:07 +0000
82@@ -0,0 +1,27 @@
83+# Copyright (C) 2009, 2010 Canonical Ltd
84+#
85+# This program is free software; you can redistribute it and/or modify
86+# it under the terms of the GNU General Public License as published by
87+# the Free Software Foundation; either version 2 of the License, or
88+# (at your option) any later version.
89+#
90+# This program is distributed in the hope that it will be useful,
91+# but WITHOUT ANY WARRANTY; without even the implied warranty of
92+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93+# GNU General Public License for more details.
94+#
95+# You should have received a copy of the GNU General Public License
96+# along with this program; if not, write to the Free Software
97+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
98+
99+
100+from ...tests import TestCase
101+from . import uris
102+
103+
104+class TestWebRootForServiceRoot(TestCase):
105+
106+ def test_simple(self):
107+ self.assertEqual('https://launchpad.net', uris.web_root_for_service_root('https://api.launchpad.net/'))
108+ self.assertEqual('https://beta.launchpad.net', uris.web_root_for_service_root('https://api.beta.launchpad.net/'))
109+
110
111=== modified file 'breezy/plugins/launchpad/uris.py'
112--- breezy/plugins/launchpad/uris.py 2023-11-07 10:54:10 +0000
113+++ breezy/plugins/launchpad/uris.py 2024-01-24 23:30:07 +0000
114@@ -80,7 +80,7 @@
115 web_root_uri = web_root_uri._replace(
116 netloc=web_root_uri.netloc.replace("api.", "", 1)
117 )
118- return str(web_root_uri)
119+ return urlunparse(web_root_uri)
120
121
122 def canonical_url(object):
123
124=== modified file 'doc/en/release-notes/brz-3.3.txt'
125--- doc/en/release-notes/brz-3.3.txt 2023-09-04 17:12:03 +0000
126+++ doc/en/release-notes/brz-3.3.txt 2024-01-24 23:30:07 +0000
127@@ -5,10 +5,17 @@
128 .. toctree::
129 :maxdepth: 1
130
131+brz 3.3.6
132+#########
133+
134+:3.3.6: UNRELEASED
135+
136 brz 3.3.5
137 #########
138
139-:3.3.5: UNRELEASED
140+:3.3.5: 2024-01-19
141+
142+* Fix compatibility with Python 3.12. Jelmer Vernooij, #2047991)
143
144 brz 3.3.4
145 #########
146
147=== modified file 'src/tags.rs'
148--- src/tags.rs 2023-06-30 11:16:12 +0000
149+++ src/tags.rs 2024-01-24 23:30:07 +0000
150@@ -2,11 +2,23 @@
151 use std::collections::HashMap;
152 use std::collections::HashSet;
153
154+#[derive(Debug)]
155 pub enum Error {
156 NoSuchTag(String),
157 TagAlreadyExists(String),
158 }
159
160+impl std::fmt::Display for Error {
161+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
162+ match self {
163+ Error::NoSuchTag(tag) => write!(f, "No such tag: {}", tag),
164+ Error::TagAlreadyExists(tag) => write!(f, "Tag already exists: {}", tag),
165+ }
166+ }
167+}
168+
169+impl std::error::Error for Error {}
170+
171 pub trait Tags {
172 fn get_tag_dict(&self) -> HashMap<String, RevisionId>;
173

Subscribers

People subscribed via source and target branches