问题标签 [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.
perl - 比较文件和报告统计中的记录 - 方案 1
要求是:
事实 1:我们有一些由遗留系统生成的数据文件
事实 2:我们有一些由新系统生成的数据文件,最终应该会取代旧系统
事实 3:
- 这两个文件都是文本/ASCII 文件,记录由多行组成。
- 记录中的每一行都由字段名和字段值组成。
- 1 和 2 中行的显示格式不同,但是可以通过使用正则表达式从每行中提取字段名和字段值
- 字段名称可以在 1 和 2 之间变化,但我们有一个关联它们的映射
- 每条记录都有一个唯一标识符,可帮助我们将旧记录与新记录相关联,因为输出文件中的记录顺序在两个系统中不必相同。
- 每个要比较的文件至少为 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 使用数组来抽象文件中的行 - 将行读入树然后将它们序列化回数组将需要额外的内存和处理/
问题是 - 这会比当前对绑定数组进行排序的成本更高吗?
java - 在 Java 程序中直观地显示差异输出
我目前正在开发一个 java 程序,我需要在其中显示两个文本之间的区别。是否有任何库可用于直观地显示差异,即我的 java 程序中的 diff 输出或者我该怎么做。任何建议都会对我很有帮助。
git - 有没有办法将 git 或 Mercurial diff 输出通过管道传输到 GUI Diff 工具?
文本中的差异结果一开始可能很难习惯。有没有办法将该输出通过管道传输到可视差异工具,例如
或者
以便可以直观地查看结果?
macos - 一些二进制(非可执行)格式的差异工具
我正在寻找适用于 Mac OS X 的视觉差异工具,它可以让我看到 Pages(来自 Apple 的 iWork 套件)和 Adobe Illustrator 文档中的差异。我意识到视觉差异可能有点要求,所以我会满足于某种 XML 或纯文本比较。我正在使用 Pages 为我的模型维护我的 Spec 和 Illustrator,它们都是受版本控制的,并且希望能够轻松地看到差异。
FileMerge(随 Xcode 一起提供)只会让 gobbledygook 变得糟糕,所以二进制比较肯定行不通。我知道Kaleidoscope,它确实支持各种图像格式的差异(并且似乎是一个全方位的好解决方案),但它似乎不支持 Pages 或 Illustrator。
diff - darcs 的图形差异
看到纯文本格式的 darcs 更改我感觉不太舒服,所以我一直在寻找一种工具来显示更改的并排比较。
对于whatsnew
我只能使用meld
,但是当我需要查看已经记录的更改时,它就不会那么容易了。我读过它diffuse
允许比较不同的修订版,但我无法让它工作。
我试过了
但它失败了(我认为修订命名是特定于 git 的),那么有人知道如何查看 darcs 的最新更改吗?
欢迎提出其他可以完成这项工作的工具(并且最好不需要设置 Web 服务器)的建议。
python - Python:视觉差异小部件
我打算写一个 git 客户端,并想用 pygtk 实现它的 UI。众所周知,显示两个文件之间的差异对于我的项目非常重要。
那么,我怎样才能在 pygtk 中实现呢?谢谢。
mercurial - 如何检查 Mercurial / Tortoise Hg 的两个修订版本之间哪些文件已更改?
如何检查 Mercurial / Tortoise Hg 的两个修订版本之间哪些文件已更改?
我已经尝试过 tortoiseHg 的视觉差异,它不会突出显示哪些特定文件已添加、更改或未更改,您必须单击每个文件以获取详细信息