问题标签 [visual-diff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
362 浏览

perl - 比较文件和报告统计中的记录 - 方案 1

要求是:

事实 1:我们有一些由遗留系统生成的数据文件

事实 2:我们有一些由新系统生成的数据文件,最终应该会取代旧系统

事实 3:

  1. 这两个文件都是文本/ASCII 文件,记录由多行组成。
  2. 记录中的每一行都由字段名和字段值组成。
  3. 1 和 2 中行的显示格式不同,但是可以通过使用正则表达式从每行中提取字段名和字段值
  4. 字段名称可以在 1 和 2 之间变化,但我们有一个关联它们的映射
  5. 每条记录都有一个唯一标识符,可帮助我们将旧记录与新记录相关联,因为输出文件中的记录顺序在两个系统中不必相同。
  6. 每个要比较的文件至少为 10 MB,平均为 30 - 35 MB

事实 4:当我们迭代构建新系统时,我们需要比较两个系统在完全相同的条件下生成的文件并协调差异。

事实 5:这种比较是使用昂贵的视觉差异工具手动完成的。为了帮助解决这个问题,我编写了一个工具,将两个不同的字段名合并为一个通用名称,然后对每个记录、每个文件中的字段名进行排序,以便它们按顺序同步(新文件可以有额外的字段,在视觉差异)

事实 6:由于人工比较是由人工进行的,而且人工会犯错误,我们会得到错误的正面和负面,这会极大地影响我们的时间线。

显然问题是,“ALG”和“DS”应该是什么?

我必须解决的场景:

人们继续在视觉上检查差异 - 在这种情况下,现有脚本的性能令人沮丧 - 大部分处理似乎是按字典顺序对行数组进行排序(读取/获取数组元素:Tie::File:: FETCH,Tie::File::Cache::lookup 并将其放在正确的位置以便对其进行排序:Tie::File::Cache::insert, Tie::File::Heap::insert)

所以我想了想,我相信,如果是 trie,可能是后缀 trie/PATRICIA trie,这样在插入时,每条记录中的字段都会被排序。因此,我不必一次性对最终数组进行排序,成本将被摊销(我的猜测)

在这种情况下会出现另一个问题 - Tie::File 使用数组来抽象文件中的行 - 将行读入树然后将它们序列化回数组将需要额外的内存和处理/

问题是 - 这会比当前对绑定数组进行排序的成本更高吗?

0 投票
2 回答
2283 浏览

java - 在 Java 程序中直观地显示差异输出

我目前正在开发一个 java 程序,我需要在其中显示两个文本之间的区别。是否有任何库可用于直观地显示差异,即我的 java 程序中的 diff 输出或者我该怎么做。任何建议都会对我很有帮助。

0 投票
4 回答
1674 浏览

git - 有没有办法将 git 或 Mercurial diff 输出通过管道传输到 GUI Diff 工具?

文本中的差异结果一开始可能很难习惯。有没有办法将该输出通过管道传输到可视差异工具,例如

或者

以便可以直观地查看结果?

0 投票
2 回答
1191 浏览

macos - 一些二进制(非可执行)格式的差异工具

我正在寻找适用于 Mac OS X 的视觉差异工具,它可以让我看到 Pages(来自 Apple 的 iWork 套件)和 Adob​​e Illustrator 文档中的差异。我意识到视觉差异可能有点要求,所以我会满足于某种 XML 或纯文本比较。我正在使用 Pages 为我的模型维护我的 Spec 和 Illustrator,它们都是受版本控制的,并且希望能够轻松地看到差异。

FileMerge(随 Xcode 一起提供)只会让 gobbledygook 变得糟糕,所以二进制比较肯定行不通。我知道Kaleidoscope,它确实支持各种图像格式的差异(并且似乎是一个全方位的好解决方案),但它似乎不支持 Pages 或 Illustrator。

0 投票
2 回答
475 浏览

diff - darcs 的图形差异

看到纯文本格式的 darcs 更改我感觉不太舒服,所以我一直在寻找一种工具来显示更改的并排比较。

对于whatsnew我只能使用meld,但是当我需要查看已经记录的更改时,它就不会那么容易了。我读过它diffuse允许比较不同的修订版,但我无法让它工作。

我试过了

但它失败了(我认为修订命名是特定于 git 的),那么有人知道如何查看 darcs 的最新更改吗?

欢迎提出其他可以完成这项工作的工具(并且最好不需要设置 Web 服务器)的建议。

0 投票
0 回答
353 浏览

python - Python:视觉差异小部件

我打算写一个 git 客户端,并想用 pygtk 实现它的 UI。众所周知,显示两个文件之间的差异对于我的项目非常重要。

那么,我怎样才能在 pygtk 中实现呢?谢谢。

0 投票
2 回答
777 浏览

mercurial - 如何检查 Mercurial / Tortoise Hg 的两个修订版本之间哪些文件已更改?

如何检查 Mercurial / Tortoise Hg 的两个修订版本之间哪些文件已更改?

我已经尝试过 tortoiseHg 的视觉差异,它不会突出显示哪些特定文件已添加、更改或未更改,您必须单击每个文件以获取详细信息