[plug] Desktop linux question...

Cameron Patrick cameron at patrick.wattle.id.au
Fri Mar 12 15:37:51 WST 2004


James Devenish wrote:

| (An article about putting your home directory into CVS.)
| > Would running diff distro's make that hard??
| Mixing distos should have no impact on CVS whatsoever.

However, you'll need to make sure that your dot files are compatible
between distros (or in general, any machine that you want to use them
on) if you choose to do what joeyh did.

|  - CVS requires a 'repository'. The repository contains all revisions of
|    your home directory, meaning you can 'rewind' to a past version. This
|    might sound good, but CVS is not really capable of handling deletions
|    and moves nicely (not to mention some quirks with binary files), so
|    it may be considered unsuitable for home directories. Also, all
|    distribution of changes needs to happen via the repository, which
|    means that moving files from A to B is a three-step process: update
|    A, commit A, update B. Also, your storage requirements increase from
|    "number of computers * size of home dir" to "number of computers *
|    size of home dir + accumulated size of all files that have ever
|    existed in your home directory".

Many of these can be solved by using Subversion or Arch.  (Joey Hess
has moved to using Subversion; I use arch and some hacky shell scripts
for large portions of my home directory.)

In particular:

	- Both Subversion and Arch handle binary files transparently;
	  Subversion does so more efficiently

	- Both handle deletions, renames and moves nicely

	- Arch stores its changes in a gzip-compressed format, and
          allows you to discard past revisions easily if you want too.

        - Arch, Subversion and CVS are all poorly suited to storing
          files such as digital camera photos or compressed music
          files, as these are large and seldom change.  Rsync
          (or Unison) can come in handy here.

	- CVS is available pretty much anywhere, Arch is pretty simple
	  to compile (its dependencies are pretty much a Bourne shell,
	  diff and patch) and is included in at least one distribution,
	  while Subversion has loads of dependencies making it tricky
	  to install if your distribution doesn't ship it.

Cameron.



More information about the plug mailing list