Skip to main content

A program to diff two directories recursively

Project description

dompare

BUILD

A command line tool to diff two directories recursively.

Demo

Then visit http://localhost:5240/xxx.html, as shown in output above, you will see the detailed difference of these two directories:

Diff Results

Features

  1. Easy to install and use, nice visualization
  2. Recursively compare same name files in two directories
  3. Optional settings for exclude certain directories
  4. Completely based on Python and HTML, no extra tools needed

Installation

pip3 install dompare

Using dompare

Basic usage

dompare folder-a folder-b

Then open your webbrowser and visit http://localhost:5140, you will see the difference information of folder-a and folder-b.

Public access

You can also use --host and --port options to change your host and port to listen:

dompare folder-a folder-b --host 0.0.0.0 --port 8888

By adding --host 0.0.0.0, you and other people can visit diff file by url http://your_ip:5140/dompare-xxxxxx.html.

Exclude binary folders

You can add --exclude dir1 dir2 to ignore certain directories (e.g., temporal folders, folders with binary files):

dompare dir1 dir2 --exclude build out

Verbose mode

If you need more detailed information, use --verbose option.

dompare folder-a folder-b --verbose
[DEBUG] [2019-10-31 15:35:37] [dompare] Processing dir folder-a/doc
[DEBUG] [2019-10-31 15:35:37] [dompare] Compare folder-a/doc/index.md and folder-b/doc/index.md
[DEBUG] [2019-10-31 15:35:37] [dompare] Compare folder-a/README.md and folder-b/README.md
[INFO] [2019-10-31 15:35:37] [dompare] Compare finished. Please visit http://localhost:5140/dompare-paepy47m.html to see diff file (Press Ctrl-C to stop)
[DEBUG] [2019-10-31 15:35:37] [dompare] Run command: cd /tmp && python3 -m http.server --bind localhost 5140
Serving HTTP on 127.0.0.1 port 5140 ...

For all options, run dompare -h.

dompare -h
usage: dompare [-h] [--host HOST] [--port PORT] [--verbose]
               [--exclude EXCLUDE [EXCLUDE ...]]
               dir1 dir2

positional arguments:
  dir1                  Path to the first directory
  dir2                  Path to the second directory

optional arguments:
  -h, --help            show this help message and exit
  --host HOST           host to bind
  --port PORT           port to listen
  --verbose             Show detailed information
  --exclude EXCLUDE [EXCLUDE ...]
                        Ignore listed directories when diff

TODO

There are some ideas I want to do in the future:

  1. Windows support (tested on Windows 8.1, Python 3.7.2)
  2. More pretty UI to show diff, like font size, scroll bar removing

Contributing

Any contribution is welcomed. If you find a bug or have any new features, please create an issue or a pull request.

License

MIT © Yunfeng Wang

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dompare-0.1.100.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

dompare-0.1.100-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page