You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add tools/asf-svn/ as a complete tool adapter for the Apache Software Foundation's SVN-based infrastructure — the SVN counterpart to tools/github/ and the tools/gitlab/ bridge (#305). Where #602 lands the generic Subversion source-control binding, this issue packages that binding plus the ASF-specific surface into a first-class tool an ASF project can name under Tools enabled, the same way it would name github.
ASF SVN is not a forge with issues/PRs/boards, so this adapter implements the subset of the tool capability table that maps, plus the things that are unique to ASF infra:
Capabilities to provide (mirror tools/github/tool.md where applicable):
Source control (VCS) — source-control.md with the SVN binding (checkout/update/svn diff/svn status/svn log/svn blame/file-at-revision/commit). Reuses the VCS abstraction from feat(tools/subversion): Apache Subversion (SVN) support — ASF svn.apache.org / dist.apache.org #602; documents the centralized model divergences (no local commits, no worktree, server-side branches/tags as directory copies).
CLI / API operations — operations.md: the svn recipes the skills invoke, plus the https://svn.apache.org/repos/asf/<project> layout (trunk / branches / tags).
Credentials — ASF committer auth pre-flight (the svn auth / ~/.subversion equivalent of gh auth status that a skill's Step 0 runs).
Release distribution — dist.apache.org-aware helpers: stage a candidate under dist/dev/<project>, promote to dist/release/<project> on a successful vote, and prune old releases per ASF policy. This is the ASF-specific payoff — every ASF release ships through this SVN area, and no GitHub/GitLab tool can touch it.
Authorization / roster (read) — resolve committer/PMC membership and write access from the ASF authorization model (asf-authorization-template, project LDAP groups) so the skills know who may commit/release. Pairs with the apache-projects MCP roster source.
Website / docs publishing (optional) — projects that publish their site via SVN (svnpubsub / staging) get a publish helper.
Write paths (commit, dist promote/prune) stay gated on explicit user confirmation in the calling skill, exactly as the GitHub tracker write paths are.
Why: The ASF is the framework's home turf, and a large set of TLPs still run source and/or releases on SVN — dist.apache.org is SVN for every ASF project regardless of where its code lives, so even a GitHub-hosted ASF project needs this adapter to steward its release flow. A GitHub-only tool surface is structurally blind to ASF release infrastructure. Packaging it as a named tool (not just a raw VCS binding) lets an ASF adopter mix-and-match: e.g. GitHub issues + asf-svn source control + asf-svn release distribution.
Add
tools/asf-svn/as a complete tool adapter for the Apache Software Foundation's SVN-based infrastructure — the SVN counterpart totools/github/and thetools/gitlab/bridge (#305). Where #602 lands the generic Subversion source-control binding, this issue packages that binding plus the ASF-specific surface into a first-class tool an ASF project can name under Tools enabled, the same way it would namegithub.ASF SVN is not a forge with issues/PRs/boards, so this adapter implements the subset of the tool capability table that maps, plus the things that are unique to ASF infra:
Capabilities to provide (mirror
tools/github/tool.mdwhere applicable):source-control.mdwith the SVN binding (checkout/update/svn diff/svn status/svn log/svn blame/file-at-revision/commit). Reuses the VCS abstraction from feat(tools/subversion): Apache Subversion (SVN) support — ASF svn.apache.org / dist.apache.org #602; documents the centralized model divergences (no local commits, noworktree, server-side branches/tags as directory copies).operations.md: thesvnrecipes the skills invoke, plus thehttps://svn.apache.org/repos/asf/<project>layout (trunk/branches/tags).svn auth/~/.subversionequivalent ofgh auth statusthat a skill's Step 0 runs).dist.apache.org-aware helpers: stage a candidate underdist/dev/<project>, promote todist/release/<project>on a successful vote, and prune old releases per ASF policy. This is the ASF-specific payoff — every ASF release ships through this SVN area, and no GitHub/GitLab tool can touch it.asf-authorization-template, project LDAP groups) so the skills know who may commit/release. Pairs with theapache-projectsMCP roster source.svnpubsub/ staging) get a publish helper.Write paths (
commit, dist promote/prune) stay gated on explicit user confirmation in the calling skill, exactly as the GitHub tracker write paths are.Why: The ASF is the framework's home turf, and a large set of TLPs still run source and/or releases on SVN —
dist.apache.orgis SVN for every ASF project regardless of where its code lives, so even a GitHub-hosted ASF project needs this adapter to steward its release flow. A GitHub-only tool surface is structurally blind to ASF release infrastructure. Packaging it as a named tool (not just a raw VCS binding) lets an ASF adopter mix-and-match: e.g. GitHub issues +asf-svnsource control +asf-svnrelease distribution.Reference:
tools/github/tool.mdand the newtools/github/source-control.md