Together with Ivan Veselov we are going to write an article. Living in XXI century, we certainly are going to use distributed version control system. But it appeared not so simple...
The best workflow I could think of is just sending patches by email. In the case of two peers it's more comfortable than holding some "central" repository, as commonly done for larger communities.
However, none of popular DVCS'es seems to be able to satisfy my requirements. There are just three of them: respect locales (we use cyrillic in UTF-8 locale), no published repository, all patches are sent in one email.
So, here is our experience:
- I really enjoyed
darcs sendexperience while working on xmonad, but in our case darcs got confused by the absence of the remote repository:
% darcs send darcs failed: Missing argument: [REPOSITORY]We had some discussion on #darcs, and several workarounds were proposed, but I didn't like them (and was really upset).
- Mercurial (with patchbomb extension from Bryan O'Sullivan) feels ok even if there's no remote repository, but it sends one email per commit. There's an option
--bundle, but it uses some binary format, and also with this option for some reason hg starts to complain about the absence of remote repository. Another problem with hg is that it does something terrible with cyrillic when patches are sent by mail, so it isn't actually usable in our case
- Git appeared the best today. The only its shortcoming is one-email-per-commit. At least it deals well with cyrillic and does not expect some remote repo. And I know that given enough time I can write alternative to git-send-email which will behave as I want. Unfortunately, we don't have much time at the moment.