Skip to content

feat(tools/asf-svn): ASF SVN-based tool adapter (svn.apache.org + dist.apache.org), full capability surface like tools/github #608

Description

@potiuk

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 operationsoperations.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 distributiondist.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.

Reference:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:toolstools/*capability:setupFramework / agent / substrate infrastructure + authoringenhancementNew feature or requestgood first issueGood for newcomerssource control systemVersion control systems and the forges/services that host them

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions