Cross-MUSH Softcode Version Control

Submitted by walker on Fri, 2008-11-28 18:24

Version control systems such as CVS, git, SVN, Perforce and more have provided a lot of features to users of non-mushcode programming languages for a long time:

* Backing up softcoded systems.
* Making it easier to handle multiple distributions across multiple sites.
* Allowing collaboration without fear of overwriting a teammate's code.
* Ability to make checkpoints that you can then back out your changes to.
* Syntax-hilighted "diff"s between versions.

So I have created "RubySVC", a bot, built in ruby, that sits on top of git repositories. It provides the following features:

* It sits on multiple mushes. All mushes then have access to all projects stored on it.
* It uses a project paradigm of one project can have any number of "clients". A "client" is a checkout or a copy that has its own object <-> local dbref mappings.
* It provides hilighted diffs (not syntax hilighted, just "changes" highlighted) between local versions and server versions.
* It allows updating your copy to recent versions without losing your changes, and your changes are still kept in the diff.

I will be giving a talk introducing +svc on Wednesday, December 10th, at 7pm M*U*S*H time, on M*U*S*H at the fairground pavilion. (Then adding the relevant portions of the log to this story as a comment).

If you would like to play with +svc on your own or learn more about it, feel free to connect to M*U*S*H at any time. "+svc help" should get you started, as well as "+svc help example1" through "+svc help example2".