https://github.com/evgeni/cfgdiff
diff(1) all your configs
https://github.com/evgeni/cfgdiff
config diff ini json python xml yaml
Last synced: about 1 year ago
JSON representation
diff(1) all your configs
- Host: GitHub
- URL: https://github.com/evgeni/cfgdiff
- Owner: evgeni
- License: mit
- Created: 2014-02-04T10:10:00.000Z (over 12 years ago)
- Default Branch: devel
- Last Pushed: 2025-01-25T06:58:25.000Z (over 1 year ago)
- Last Synced: 2025-03-29T05:09:05.170Z (about 1 year ago)
- Topics: config, diff, ini, json, python, xml, yaml
- Language: Python
- Size: 52.7 KB
- Stars: 141
- Watchers: 10
- Forks: 13
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
cfgdiff -- `diff(1)` all your configuration files
=================================================
Why?
----
Ever tried comparing MySQL's `my.cnf` from a Debian and a Gentoo machine
with `diff(1)` without going crazy?
`diff(1)` is an awesome tool, you use it (or similar implementations
like `git diff`, `svn diff` etc) every day when dealing with code.
But configuration files aren't code. Indentation often does not matter
(yeah, there is `diff -w` and yeah, people use YAML for configs), order
of settings does not matter and comments are just beautiful noise.
How?
----
`cfgdiff` will try to parse your configuration files, fetching all the
relevant keys and values from them and then pretty-printing them in the
original format. These results are then diffed and the diff is shown to
you.
What?
-----
`cfgdiff` currently supports the following formats:
- INI using Python's [ConfigParser](http://docs.python.org/library/configparser.html) library
- JSON using Python's [JSON](http://docs.python.org/library/json.html) library
- YAML if the Python [YAML](http://pyyaml.org/) library is installed
- XML if the Python [lxml](http://lxml.de/) library is installed