Friday, October 7, 2011

Life is Diff and Patch, Diff and Patch

There are two common Unix tools named 'diff' and 'patch'. Diff tells you what the difference is between two files. Patch takes what diff told you and merges those differences (aka changes) to another file. Now every tool I've used in the last twenty years has its own need for diff and patch functionality. Consider:

Word or text documents - show me what's changed, aka 'track changes'. Merge (patch) text from one document to another

Java API - what changed between two versions of an API

JIRA (the issue tracker) - show me what's new in this bug, merge this configuration to another instance of JIRA

So diff and patch seems to be a common theme of what I do for a living. But life is also diff and patch at some level - see what's different between two people and merge those differences to another generation of people. There's more in this analogy than I can get into words right now, I think.

2 comments:

misu said...
This comment has been removed by a blog administrator.
Matt Doar said...

Greg Wilson wrote a blog on merging in general at
http://third-bit.com/blog/archives/4595.html