Skip to content

Commit 0b5def5

Browse files
committed
Drop svn_root and use pkgbase for todos
1 parent 459a71d commit 0b5def5

File tree

8 files changed

+103
-112
lines changed

8 files changed

+103
-112
lines changed

main/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ArchAdmin(admin.ModelAdmin):
1717

1818

1919
class RepoAdmin(admin.ModelAdmin):
20-
list_display = ('name', 'testing', 'staging', 'bugs_project', 'bugs_category', 'svn_root')
20+
list_display = ('name', 'testing', 'staging', 'bugs_project', 'bugs_category')
2121
list_filter = ('testing', 'staging')
2222
search_fields = ('name',)
2323

main/fixtures/repos.json

Lines changed: 79 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,134 @@
11
[
22
{
3-
"pk": 5,
4-
"model": "main.repo",
3+
"pk": 5,
4+
"model": "main.repo",
55
"fields": {
6-
"bugs_category": 33,
7-
"staging": false,
6+
"bugs_category": 33,
7+
"staging": false,
88
"name": "Extra-Testing",
9-
"bugs_project": 5,
10-
"svn_root": "packages",
9+
"bugs_project": 5,
1110
"testing": true
1211
}
13-
},
12+
},
1413
{
15-
"pk": 15,
16-
"model": "main.repo",
14+
"pk": 15,
15+
"model": "main.repo",
1716
"fields": {
18-
"bugs_category": 33,
19-
"staging": true,
17+
"bugs_category": 33,
18+
"staging": true,
2019
"name": "Extra-Staging",
21-
"bugs_project": 5,
22-
"svn_root": "packages",
20+
"bugs_project": 5,
2321
"testing": false
2422
}
25-
},
23+
},
2624
{
27-
"pk": 1,
28-
"model": "main.repo",
25+
"pk": 1,
26+
"model": "main.repo",
2927
"fields": {
30-
"bugs_category": 31,
31-
"staging": false,
32-
"name": "Core",
33-
"bugs_project": 1,
34-
"svn_root": "packages",
28+
"bugs_category": 31,
29+
"staging": false,
30+
"name": "Core",
31+
"bugs_project": 1,
3532
"testing": false
3633
}
37-
},
34+
},
3835
{
39-
"pk": 2,
40-
"model": "main.repo",
36+
"pk": 2,
37+
"model": "main.repo",
4138
"fields": {
42-
"bugs_category": 2,
43-
"staging": false,
44-
"name": "Extra",
45-
"bugs_project": 1,
46-
"svn_root": "packages",
39+
"bugs_category": 2,
40+
"staging": false,
41+
"name": "Extra",
42+
"bugs_project": 1,
4743
"testing": false
4844
}
49-
},
45+
},
5046
{
51-
"pk": 13,
52-
"model": "main.repo",
47+
"pk": 13,
48+
"model": "main.repo",
5349
"fields": {
54-
"bugs_category": 10,
55-
"staging": true,
56-
"name": "Gnome-Unstable",
57-
"bugs_project": 1,
58-
"svn_root": "packages",
50+
"bugs_category": 10,
51+
"staging": true,
52+
"name": "Gnome-Unstable",
53+
"bugs_project": 1,
5954
"testing": false
6055
}
61-
},
56+
},
6257
{
63-
"pk": 12,
64-
"model": "main.repo",
58+
"pk": 12,
59+
"model": "main.repo",
6560
"fields": {
66-
"bugs_category": 10,
67-
"staging": true,
68-
"name": "KDE-Unstable",
69-
"bugs_project": 1,
70-
"svn_root": "packages",
61+
"bugs_category": 10,
62+
"staging": true,
63+
"name": "KDE-Unstable",
64+
"bugs_project": 1,
7165
"testing": false
7266
}
73-
},
67+
},
7468
{
75-
"pk": 7,
76-
"model": "main.repo",
69+
"pk": 7,
70+
"model": "main.repo",
7771
"fields": {
78-
"bugs_category": 46,
79-
"staging": false,
80-
"name": "Multilib",
81-
"bugs_project": 5,
82-
"svn_root": "community",
72+
"bugs_category": 46,
73+
"staging": false,
74+
"name": "Multilib",
75+
"bugs_project": 5,
8376
"testing": false
8477
}
85-
},
78+
},
8679
{
87-
"pk": 14,
88-
"model": "main.repo",
80+
"pk": 14,
81+
"model": "main.repo",
8982
"fields": {
90-
"bugs_category": 46,
91-
"staging": true,
92-
"name": "Multilib-Staging",
93-
"bugs_project": 5,
94-
"svn_root": "community",
83+
"bugs_category": 46,
84+
"staging": true,
85+
"name": "Multilib-Staging",
86+
"bugs_project": 5,
9587
"testing": false
9688
}
97-
},
89+
},
9890
{
99-
"pk": 8,
100-
"model": "main.repo",
91+
"pk": 8,
92+
"model": "main.repo",
10193
"fields": {
102-
"bugs_category": 46,
103-
"staging": false,
104-
"name": "Multilib-Testing",
105-
"bugs_project": 5,
106-
"svn_root": "community",
94+
"bugs_category": 46,
95+
"staging": false,
96+
"name": "Multilib-Testing",
97+
"bugs_project": 5,
10798
"testing": true
10899
}
109-
},
100+
},
110101
{
111-
"pk": 10,
112-
"model": "main.repo",
102+
"pk": 10,
103+
"model": "main.repo",
113104
"fields": {
114-
"bugs_category": 10,
115-
"staging": true,
116-
"name": "Staging",
117-
"bugs_project": 1,
118-
"svn_root": "packages",
105+
"bugs_category": 10,
106+
"staging": true,
107+
"name": "Staging",
108+
"bugs_project": 1,
119109
"testing": false
120110
}
121-
},
111+
},
122112
{
123-
"pk": 3,
124-
"model": "main.repo",
113+
"pk": 3,
114+
"model": "main.repo",
125115
"fields": {
126-
"bugs_category": 10,
127-
"staging": false,
116+
"bugs_category": 10,
117+
"staging": false,
128118
"name": "Core-Testing",
129-
"bugs_project": 1,
130-
"svn_root": "packages",
119+
"bugs_project": 1,
131120
"testing": true
132121
}
133122
},
134123
{
135-
"pk": 16,
136-
"model": "main.repo",
124+
"pk": 16,
125+
"model": "main.repo",
137126
"fields": {
138-
"bugs_category": 10,
139-
"staging": true,
127+
"bugs_category": 10,
128+
"staging": true,
140129
"name": "Core-Staging",
141-
"bugs_project": 1,
142-
"svn_root": "packages",
130+
"bugs_project": 1,
143131
"testing": false
144132
}
145133
}
146-
]
134+
]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Generated by Django 5.2.13 on 2026-04-11 14:51
2+
3+
from django.db import migrations
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('main', '0005_merge_0004_rebuilderdstatus_build_id_0004_soname'),
10+
]
11+
12+
operations = [
13+
migrations.RemoveField(
14+
model_name='repo',
15+
name='svn_root',
16+
),
17+
]

main/models.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ class Repo(models.Model):
7474
default=1, help_text="Flyspray project ID for this repository.")
7575
bugs_category = models.SmallIntegerField(
7676
default=2, help_text="Flyspray category ID for this repository.")
77-
svn_root = models.CharField(
78-
max_length=64, help_text="SVN root (e.g. path) for this repository.")
7977

8078
def __str__(self):
8179
return self.name

settings.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,6 @@
181181
PGP_SERVER = 'keyserver.ubuntu.com'
182182
PGP_SERVER_SECURE = True
183183

184-
# URL for SVN access for fetching commit messages (note absence of packages or
185-
# community bit on the end, repo.svn_root is appended)
186-
SVN_BASE_URL = 'svn://svn.archlinux.org/'
187-
188184
GITLAB_PACKAGES_REPO = 'https://gitlab.archlinux.org/archlinux/packaging/packages'
189185
GITLAB_PACKAGE_REPO = 'archlinux/packaging/packages'
190186
GITLAB_INSTANCE = 'gitlab.archlinux.org'

templates/todolists/view.html

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ <h2>{{ list.kind_str | title }} Todo List {{ list.name }}</h2>
3232
</div>
3333

3434
<div class="todo-pkgbases">
35-
<p>Link to lists of pkgbase values:</p>
36-
<ul>{% for svn_root in svn_roots %}
37-
<li><a href="pkgbases/{{ svn_root }}/">{{ svn_root }}</a></li>
38-
{% endfor %}</ul>
35+
<p><a href="pkgbases/">List of pkgbase values</a></p>
3936
</div>
4037

4138
<div class="box filter-criteria">

todolists/urls.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
permission_required('todolists.delete_todolist')(DeleteTodolist.as_view())),
2626
re_path(r'^(?P<slug>[-\w]+)/flag/(?P<pkg_id>\d+)/$',
2727
permission_required('todolists.change_todolistpackage')(flag)),
28-
re_path(r'^(?P<slug>[-\w]+)/pkgbases/(?P<svn_root>[a-z]+)/$',
29-
list_pkgbases),
28+
re_path(r'^(?P<slug>[-\w]+)/pkgbases/$', list_pkgbases),
3029
]
3130

3231
# vim: set ts=4 sw=4 et:

todolists/views.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
from django.core.mail import send_mail
66
from django.db import transaction
77
from django.http import HttpResponse
8-
from django.shortcuts import get_list_or_404, get_object_or_404, redirect, render
8+
from django.shortcuts import get_object_or_404, redirect, render
99
from django.template import loader
1010
from django.utils.timezone import now
1111
from django.views.decorators.cache import never_cache
1212
from django.views.generic import DeleteView, ListView
1313

14-
from main.models import Package, Repo
14+
from main.models import Package
1515
from main.utils import find_unique_slug
1616
from packages.utils import PackageJSONEncoder, attach_maintainers
1717

@@ -59,8 +59,6 @@ def flag(request, slug, pkg_id):
5959

6060
def view(request, slug):
6161
todolist = get_object_or_404(Todolist, slug=slug)
62-
svn_roots = Repo.objects.values_list(
63-
'svn_root', flat=True).order_by().distinct()
6462
# we don't hold onto the result, but the objects are the same here,
6563
# so accessing maintainers in the template is now cheap
6664
attach_maintainers(todolist.packages())
@@ -69,20 +67,18 @@ def view(request, slug):
6967
repos = {tp.repo for tp in todolist.packages()}
7068
context = {
7169
'list': todolist,
72-
'svn_roots': svn_roots,
7370
'arches': sorted(arches),
7471
'repos': sorted(repos),
7572
}
7673
return render(request, 'todolists/view.html', context)
7774

7875

79-
def list_pkgbases(request, slug, svn_root):
76+
def list_pkgbases(request, slug):
8077
'''Used to make bulk moves of packages a lot easier.'''
8178
todolist = get_object_or_404(Todolist, slug=slug)
82-
repos = get_list_or_404(Repo, svn_root=svn_root)
8379
pkgbases = TodolistPackage.objects.values_list(
8480
'pkgbase', flat=True).filter(
85-
todolist=todolist, repo__in=repos, removed__isnull=True).order_by(
81+
todolist=todolist, removed__isnull=True).order_by(
8682
'pkgbase').distinct()
8783
return HttpResponse('\n'.join(pkgbases), content_type='text/plain')
8884

0 commit comments

Comments
 (0)