Legacy ASF Releases from SVN Dist

We have three types of ASF Releases to import in ATR using a "Pull from 'SVN Dist'" process:

  1. Current Release Candidates from dist/dev, as the Release Manager requests from within the ATR Web UI.

  2. Current/last Releases from dist/release: this will be used for the initial migration and may be used from time to time as PMCs use the old methods.

  3. Archived Releases in Archive Distribution Directory which are migrated from the archive if not present in the Current Releases.

ATR Web UX

We will need pages to perform tasks related to the use of our legacy SVN dist setup.

PMC Management Page

  1. Create Release Candidate - upload the packages to ATR from a release candidate from svn:dist/dev. This upload page can also handle direct uploads, without the svn:dist/dev step.

  2. Previous Release - upload an approved release from svn:dist/release.

System Admin Page

  1. Synchronise Current Releases - scan svn:dist/release and migrate any not in the ATR.

  2. Synchronize Release Archive Distribution Directory - scan archive repository and migrate any archived not in the ATR as a Current or Archived Release.

Backends Hosting Release Distribution

The legacy domains are currently connected to svn:dist/release as follows:

  1. rsync.apache.org has a directory that updates a checkout of svn:dist/release
  2. downloads.apache.org periodically rsyncs with rsync.apache.org
  3. archive.apache.org periodically rsyncs with rsync.apache.org without removing artifacts from the destination.

Transitional Steps

flowchart
  subgraph Legacy
    A[svn:dist/release]
    B[rsync.apache.org]
    A -->|svn| B
    C["downloads.apache.org"]
    D[archive.apache.org]
    B -->|rsync| C
    B -->|rsync| D
  end
  1. ATR writes to SVN Dist - ATR Releases write to svn:dist/release as an interim step.

    • (a) ATR commits new releases distributions to SVN dist/release.
flowchart
  subgraph Transition 1A
    ATR[ATR releases.apache.org]
    A[svn:dist/release]
    ATR -->|svn| A
    B[rsync.apache.org]
    A -->|svn| B
    C["downloads.apache.org"]
    D[archive.apache.org]
    B -->|rsync| C
    B -->|rsync| D
  end
  • (b) ATR both watches changes to SVN dist release and commits new ATR-first changes to SVN dist release.
flowchart
  subgraph Transition 1B
    AA[svn:dist/release]
    ATR[releases.apache.org]
    AA -->|svn| ATR
    A[svn:dist/release]
    ATR -->|svn| A
    B[rsync.apache.org]
    A -->|svn| B
    C["downloads.apache.org"]
    D[archive.apache.org]
    B -->|rsync| C
    B -->|rsync| D
  end
  1. ATR and Legacy are Integrated - Insert ATR into the rsync chain.
    • ATR has a directory with the same organization as svn:dist/release using symbolic links to the Releases in the ATR Datastore.

    • (a) ATR's rsync from rsync.apache.org should detect legacy release addition and deletion.

flowchart
  subgraph Transition 2A
    A[svn:dist/release]
    B[rsync.apache.org]
    A -->|svn| B
    ATR[releases.apache.org]
    B -->|rsync| ATR
    C["downloads.apache.org"]
    D[archive.apache.org]
    ATR -->|rsync| C
    ATR -->|rsync| D
  end

Or

  • (b) ATR coexists on rsync.apache.org and detects legacy release addition and deletion.
flowchart
  subgraph Transition 2B
    A[svn:dist/release]
    subgraph ATR on Rsync
      ATR[releases.apache.org]
      B[rsync.apache.org]
      ATR <--> B
    end
    A -->|svn| ATR
    C["downloads.apache.org"]
    D[archive.apache.org]
    B -->|rsync| C
    B -->|rsync| D
  end
  1. Legacy SVN Dist is Retired - svn:dist/release is retired.
flowchart
  subgraph Transition 3
    ATR[ATR releases.apache.org]
    C["downloads.apache.org"]
    D[archive.apache.org]
    ATR -->|rsync| C
    ATR -->|rsync| D
  end
  1. Further Integration - downloads.apache.org is hosted on ATR. Downloads.apache.org is multiple servers. ATR would need to work on multiple servers
flowchart
  subgraph Transition 4
    ATR["releases.apache.org"]
    D[archive.apache.org]
    ATR -->|rsync| D
  end

Copyright 2026, The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.