DiffX – Next-Generation Extensible Diff Format

https://news.ycombinator.com/rss Hits: 20
Summary

Toggle Light / Dark / Auto color theme Toggle table of contents sidebar DiffX - Next-Generation Extensible Diff Format If you’re a software developer, you’ve probably worked with diff files. Git diffs, Subversion diffs, CVS diffs.. Some kind of diff. You probably haven’t given it a second thought, really. You make some changes, run a command, a diff comes out. Maybe you hand it to someone, or apply it elsewhere, or put it up for review. Diff files show the differences between two text files, in the form of inserted (+) and deleted (-) lines. Along with this, they contain some basic information used to identify the file (usually just the name/relative path within some part of the tree), maybe a timestamp or revision, and maybe some other information. Most people and tools work with Unified Diffs. They look like this: --- readme 2016-01-26 16:29:12.000000000 -0800 +++ readme 2016-01-31 11:54:32.000000000 -0800 @@ -1 +1,3 @@ Hello there + +Oh hi! Or this: Index: readme =================================================================== RCS file: /cvsroot/readme,v retrieving version 1.1 retrieving version 1.2 diff -u -p -r1.1 -r1.2 --- readme 26 Jan 2016 16:29:12 -0000 1.1 +++ readme 31 Jan 2016 11:54:32 -0000 1.2 @@ -1 +1,3 @@ Hello there + +Oh hi! Or this: diff --git a/readme b/readme index d6613f5..5b50866 100644 --- a/readme +++ b/readme @@ -1 +1,3 @@ Hello there + +Oh hi! Or even this: Index: readme =================================================================== --- (revision 123) +++ (working copy) Property changes on: . ------------------------------------------------------------------- Modified: myproperty ## -1 +1 ## -old value +new value Or this! ==== //depot/proj/logo.png#1 ==A== /src/proj/logo.png ==== Binary files /tmp/logo.png and /src/proj/logo.png differ Here’s the problem Unified Diffs themselves are not a viable standard for modern development. They only standardize parts of what we consider to be a diff, namely the ---/+++ lines for file identific...

First seen: 2025-06-04 03:43

Last seen: 2025-06-04 22:47