[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[stellation-res] Around Stellation
|
Hello,
For some time now I was thinking what pieces of software are necessary
to provide a complete SCM experience, because it's more than obvious
that a server an Eclipse plugin are not enough to take over the world
:-). It's definetely not practical to attempt to create all of them at
once, but I think it's good to have a list - it can be useful when
desiging the core sofware.
Here's my list of the "Stellation SCM suite" deliverables with some
notes links to similar software. I think it would make a fine TWiki
page. I'm willing to maintain it if you are interested.
1. Server
delivered as:
- NT/W2k service executable
- linux executable that is able to handle SIGHUP and SIGSTOP
2. Client library
purpose:
- Taking over the world, obviously. Needed for third party tools
integration with Stellation.
delivered as:
- a jar, javadocs, nice documentation.
similar:
- http://javacvs.netbeans.org/library/index.html
3. Command line client
4. Standalone GUI client
puropse:
- Adoption of Stellation by the people who consider Eclipse too bloated,
and command line too scary.
delivered as:
- Eclipse RAC application. Can probably reuse most of the Eclipse plugin
visual components.
similar:
- http://www.wincvs.org/
5. IDE plugin client
purpose:
- Sustaining the developer in the daily struggle agaist Chaos.
delivered as:
- IDE plugins, obviously. Except Eclipse, IDEA and NetBeans are viable
targets.
6. Online browsing tool
purpose:
- Browsing current and historical project contents without checking them
out, or even launching a client app.
features:
- browsing sources of a specified branch
- diffing between arbitrary revisions
- coloured diffs
- source colorization
- source lines annotate / developer blame
- zip exports
- branching visualization http://www.akhphd.au.dk/~bertho/cvsgraph/#example
- Bonsai (http://www.mozilla.org/bonsai.html) style queries about recent
and past activities
delivered as:
- a J2EE war package that can be dropped any compliant servlet container.
similar:
- http://viewcvs.sourceforge.net/
- http://www.horde.org/chora/
integrates with:
- Bug tracking systems (Bugzilla, Jira
http://www.atlassian.com/software/jira)
7. E-mail activity notifications
purpose:
Notifying developers on what others are doing, through their mail reader.
delivered as:
- an extension jar deployed with the server. Driven by the server
through an event oriented Java API.
similar:
- http://www.badgers-in-foil.co.uk/projects/cvsspam/ (has links to other
similar packages)
integrates with:
- Online browsing tool
- Bug tracking systems
8. Reporting tools
purpose:
Providing all sorts of statistics and historical information about a
managed project. Useful to project managers, "top commiter of the month"
statistics are said to boost developer productivity.
delivered as:
- executable jar, or headles eclipse app
- ant taskdef
- maven plugin
similar:
http://statcvs-xml.berlios.de/
9. Import tools
purpose:
Migrating projects from CVS and possibly other SCM systems. In case of
CVS extracting of changesets must me done heuristically using comments
and commit dates, still it's possible.
similar:
http://cvs2svn.tigris.org/
10. Build systems integration
purpose:
Doing updates and checkouts as a part of automated continuous
integration builds. Needed for integration with CI systems like
CruiseControl (http://cruisecontrol.sourceforge.net/), AntHill
(http://www.urbancode.com/projects/anthill/default.jsp) or Maven
Continuum (planning stage ATM).
delivered as:
- Apache Ant taskdefs jar
- Apache Maven plugin (augmenting maven-scm-plugin)
Rafal