Nothing Special   »   [go: up one dir, main page]

All Projects → koknat → dif

koknat / dif

Licence: other
'dif' is a Linux preprocessing front end to gvimdiff/meld/kompare

Programming Languages

perl
6916 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to dif

Textrude
Code generation from YAML/JSON/CSV models via SCRIBAN templates
Stars: ✭ 79 (+338.89%)
Mutual labels:  yaml, text-processing
Compare-UserJS
PowerShell script for comparing user.js (or prefs.js) files.
Stars: ✭ 79 (+338.89%)
Mutual labels:  diff, text-processing
Dyff
/ˈdʏf/ - diff tool for YAML files, and sometimes JSON
Stars: ✭ 277 (+1438.89%)
Mutual labels:  yaml, diff
Diff Match Patch
Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
Stars: ✭ 4,910 (+27177.78%)
Mutual labels:  diff, text-processing
Cfgdiff
diff(1) all your configs
Stars: ✭ 138 (+666.67%)
Mutual labels:  yaml, diff
ADLES
Automated Deployment of Lab Environments System (ADLES)
Stars: ✭ 28 (+55.56%)
Mutual labels:  yaml
config-cpp
C++ Configuration management library inspired by the Viper package for golang.
Stars: ✭ 21 (+16.67%)
Mutual labels:  yaml
rel
command line tool for managing personal graphs of anything and writing them to dot
Stars: ✭ 51 (+183.33%)
Mutual labels:  yaml
idr-metadata
Curated metadata for all studies published in the Image Data Resource
Stars: ✭ 12 (-33.33%)
Mutual labels:  yaml
ngx-text-diff
A Text Diff component for Angular
Stars: ✭ 49 (+172.22%)
Mutual labels:  diff
textdiff-create
Create lean text diff deltas.
Stars: ✭ 25 (+38.89%)
Mutual labels:  diff
compose-generator
🐳 Easy to use cli tool to generate Docker Compose configurations
Stars: ✭ 111 (+516.67%)
Mutual labels:  yaml
gitdub
📤 A github WebHook that emails detailed diffs of your commits.
Stars: ✭ 25 (+38.89%)
Mutual labels:  diff
xls2db
Export table data from excel to mysql database, implemented with python.
Stars: ✭ 33 (+83.33%)
Mutual labels:  xls
tqsdk-js
期货行情/历史数据/交易 开发包
Stars: ✭ 52 (+188.89%)
Mutual labels:  diff
jr.mitou.org
未踏ジュニアの公式Webサイトです! YAML ファイルで更新できます 🛠💨
Stars: ✭ 17 (-5.56%)
Mutual labels:  yaml
fdiff
An OpenType table diff tool for fonts. Based on the fontTools TTX format.
Stars: ✭ 33 (+83.33%)
Mutual labels:  diff
luban
你的最佳游戏配置解决方案 {excel, csv, xls, xlsx, json, bson, xml, yaml, lua, unity scriptableobject} => {json, bson, xml, lua, yaml, protobuf(pb), msgpack, flatbuffers, erlang, custom template} data + {c++, java, c#, go(golang), lua, javascript(js), typescript(ts), erlang, rust, gdscript, protobuf schema, flatbuffers schema, custom template} code。
Stars: ✭ 1,660 (+9122.22%)
Mutual labels:  yaml
xls-cli
A simple cli tool to explore xls files
Stars: ✭ 25 (+38.89%)
Mutual labels:  xls
corpusexplorer2.0
Korpuslinguistik war noch nie so einfach...
Stars: ✭ 16 (-11.11%)
Mutual labels:  text-processing

dif - a preprocessing front end to meld / gvimdiff / kdiff3 / tkdiff / kompare

'dif' compares files after it preprocesses them.
Preprocessing options include:

  • remove comments, whitespace, timestamps
  • search/replace
  • keep/ignore certain lines
  • json/yaml reformatting
  • parse values from xls spreadsheets
  • many other options (see far below)

"Screenshot of  meld  vs  dif with option -comments"

'dif' can also be used to compare directories recursively, after optionally preprocessing each file

"Screenshot of  dif comparing two directories"

Overview

The graphical compare tools meld, gvimdiff, kdiff3, tkdiff, and kompare are used to compare text files on Linux

In many cases, it is difficult and time-consuming to visually compare large files because of the large number of differences

For example:

  • different versions of code may differ only in comments or whitespace
  • log files are often many MB of text, with some "don't care" information such as timestamps or temporary filenames
  • json or yaml files may have ordering differences due to the library used to write the file
  • xls spreadsheets cannot be compared easily because of the file format

Purpose

'dif' preprocesses input text files with a wide variety of options

Afterwards, it runs the Linux tools meld, gvimdiff, kdiff3, tkdiff, or kompare on these intermediate files

This allows you to concentrate on the important differences, and ignore the rest

Solutions

Problem: differences in whitespace or comments or case cause mismatches

Solution: Use options -white or -nowhite or -comments or -case

Problem: files both need to be filtered using regexes, to strip out certain characters or sequences

Solution 1: Use -grep or -ignore to filter in or out

Solution 2: Use -search -replace to supply one instance of substitution and replacement

Solution 3: Use -replaceTable to supply a file with many substitution/replacement regexes

Solution 4: Use -replaceDates to remove dates and timestamps

Problem: need to view your changes to a file on Perforce or SVN or GIT

Solution: 'dif file' will show the differences between the head revision and the local file

Problem: need to recursively compare directories

Solution 1: 'dif dir1 dir2' will iteratively compare pairs of files

Solution 2: 'dif dir1 dir2 -report' will open a GUI to compare the directories

Any preprocessing option (-comments, -white, -sort, -grep, etc) can be used when comparing directories

Usage examples

  • dif file1 file2
  • dif file1 file2 -white -case
  • dif file1 file2 file3 -comments
  • dif file1 file2 -search 'foo' -replace 'bar'
  • dif file1.xls file2.xls
  • dif dir1 dir2 -report

Options