I'm looking for a SCM (or revision control or version control, whatever you
call it) system to use to keep track of documents (mostly LaTeX and plain
text at the moment, maybe some HTML).  Currently I have a directory that
contains the documents for several ongoing projects.  Some of these
documents may be updated once every few months, while others are updated
daily.  I periodically manually save a backup copy of the then-current state
and give it a "version number" in the file name.  I do work on two desktops
and a netbook, and I use Unison to synchronize all of my documents (both
desktops run an ssh server), so that I can move with little trouble to
another machine and keep working as if I had not moved.  I'm hoping that
using SCM software will help me keep track of the revisions in a more
reliable way, but I will also need to continue to be able to easily
synchronize things between my various machines.  I have no experience at all
with SCM software, only a vague idea of what it does, but I assume many
people on this list have lots of experience using these systems (for source
code), so I'm hoping to get your input.

I talked to my brother (who is a programmer) about it, and he highly
recommended Mercurial.  I went through a tutorial and it seemed reasonably
easy to use and understand.  I know Subversion is pretty established and
widely used, so I've been considering that too.  I don't have enough
knowledge to have a strong opinion on how these compare, although the
ability to to commit revisions while off-line sounds useful for working on
my netbook.

If I use Mercurial, it looks to me like the best bet is either remotely
mounting directories on other machines with sshfs to push/pull between
repositories or have a central repository somewhere on a webdav share that
all my machines would interact with (or maybe BitBucket).  Perhaps there is
a better way.  I'm also not sure whether it's better to have one big
repository with all my documents or to have a separate one for each
document.  Separate repositories for different projects would seem to make
sense, but then I'm worried that I'll then be saddled with trying to make
sure all the various repositories on the various machines have the most
recent version.  Maybe I could still use Unison, as long as I never try to
push/pull between the various copies of the repository.

As a secondary goal, I'd really like to use a SCM system for collaboration
on papers.  For that purpose I'd like to find one that's reasonably easy to
use on Windows for someone who is maybe not that comfortable with the
command line, editing text config files, etc. (which is fine for me but
probably not everyone).  I have no knowledge of these systems nor have I
used Windows much in years, so I'm clueless here.  What little I've heard
makes it sound like TortoiseSVN and TortoiseHG make things not too difficult
on Windows.  I have no idea which version control system will generally be
more intuitive to people; I suppose it's hard to say.  And then there's the
question of the best way to exchange changes, either by a repo on a server
(behind a password or similar for privacy)  or some other way.

Being a total newbie here, your advice is greatly appreciated.

Reply via email to