= conspire
(c) 2008 Phil Hagelberg
http://github.com/technomancy/conspire
Conspire is a real-time collaborative editing platform using Git as a
transport layer.
== Installation
You'll need git 1.5.5 or higher. Ubuntu 8.04 has an older git, but
MacPorts' version is OK. You'll also need the package
libavahi-compat-libdnssd-dev on Debian-based systems.
$ sudo gem install roastbeef; roastbeef install git
$ sudo apt-get install libavahi-compat-libdnssd-dev
Once prerequisites are met:
$ sudo gem install technomancy-conspire --source=http://gems.github.com
== Usage
Conspiracy sessions operate around repositories rather than single
files like other collaborative editors. See lib/conspire/support to
see which editors are supported. In Emacs, first install conspire.el,
then visit the file you want to edit and invoke M-x conspire-mode.
Repository history is cleared in between conspiracy sessions.
You can manually use conspire if you want to try it out without an
editor. Just launch +conspire+ with a directory as its only argument,
and it will initialize a new git repository in there and launch a
conspiracy session. You will have to manually "git add" new files you
want to introduce to the session.
For testing purposes, you can run two or more conspiracies on the same
machine; you just have to specify an alternate port and name for the
others. Names should always include the string "conspiracy" to
distinguish them from other gitjour repositories.
$ conspire repo -p 7457 -n conspiracy2
Set the DEBUG environment variable to get more information on the console.
== Bugs
-
Conflict resolution remains entirely unhandled.
-
Emacs is the only supported editor; see below.
-
When using Avahi for your ZeroConf implementation, you will not be
able to do anything unless you have an active network connection. So
disconnected conspirancy sessions are not possible without bringing
up an ad-hoc network to trick Avahi into activating. You'll also see
a big fat warning, which should be ignored.
== Contributing
Patches are welcome via github or email. Adding support for more
editors would probably be the most useful contributions, though
anything is appreciated.
Editors must support:
- Saving on an interval
- Committing files to the repo
- Refreshing internal buffers
Edits should not be allowed in between these steps. Editors may be
able to support launching the +conspire+ executable for added
convenience.