【问题标题】:How and when do Mercurial or git diff files?Mercurial 或 git diff 文件如何以及何时进行?
【发布时间】:2012-05-18 03:50:26
【问题描述】:

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

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

【问题讨论】:

  • @Lasse V. Karlsen 我是这个工作领域的新手,也是 python 的新人,我正在阅读代码,但我无法尽快找到我需要的答案,也许我的研究方法太差了。

标签: git mercurial sync


【解决方案1】:

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

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

以下是所有组合:

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

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

【讨论】:

  • 谢谢你的回答,你说Mercurial总是使用二进制差异,但我总是找到“行”和“文本”的代码,而不是二进制,使用的算法是什么?
猜你喜欢
  • 2020-09-06
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 2019-09-21
  • 2015-03-29
  • 2012-02-07
  • 1970-01-01
  • 2012-06-18
相关资源
最近更新 更多