Gnomeregistry(〜/ .gconf)和版本控制

我将我的主目录的大多数点文件保存在修订控制下,这样我就可以轻松地在五台左右的台式机和我使用的几十台服务器之间移动更改。 不幸的是,我的~/.gconf目录在这方面有些痛苦,因为gconfd似乎更喜欢随意更改空白,更糟糕的是,更新它所没有的条目上的mtime="..."属性没有改变。

有没有人有任何想法来处理这个问题? 我不希望在值没有改变的时候提交空格或时间变化,这样我就可以很容易地跟踪我的差异。

而不是在git中存储目录,你是否尝试存储转储?

  gconftool-2 --dump / 

我目前只使用一个忽略mtime和whitespace变化的diff程序来检查真正的差异:

 #!/usr/bin/env ruby require 'tempfile' input2 = ARGV.pop || ( $stderr.puts("Usage: gconf-diff [opts] <file> <file>") exit(1) ) input1 = ARGV.pop UNWANTED_PAT = /mtime="\d+"/ def copy_tmp(id, path) t = Tempfile.new("gconf-diff-#{id}-") File.open(path).each { |line| t.write(line.gsub(UNWANTED_PAT, '')) } t.close t end t1 = copy_tmp('1', input1) t2 = copy_tmp('2', input2) system('diff', *(ARGV + ['-B', '-b', t1.path, t2.path])) exit($?.exitstatus) 

我有颠覆使用这个通过运行svn diff --diff-cmd gconf-diff ... 我恢复没有重大变化的文件。 然而,这有点尴尬,不能很好地处理只有一个或两个项目已经改变的文件,但是其他十几个项目有新的时间戳,因为所有这些改变仍然被提交。