Skip to main content

[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


Back to the top