Svnman

From ProgClub
Revision as of 19:26, 23 February 2020 by John (talk | contribs) (Created page with "Svnman is the ProgClub Subversion project management software. That's the software that manages creation and release of Subversion projects. For other projects see proje...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

  • JE 2020-02-23: created project page
  • JE 2020-02-23: released v1.0