I keep most of my home directory's dot files under revision control, so that I can easily move changes between any of the five or so desktop machines and dozens of servers that I use. Unfortunately, my ~/.gconf
directory is a bit of a pain when it comes to this, because gconfd seems to really like making arbitrary whitespace changes and, worse yet, updating the mtime="..."
attributes on entries that it hasn't changed.
Has anybody any thoughts on good ways to deal with this? I would prefer never to have to commit whitespace changes or time changes when a value hasn't changed, so that I can easily track my diffs over time.
Instead of storing the directory in git, did you try to store a dump?
I currently examine only the real differences by using a diff program that ignores the mtime and whitespace changes:
I have subversion use this by running
svn diff --diff-cmd gconf-diff ...
. I revert files that have no significant changes. However, this is a bit awkward, and doesn't deal well with files where only one or two items have changed, but a dozen others have new timestamps, as all of those changes are still committed.