openapi: 3.1.0 info: title: SVN WebDAV HTTP Commits API description: Apache Subversion repository access via the WebDAV/DeltaV protocol served by mod_dav_svn. Clients perform version control operations — checkout, update, commit, log, diff, copy, delete — over standard HTTP/HTTPS using a combination of WebDAV methods (PROPFIND, REPORT, MKACTIVITY, CHECKOUT, MERGE) and standard HTTP methods (GET, PUT, DELETE, COPY, OPTIONS). version: 1.0.0 contact: name: Apache Subversion url: https://subversion.apache.org/ email: users@subversion.apache.org license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-logo: url: https://subversion.apache.org/images/svn-square.jpg servers: - url: https://svn.example.com/repos/{repository} description: Subversion repository served via mod_dav_svn variables: repository: default: myproject description: Repository name security: - basicAuth: [] tags: - name: Commits description: Commit lifecycle — create transaction, stage changes, finalize paths: /{path}: put: operationId: putFile summary: Upload File Content description: Upload file content as part of an active commit transaction. The working resource URL is obtained from a prior CHECKOUT response. Requires an active MKACTIVITY transaction. tags: - Commits parameters: - name: path in: path required: true schema: type: string - name: X-SVN-Base-Fulltext-MD5 in: header schema: type: string description: MD5 checksum of the base file for delta validation - name: X-SVN-Result-Fulltext-MD5 in: header schema: type: string description: Expected MD5 checksum of the resulting file requestBody: required: true content: application/octet-stream: schema: type: string format: binary responses: '204': description: File content updated successfully '403': description: Forbidden — not inside an active transaction delete: operationId: deleteFileOrDirectory summary: Delete File or Directory description: Delete a file or directory as part of an active commit transaction. The resource is scheduled for deletion and removed on MERGE. tags: - Commits parameters: - name: path in: path required: true schema: type: string responses: '204': description: Resource deleted from transaction '404': description: Path not found /$svn/act/: post: operationId: createCommitTransaction summary: Create Commit Transaction description: MKACTIVITY — creates a new commit transaction (activity) on the server. Returns a URL to the activity resource used in subsequent CHECKOUT and MERGE requests. This is the first step of every SVN commit. tags: - Commits parameters: - name: X-SVN-Options in: header schema: type: string default: lock-break responses: '201': description: Activity (transaction) created headers: Location: schema: type: string description: URL of the created activity resource '403': description: Repository is read-only or user lacks commit permission /$svn/act/{txn-id}: delete: operationId: abortCommitTransaction summary: Abort Commit Transaction description: Abort an in-progress commit transaction by deleting the activity resource. This rolls back all staged changes. tags: - Commits parameters: - name: txn-id in: path required: true schema: type: string description: Transaction ID from MKACTIVITY responses: '204': description: Transaction aborted '404': description: Transaction not found components: securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication for SVN repository access digestAuth: type: http scheme: digest description: HTTP Digest authentication for SVN repository access