I have a laptop where I keep writing stuff. "Writing stuff" includes a vast,
mixed collection of essays, freemind mindmaps, downloaded pictures, clips,
some programs, and generally - a heterogenous collection of various ideas
that I might find "useful". I also have a computer at home, where I intend
to keep that stuff.

My home computer has a more extensive collection of the heavy media such as
clips and pics, and as such, the folders to clips and pics are actually
symlinks to different partitions specialized for that media. By contrast, my
laptop (mobile collection) has a more updated collection of the light media
such as essays, mindmaps, outlines and plans and keeps the whole structure
under a single filesystem which is much smaller than my home collection.

I have previously used rsync to synchronize the contents of either one, but
I am running under some constraints.
1) the soft collection (essays, mindmaps, etc) is always more updated on my
laptop
2) the pics collection sometimes is more updated on the laptop, and is
sometimes more updated on the desktop.
3) every once in a while, I refactor all or part of my collection -
moving/renaming files and folders around. A naive rsync will cause those
folders to be retransmitted, wasting a considerable amount of time /
bandwidth.
4) the heavy media are huge - on the order of 1-4 gigabytes a subfolder -
and cannot easily be moved around via the internet. I would ideally want
something that allows offline / delayed synchronization.
5) I don't intend to carry the entire collection on to my laptop - only the
bits and pieces that will fit. But I want deletions and removals from my
laptop to carry on to my desktop. At the same time, I don't want a
synchronization from my laptop to my desktop to (what a nightmare!) erase
the bits on my desktop that I didn't intend to carry at all.

I was looking at various software for the job and I eventually thought of
settling down on a 3rd generation distributed version control system. bzr
and mercurial come to mind, but I'm not sure how to take any one. How would
I do this?

Reply via email to