#cargo-lock #git-diff #readable #package #poetry

bin+lib lockdiff

Display more readable diffs for lock files

6 stable releases

1.1.6 Feb 23, 2024
1.1.1 Dec 29, 2023

#3 in #poetry

36 downloads per month

BSD-3-Clause

10KB
235 lines

Lockdiff

Convert a lock with lots of info to something more readable

For instance:

[[package]]
name = "foo"
version = "1.4"

becomes:

foo@1.4

Using lockdiff with git

The primary purpose of this tool is to hide "noise" related to package changes in automatically generated files such as Cargo.lock when using with git diff and related commands.

For this to work, you need to register the 'lockdiff' as a text conveter in your git config (usually ~/.config/git/config)

[diff "lockdiff"]
textconv = lockdiff

and then tell git to use lockdiff when diffing files, in ~/.config/git/attributes:

Cargo.lock diff=lockdiff

Supported locks

  • Cargo.lock
  • composer.lock
  • poetry.lock (fun fact, Poetry and Cargo have compatible formats 😎)
  • package-lock.json
  • yarn.lock

Dependencies

~1.8–2.8MB
~59K SLoC