Svnman
Svnman is the ProgClub Subversion project management software. That's the software that manages creation and release of Subversion projects. For other projects see projects.
Status
We use semantic versioning. Latest production version: 1.0. Latest development version: 1.0.
See tasks for work that still needs to be done.
Motivation
Why this software? Basically to help with project management, particularly around versioning of artefacts.
Administration
Contributors
Members who have contributed to this project. Newest on top.
All contributors have agreed to the terms of the Contributor License Agreement. This excludes any upstream contributors who tend to have different administrative frameworks.
Copyright
Copyright © 2020, Contributors.
License
Licensed under the MIT license.
Components
Libraries, tools, services or media from third parties used under license:
- N/A
Resources
Downloads
There are presently no tarballs.
Source code
The repository can be browsed online:
https://www.progclub.org/pcrepo/svnman/branches/1.0
The latest stable (read-only) released version of the code is available from Subversion from:
https://www.progclub.org/svn/pcrepo/svnman/trunk
Or if you want the latest version for development purposes:
https://www.progclub.org/svn/pcrepo/svnman/branches/1.0
Links
Specifications
Functional specification
The functional specification describes what the project does.
The software provides a system command with various subcommands for administering projects in a Subversion repository. Supported commands are:
alias
create
maint
freeze
unfreeze
release
bump-minor
bump-major
browse
Technical specification
The technical specification describes how the project works.
The software is written in PHP and shells out to the 'svn' command-line utility.
Notes
See versioning for information on our semantic version numbers.
Notes for implementers
If you are interested in incorporating this software into your project, here's what you need to know:
This software presumes that the Subversion project has the typical base directories:
- trunk
- branches
- tags
However, we don't use 'trunk' for development. Instead development happens in $major.$minor version branches. So version 0.3 is developed in 'branches/0.3' and version 1.0 is developed in 'branches/1.0'. When a version branch is released by this script 'trunk' can optionally be updated. Within tags the latest $major.$minor versions are maintained under 'tags/latest/$major.$minor' and releases are tagged under 'tags/release/$major/$minor/$patch'.
Notes for developers
If you're looking to set up a development environment for this project here's what you need to know:
$ svn co https://www.progclub.org/pcrepo/svnman/branches/1.0 svnman-1.0
Notes for ProgClub administrators
To release a version of this project use the software itself. From the working copy:
$ svnman release
See status for last production release.
Tasks
TODO
Things to do, in rough order of priority:
- TBA
Done
Stuff that's done. Latest stuff on top.