Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial或git diff文件是如何以及何时创建的?_Git_Mercurial_Sync - Fatal编程技术网

Mercurial或git diff文件是如何以及何时创建的?

Mercurial或git diff文件是如何以及何时创建的?,git,mercurial,sync,Git,Mercurial,Sync,我正在做一个关于文件同步的项目。我有一些问题: 谁能告诉我Mercurial或Git diff如何归档和存储差异 它是否监视文件更改 提交时是否需要区分整个文件 司机是否能监控区段的变化 处理文本文件和二进制文件的方式有什么区别 我还需要研究其他开源软件吗 对于Mercurial,显示差异和存储差异是不同的 显示差异时,这取决于您是要求Mercurial本身显示差异,还是要求它使用外部差异程序 以下是所有的组合: 存储差异 始终使用二进制差异,不管它是什么类型的文件(或假定为) 显示差异 要

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

  • 谁能告诉我Mercurial或Git diff如何归档和存储差异
  • 它是否监视文件更改
  • 提交时是否需要区分整个文件
  • 司机是否能监控区段的变化
  • 处理文本文件和二进制文件的方式有什么区别
  • 我还需要研究其他开源软件吗

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

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

以下是所有的组合:

  • 存储差异
  • 始终使用二进制差异,不管它是什么类型的文件(或假定为)
  • 显示差异
  • 要求Mercurial显示差异
  • 如果它是二进制文件(即Mercurial假定它是二进制文件),则会抱怨
  • 如果是文本文件,将显示差异(同样,假定)
  • 要求外部程序显示差异
  • 取决于外部程序能够处理什么

  • 至于监控这些变化,Mercurial没有这样做。当你要求它提交时,它会指出要存储哪些文件以及要提交哪些更改。

    @Lasse V.Karlsen我对这方面的工作还不熟悉,也是python的更新版本,我正在阅读代码,但我无法尽快找到我的答案,也许我的研究方法太差了。谢谢你的回答,你说Mercurial总是使用二进制diff,但我总是找到“行”和“文本”的代码,而不是二进制代码,使用的算法是什么