1

我正在进行一个关于文件同步的项目。我有一些疑问:

  • 谁能告诉我 Mercurial 或 Git diff 文件和存储差异的方式?
  • 它是否监视文件更改?
  • 提交时是否需要区分整个文件?
  • 是否可以通过驱动来监控段的变化?
  • 处理文本文件和二进制文件的方式有什么区别?
  • 还有其他我应该研究的开源软件吗?
4

1 回答 1

2

对于 Mercurial,显示差异和存储差异是不同的。

显示差异时,取决于您是要求 Mercurial 本身显示差异,还是要求它使用外部差异程序。

以下是所有组合:

  1. 存储差异
    1. 总是使用二进制差异,不管它是什么类型的文件(或假设是)
  2. 显示差异
    1. 要求 Mercurial 显示差异
      1. 如果它是二进制文件会报错(也就是说,Mercurial假定它是二进制文件)
      2. 如果它是文本文件,将显示差异(再次假设)
    2. 要求外部程序显示差异
      1. 取决于外部程序能够处理什么

至于监控变化,Mercurial 不这样做。当您要求它提交时,它会确定要存储哪些文件以及要为它们提交哪些更改。

于 2012-05-18T12:14:52.767 回答