Skip to content
Putting It All Together
step 1/5

Reading — step 1 of 5

Read

~1 min readProduction

Putting It All Together

You've built every layer:

LayerLesson
Edit distance1
LCS2
Edit script3
Myers (sketched)4
Unified format5
Context hunks6
Patience diff7
Apply patches8
Structural diff9

Beyond:

  • Word-level diff (git diff --word-diff): finer granularity within changed lines
  • Diff statistics (git diff --stat): summarize per-file
  • 3-way merge: combine two changes onto a common base (next: build-git's merge lesson)
  • Semantic diff for specific languages: e.g., diff XML by structure, JSON by keys

Diffing is the foundation of:

  • Version control (git, hg, svn)
  • Code review tools (GitHub, Gerrit, Phabricator)
  • Configuration management (Ansible drift detection)
  • Database schema migrations (sqitch, flyway)
  • Document collaboration (Word track changes)

You now understand all of them.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…