Tag: 差异

`git diff –patience`和`git diff –histogram`有什么区别?

这个较早的问题要求提供4种不同的Git diff策略之间的差异,但唯一解释的差异是myers和patience之间的差异,这在其他地方很好解释。 histogram策略如何工作? 它与patience什么区别? git-diff手册页只是说它“把耐心algorithm延伸到”支持低出现的共同元素“。 其他网页提到它更快,它来自JGit,但是它们没有解释它的algorithm或结果在哪里或如何与patience不同 。 在哪里可以find与patiencealgorithm相关的histogramalgorithm的描述 ,与Bram Cohen对patiencealgorithm的原始描述具有相同的细节水平? (如果只是执行性能问题,没有任何情况会产生不同的结果,为什么它不是作为patience的新后端来实现?

在版本控制下的Gettext .po文件

目前在项目中使用Gettext和.po文件很好地保持在版本控制下。 PO文件当然包含翻译,但除此之外,它们还包含一些元数据 – 有关可翻译string所在的确切文件和行号的信息。 问题是,每次更新PO文件时,元数据的改变都比实际的翻译更多。 这使得以后从版本控制差异中看到真正的变化是很难的 – 你只能看到文件名和行号的无数变化。 像那样: – #: somefile.js:43 – #: somefile.js:45 – #: somefile.js:118 + #: somefile.js:203 + #: somefile.js:215 msgid "Translate me please" msgstr "Tõlgi mind palun" – #: somefile.js:23 – #: somefile.js:135 + #: otherfile.js:23 + #: otherfile.js:135 msgid "Note" msgstr "Märkus" – #: andThatFile.js:18 #: orThisFile.js:131 – msgid […]

大github提交差异不显示

这发生在我身上,比较视图以及文件数量变化很大的标准提交。 下面的截图来自两个分支之间的比较,其中380个文件被改变。 比较日志开始处的文件具有可视化的差异,但是在页面的某一点停止可视化差异。 我知道你不想要大量的页面,但我似乎无法find一种方法来单独查看文件的差异。 相反,我必须在本地检查这两个,手动做差异。 有没有人有一个简单的解决scheme,无论是软件驱动或(最好)我在github上失踪的链接?

Bash:在if语句中使用diff的结果

我正在写一个简单的Bash脚本来检测文件夹何时被修改。 这是非常接近的东西: ls -lR $dir > a ls -lR $dir > b DIFF=$(diff ab) if [ $DIFF -ne 0 ] then echo "The directory was modified" 不幸的是,if语句显示错误:[:-ne:一元运算符预期 我不确定我的脚本有什么问题,请问有人能帮我吗? 非常感谢你! Jary

如何得到差异报告新的,改变和删除行的摘要

我想有两个文件之间的区别总结。 预期的输出是新的,删除和改变的行数。 diff是否容易提供这样的输出? 如果没有,有任何可用的脚本/实用程序,这有助于获得摘要。

是否有类似diff的algorithm来处理移动块的行?

diff程序在其各种版本中相当擅长计算两个文本文件之间的差异,并且比显示两个文件都更加紧凑。 它显示了作为一系列插入和删除行(或在某些情况下更改的行,但相当于删除,然后插入)的序列的区别。 patch和源代码控制系统使用相同或非常相似的程序或algorithm来最小化表示同一文件的两个版本之间的差异所需的存储。 algorithm在这里和这里讨论。 但是当文件在文件内被移动时,它会下降。 假设你有以下两个文件, a.txt和b.txt (假设它们都是数百行而不仅仅是6行): a.txt b.txt —– —– 1 4 2 5 3 6 4 1 5 2 6 3 diff a.txt b.txt显示: $ diff a.txt b.txt 1,3d0 < 1 < 2 < 3 6a4,6 > 1 > 2 > 3 从a.txt到b.txt的变化可以表示为“将前三行移动到最后”,但是diff显示了两次移动块的完整内容,错过了描述这个大变化的机会非常简短。 请注意, diff -e仅显示一次文本块,但这是因为它不显示已删除行的内容。 是否有diffalgorithm的变体(a)保留diff表示插入和删除的能力,(b)有效地表示移动的文本块而不必显示其全部内容?

Ubuntu GNOME下很好的diff工具

有人可以给我一些关于Ubuntu的diff工具的build议吗? 其实我所需要的不仅仅是文件比较,还有目录比较。 我觉得在Windows下的diff工具确实是最方便的,特别是WinMerge。 但是在Ubuntu下,我能得到的效率只有TkDiff,但是它只支持文件比较? 希望能从这里得到一些帮助。

如何在Java中执行stringDiffs?

我需要在Javastring之间执行Diffs。 我想能够从原始string和diff版本重build一个string。 有没有人在Java中做到这一点? 你用什么库? String a1; // This can be a long text String a2; // ej. above text with spelling corrections String a3; // ej. above text with spelling corrections and an additional sentence Diff diff = new Diff(); String differences_a1_a2 = Diff.getDifferences(a,changed_a); String differences_a2_a3 = Diff.getDifferences(a,changed_a); String[] diffs = new String[]{a,differences_a1_a2,differences_a2_a3}; String new_a3 […]

队列<T> vs List <T>

我目前使用List<T>作为队列(使用lst[0]然后lst.removeAt(0) )来保存对象。 在给定的时间最多有20个项目。 我意识到有一个实际的Queue<T>类。 我想知道是否有任何好处(性能,内存等)使用Queue<T>超过List<T>行事像一个队列?

用于显示缓冲区与其相应文件之间的区别的命令

有没有一个emacs命令来显示缓冲区和它的文件之间的区别? 例如,我已经对缓冲区进行了一些编辑,忘记了它们是什么,现在我需要将缓冲区保存到它的文件中,但是想要先检查我实际上已经改变了什么。