All Projects → danvk → Webdiff

danvk / Webdiff

Licence: apache-2.0
Two-column web-based git difftool

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Webdiff

Graphtage
A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.
Stars: ✭ 2,062 (+891.35%)
Mutual labels:  diff
Expdevbadchars
Bad Characters highlighter for exploit development purposes supporting multiple input formats while comparing.
Stars: ✭ 167 (-19.71%)
Mutual labels:  diff
Diffobj
Compare R Objects with a Diff
Stars: ✭ 188 (-9.62%)
Mutual labels:  diff
Api Diff
A command line tool for diffing json rest APIs
Stars: ✭ 164 (-21.15%)
Mutual labels:  diff
Emacs Vdiff
Like vimdiff for Emacs
Stars: ✭ 165 (-20.67%)
Mutual labels:  diff
Docker Osm
A docker compose project to setup an OSM PostGIS database with automatic updates from OSM periodically
Stars: ✭ 172 (-17.31%)
Mutual labels:  diff
Deepdiff
🦀Amazingly incredible extraordinary lightning fast diffing in Swift
Stars: ✭ 1,995 (+859.13%)
Mutual labels:  diff
Difference.rs
Rust text diffing and assertion library
Stars: ✭ 206 (-0.96%)
Mutual labels:  diff
Nytdiff
Code for the twitter bot nyt_diff
Stars: ✭ 166 (-20.19%)
Mutual labels:  diff
Dtl
diff template library written by C++
Stars: ✭ 180 (-13.46%)
Mutual labels:  diff
Textdistance
Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.
Stars: ✭ 2,575 (+1137.98%)
Mutual labels:  diff
Nbdime
Tools for diffing and merging of Jupyter notebooks.
Stars: ✭ 2,135 (+926.44%)
Mutual labels:  diff
Delta
Delta is a command-line diff tool implemented in Go.
Stars: ✭ 178 (-14.42%)
Mutual labels:  diff
Swagger Diff
🎿 Compare two swagger API specifications(1.x or v2.0)
Stars: ✭ 161 (-22.6%)
Mutual labels:  diff
Split Diff
Side-by-side file compare for the Atom text editor.
Stars: ✭ 188 (-9.62%)
Mutual labels:  diff
Coveragechecker
Allows old code to use new standards
Stars: ✭ 159 (-23.56%)
Mutual labels:  diff
Mirrordiffkit
Graduation from messy XCTAssertEqual messages.
Stars: ✭ 168 (-19.23%)
Mutual labels:  diff
Swiftlcs
Swift implementation of the longest common subsequence (LCS) algorithm.
Stars: ✭ 207 (-0.48%)
Mutual labels:  diff
Htmlsimilarity
网页相似度判断:根据网页结构判断页面相似性 ,可用于相似度计算、越权检测等(Determine page similarity based on HTML page structure)
Stars: ✭ 189 (-9.13%)
Mutual labels:  diff
Vim Mergetool
🍰 Efficient way of using Vim as a Git mergetool
Stars: ✭ 179 (-13.94%)
Mutual labels:  diff

Build Status

git webdiff

Two-column web-based git difftool.

Features include:

  • Side-by-side (two column) diff view
  • Runs in the browser of your choice on any platform.
  • Syntax highlighting via highlight.js
  • Step back and forth through multiple files in a single diff
  • Rich support for image diffs

Screenshot of webdiff in action

Screenshot of image diffs

Installation

pip install webdiff

Usage

Instead of running "git diff", run:

git webdiff

You can also start webdiff via:

git webdiff [args]

You can pass all the same arguments that you would to git diff, e.g. 1234..5678 or HEAD.

webdiff can also be invoked directly to diff two directories or files:

webdiff <left_dir> <right_dir>
webdiff <left_file> <right_file>

You can also use webdiff to view GitHub pull requests:

webdiff https://github.com/owner/repo/pull/123
webdiff #123  # if you're in a git repo with a github remote

This will download the files relevant to the Pull Request and run webdiff.

If you run into GitHub API quota limits or you'd like to use webdiff with private repos, you can set your credentials in a .githubrc file:

user.login: yourusername
user.token: your-personal-access-tokens

Make sure you chmod this file to only be readable by yourself. You can generate a personal access token for webdiff via github.com → profile → Settings → Personal access tokens. Make sure to grant all the "repo" privileges.

Development

(from an activated virtualenv)

pip install -r requirements.txt
cd ts
yarn
webpack

Then from the root directory:

./webdiff/app.py testdata/dygraphsjs/{left,right}

or to launch in debug mode:

./test.sh $(pwd)/../testdata/webdiffdiff/{left,right}

(or any other directory in testdata)

To run the Python tests:

nosetests

To run the JavaScript tests:

python -m SimpleHTTPServer
open tests/runner.html

To format the code, run:

./scripts/black.sh
cd ts
yarn prettier

To iterate on the PyPI package, run:

# from outside the webdiff virtualenv:
pip uninstall webdiff

# from inside the webdiff virtualenv, adjust for current version
python setup.py sdist
mkdir /tmp/webdiff-test
cp dist/webdiff-X.Y.Z.tar.gz /tmp/webdiff-test

deactivate
cd /tmp/webdiff-test
pip install webdiff-X.Y.Z.tar.gz

To publish to pypitest:

pip install --upgraede wheel setuptools twine
python setup.py sdist bdist_wheel
twine upload -r testpypi dist/*

And to the real pypi:

twine upload dist/*

See pypirc docs for details on setting up ~/.pypirc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].