lockdiff

Crates.iolockdiff
lib.rslockdiff
version2.0.2
created_at2023-12-29 13:50:42.757664+00
updated_at2025-05-11 14:41:18.023739+00
descriptionDisplay more readable diffs for lock files
homepage
repositoryhttps://github.com/your-tools/lockdiff
max_upload_size
id1083362
size43,334
Dimitri Merejkowsky (dmerejkowsky)

documentation

README

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 converter 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

Note: in case of requirements.txt, you may want to put the config in .git/info/attributes because sometimes the requirements.txt is maintained by hand and not generated by a tool like pip-compile.

Supported locks

  • Cargo.lock
  • Gemfile.lock
  • composer.lock
  • go.sum
  • package-lock.json
  • poetry.lock
  • pubspec.lock
  • shard.lock
  • yarn.lock
  • requirements.txt and similar (the file name must contain requirements and end with .txt, like in dev-requirements.txt)
Commit count: 70

cargo fmt