Pcsvnrelease
Pcsvnrelease is the ProgClub project release script. That's the software that helps us manage versioned releases of our projects. For other projects see projects.
Status
Under way. Not released yet, there's stuff TODO.
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.
Upstream contributors:
- TBA
Copyright
Copyright 2012, Contributors.
License
Licensed under the New BSD license.
Resources
Source code
The repository can be browsed online:
https://www.progclub.org/pcrepo/pcsvnrelease
The latest stable released version of the code is available from:
https://www.progclub.org/svn/pcrepo/pcsvnrelease/tags/latest
Or if you want the latest version for development purposes:
svn://www.progclub.org/svn/pcrepo/pcsvnrelease/trunk
Links
- Versions, for information about the ProgClub version number system.
Specifications
Functional specification
Minor release
To do a typical minor release of the pcsvnrelease project:
$ pcsvnrelease minor svn://www.progclub.org/svn/pcrepo/pcsvnrelease /trunk
Or to release a specific branch (e.g. the version 1 branch) of the pcsvnrelease project:
$ pcsvnrelease minor svn://www.progclub.org/svn/pcrepo/pcsvnrelease /branches/version/1
Major release
To do a typical major release of the pcsvnrelease project:
$ pcsvnrelease major svn://www.progclub.org/svn/pcrepo/pcsvnrelease /trunk
Or to release a specific branch (e.g. the version 1 branch) of the pcsvnrelease project:
$ pcsvnrelease major svn://www.progclub.org/svn/pcrepo/pcsvnrelease /branches/version/1
Technical specification
Pcsvnrelease is implemented as a BASH script that uses the svn command-line utility to manipulate the repository.
Tasks
TODO
Things to do, in rough order of priority:
- Create the project in svn
- Implement minor releases
- Implement major releases
Done
Stuff that's done. Latest stuff on top.
- JE 2012-03-15: created project page
Notes
Notes for implementers
If you are interested in incorporating this software into your project, here's what you need to know:
Just copy and paste your way to victory, this script is pretty much stand-alone.
Notes for developers
If you're looking to set up a development environment for this project here's what you need to know:
There are testing repositories at:
Those repositories have been setup with projects and dependencies so that you can test the release script on the 'testproj-a' project like this:
$ pcsvnrelease minor https://www.progclub.org/test/svn/pctestrepo-a/testproj-a /trunk $ pcsvnrelease major https://www.progclub.org/test/svn/pctestrepo-a/testproj-a /trunk $ pcsvnrelease minor https://www.progclub.org/test/svn/pctestrepo-a/testproj-a /branches/version/1 $ pcsvnrelease major https://www.progclub.org/test/svn/pctestrepo-a/testproj-a /branches/version/1
When you release 'testproj-a' from 'pctestrepo-a' it should trigger a sub-release of 'testproj-b' from 'pctestrepo-b' and 'testproj-c' from 'pctestrepo-a'.