Posted May 13, 2011 23:16 UTC (Fri) by mathstuf (subscriber, #69389)
Parent article: DVCS-autosync
I'm still looking for a way to handle data file synchronization. It appears that this might by the tool I use in the future, but at the moment, it doesn't quite do what I need. The problem is that it's just a few files spread around my home directory. My configuration files are handled via git (this tool wouldn't work because I have, e.g., branches for work-related changes at work). What I need is a tool to sync my newsbeuter database, bookmarks, and the like that don't logically belong in a configuration repository.
For configurations, one major problem that I've come across is with applications that don't behave correctly with a configuration file that is a symlink into the repository so I can see changes and commit them appropriately. My current list of apps that break this are: tin (overwrites the configuration file with a mv when exiting; even if no changes are made; also writes things like "last search string" to the file which don't belong), finch (probably similar; haven't investigated it much), and weechat (I'd use it over irssi if it didn't do this). esmtp is similar in that it refuses to work if $HOME/.esmtprc is a symlink which is at least understandable, but still less than ideal.
For data files, the tool has to support a list of files to sync (symlinking these will probably work even less well than configuration files) rather than just syncing a directory. It appears as though DVCS-autosync doesn't support this (yet) and nothing I've found does this to my satisfaction either.
The automatic committing is also something that I'm personally wary of (newsbeuter would create commits on the 8MB sqlite db all the time) and git-annex would be the way to go for it, preferably waiting until newsbeuter is closed to make the commit.