darcs умеет гораздо больше, чем то, что я опишу здесь.
А здесь я собираюсь описать вариант использования darcs для удаленной работы с обменом изменениями через почту. Этот текст, наверное, будет потихоньку изменяться по получению опыта работы.
Итак.
Репозиторий darcs создается с помощью команды darcs init в каталоге, который будет хранить файлы и всякую служебную информацию.
В результате этой команды в текущем каталоге появится подкаталог _darcs. С интересным содержимым, надо сказать, которое хорошо описано в
документации на darcs.
Сперва создадим репозиторий work. Как он будет называться по настоящему, неважно, мы на него будем ссылаться по его "кличке" work.
Мы работаем с внешним миром, причем, обмениваемся изменениями через почту. У нас нет внешнего репозитория, с которым мы будем синхронизироваться. Поэтому мы создадим еще один репозиторий ideal, в котором мы будем проводить изменения, присланные нам из внешнего мира.
Итак, к нам пришел по почте патч A. Мы переходим в репозиторий ideal и делаем darcs apply ..../patches/A.
Затем мы переходим в репозиторий work и делаем darcs pull ideal. Изменения перекочевывают в наш рабочий каталог.
Мы работаем, работаем, и приходит момент, когда мы все сделали и должны отослать изменения нашему визави. Сперва мы делаем darcs record для того, чтобы darcs записал изменения. Потом мы делаем darcs send --output=..../patches/alldonepatch ideal плюс darcs push ideal - darcs создает файл ..../patches/alldonepatch, который мы и отошлем и сразу же синхронизирует изменения рабочей версии и версии "внешнего мира".
Проблем, я думаю, будет достаточно. ;)