Ydiff
=====
.. image:: https://github.com/ymattw/ydiff/actions/workflows/test.yml/badge.svg
:alt: Tests status
:target: https://github.com/ymattw/ydiff/actions
Term based tool to view *colored*, *incremental* diff in a version controlled
workspace (supports Git, Mercurial, Perforce and Svn so far) or from stdin,
with *side by side* (similar to ``diff -y``) and *auto pager* support. Requires
python (>= 2.6.0) and ``less``.
.. image:: https://raw.github.com/ymattw/ydiff/gh-pages/img/default.png
:alt: default
:align: center
.. image:: https://raw.github.com/ymattw/ydiff/gh-pages/img/side-by-side.png
:alt: side by side
:align: center
:width: 900 px
Ydiff only supports diff in `Unified Format`_. This is default in most version
control system except Perforce, which needs an environment variable
``P4DIFF="diff -u"`` to output unified diff.
.. _`Unified Format`: https://en.wikipedia.org/wiki/Diff#Unified_format
Installation
------------
Ydiff only depends on Python built-in libraries, so you can just download the
source and run without worrying about any installation.
Git tagged `releases`_ will be packaged and uploaded to PyPI timely, however,
packages hosted elsewhere are not (please note they are not managed by the
author `@ymattw`_).
.. _`@ymattw`: https://github.com/ymattw
.. _`releases`: https://github.com/ymattw/ydiff/releases
Download directly
~~~~~~~~~~~~~~~~~
Just save `ydiff.py`_ to whatever directory which is in your ``$PATH``, for
example, ``$HOME/bin`` is in my ``$PATH``, so I save the script there and name
as ``ydiff``.
.. _`ydiff.py`: https://raw.github.com/ymattw/ydiff/master/ydiff.py
.. code-block:: bash
curl -ksSL https://raw.github.com/ymattw/ydiff/master/ydiff.py > ~/bin/ydiff
chmod +x ~/bin/ydiff
Install with pip
~~~~~~~~~~~~~~~~
Ydiff is already listed on `PyPI`_, you can install with ``pip`` if you have
the tool.
.. _PyPI: http://pypi.python.org/pypi/ydiff
.. code-block:: bash
pip install --upgrade ydiff
Install with setup.py
~~~~~~~~~~~~~~~~~~~~~
You can also run the setup.py from the source if you don't have ``pip``.
.. code-block:: bash
git clone https://github.com/ymattw/ydiff.git
cd ydiff
./setup.py install
Install with Homebrew
~~~~~~~~~~~~~~~~~~~~~
You can also install with Homebrew on Mac. (Thanks to `@josa42`_,
`@bfontaine`_, `@hivehand`_ and `@nijikon`_ for contributing to the Homebrew
`Formula`_).
.. _`@josa42`: https://github.com/josa42
.. _`@bfontaine`: https://github.com/bfontaine
.. _`@hivehand`: https://github.com/hivehand
.. _`@nijikon`: https://github.com/nijikon
.. _`Formula`: https://github.com/Homebrew/homebrew-core/blob/master/Formula/y/ydiff.rb
.. code-block:: bash
brew install ydiff
Install on Fedora
~~~~~~~~~~~~~~~~~
On Fedora, you can install ydiff with dnf.
.. code-block:: bash
dnf install ydiff
Install on FreeBSD
~~~~~~~~~~~~~~~~~~
On FreeBSD, you can install ydiff with pkg.
.. code-block:: bash
pkg install ydiff
Usage
-----
Type ``ydiff -h`` to show usage::
$ ydiff -h
Usage: ydiff [options] [file|dir ...]
View colored, incremental diff in a workspace or from stdin, with side by side
and auto pager support
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-s, --side-by-side enable side-by-side mode
-w N, --width=N set text width for side-by-side mode, 0 for auto
detection, default is 80
-l, --log show log with changes from revision control
-c M, --color=M colorize mode 'auto' (default), 'always', or 'never'
-t N, --tab-width=N convert tab characters to this many spaces (default: 8)
--wrap wrap long lines in side-by-side view
-p M, --pager=M pager application, suggested values are 'less' or 'cat'
-o M, --pager-options=M
options to supply to pager application
Note:
Option parser will stop on first unknown option and pass them down to
underneath revision control. Environment variable YDIFF_OPTIONS may be
used to specify default options that will be placed at the beginning
of the argument list.
Read diff from local modification in a *Git/Mercurial/Perforce/Svn* workspace
(output from e.g. ``git diff``, ``svn diff``):
.. code-block:: bash
cd proj-workspace
ydiff # view colored incremental diff
ydiff -s # view side by side, use default text width 80
ydiff -s -w 90 # use text width 90 other than default 80
ydiff -s -w 0 # auto set text width based on terminal size
ydiff -s -w 0 --wrap # same as before, but also wrap long lines
ydiff -s file1 dir2 # view modification of given files/dirs only
ydiff -s -w90 --wrap -- -U10 # pass '-U10' to underneath revision diff tool
ydiff -s -w90 --wrap -U10 # '--' is optional as it's unknown to ydiff
ydiff -s --cached # show git staged diff (git diff --cached)
ydiff -s -r1234 # show svn diff to revision 1234
Read log with changes in a *Git/Mercurial/Svn* workspace (output from e.g.
``git log -p``, ``svn log --diff``), note *--diff* option is new in svn 1.7.0:
.. code-block:: bash
cd proj-workspace
ydiff -l # read log along with changes
ydiff -ls # equivalent to ydiff -l -s, view side by side
ydiff -ls -w90 --wrap # set text width 90 and enable wrapping as well
ydiff -ls file1 dir2 # see log with changes of given files/dirs only
Utilize a specific pager application:
.. code-block:: bash
ydiff # default pager - less
LESS_OPTS='-FRSX --shift 1'
ydiff -p less -o "${LESS_OPTS}" # emulate default pager
ydiff -p /usr/bin/less # custom pager
ydiff -p cat # non-paging ANSI processor for colorizing
Pipe in a diff:
.. code-block:: bash
git log -p -2 | ydiff # view git log with changes of last 2 commits
git show 15bfa | ydiff -s # view a given git commit, side by side
svn diff -r1234 | ydiff -s # view svn diff comparing to given revision
diff -u file1 file2 | ydiff # view diff between two files (note the '-u')
diff -ur dir1 dir2 | ydiff # view diff between two dirs
# View diff in a GitHub pull request, side by side
curl https://github.com/ymattw/ydiff/pull/11.diff | ydiff -s
# View a patch file in unified format.
ydiff -s < foo.patch
Redirect output to another patch file is safe:
.. code-block:: bash
svn diff -r PREV | ydiff -s > my.patch
Environment variable
--------------------
Environment variable ``YDIFF_OPTIONS`` may be used to specify default options
that will be placed at the beginning of the argument list, for example:
.. code-block:: bash
export YDIFF_OPTIONS='-s -w0 --wrap'
ydiff foo # equivalent to "ydiff -s -w0 --wrap foo"
Note the default pager ``less`` takes options from the environment variable
``LESS``.
Notes
-----
If you feel more comfortable with a command such as ``git ydiff`` to trigger
the ydiff command, you may symlink the executable to one named ``git-ydiff``
as follows:
.. code-block:: bash
ydiff_dir=$(dirname $(which ydiff))
ln -s "${ydiff_dir}/ydiff" "${ydiff_dir}/git-ydiff"
Known issues
------------
Ydiff has following known issues:
- Side by side mode has alignment problem for wide chars
- Terminal might be in a mess on exception (type ``reset`` can fix it)
Pull requests are very welcome, please make sure your changes can pass unit
tests and regression tests by run ``make docker-test``.
.. vim:set ft=rst et sw=4 sts=4 tw=79:
Change log
==========
Version 1.3 (2024-04-02)
- Dropped context diff support
- Handle East Asian wide characters (thanks to @roy2220)
- Fix SIGPIPE issue on Windows (unofficial support, thanks to @kingsamchen)
- Bump Python requirement to >=2.6 (Python 2 support is no longer tested)
Version 1.2 (2020-08-08)
- Support perforce workspaces
- Support pager customization via --pager and --pager_options
- Support running on Windows (requires ``less`` which is offered by git-bash)
- Fix a bug where reading stdin does not work outside a CVS workspace
- Fix tab expansion, expands to the next stop modulo tab width
- Performance improvement
Version 1.1 (2018-06-05)
- Rename from ``cdiff`` to ``ydiff`` to avoid binary name conflict on major
distributions, ``CDIFF_OPTIONS`` still works but will be deprepated soon
- New option ``--wrap`` to wrap long lines in side-by-side view
Version 1.0 (2016-12-31)
- Use environment variable ``CDIFF_OPTIONS`` to hold default options
Version 0.9.8 (2016-01-16)
- More robust parser to tolerate evil unified diff
Version 0.9.7 (2015-04-24)
- Fix unexpected side-by-side output for diff of diff
- Better color to work with solarized color scheme
Version 0.9.6 (2014-06-20)
- Fix TypeError exception in auto width logic
Version 0.9.5 (2014-06-19)
- Option ``--width 0`` now fits terminal size automatically
- Enable smooth horizontal scrolling with less option ``--shift 1``
Version 0.9.4 (2014-06-04)
- Respect the ``LESS`` environment variable
- Support python 3.4
- Fix curl options in document
Version 0.9.3 (2013-09-28)
- Moved screenshots to 'gh-pages' branch
- Handle all keyboard interrupts more completely
- Explicitly set default encoding to utf-8
- Fixed broken output diff when I/O with filterdiff in nonblocking mode
Version 0.9.2 (2013-06-21)
- Enahanced option parser now pass unknown option to underneath revision
control, user can use ``cdiff --cached``, ``cdiff -U5`` directly
Version 0.9.1 (2013-05-20)
- Use ``--no-ext-diff`` to disable GIT_EXTERNAL_DIFF and diff.external which
might break cdiff output
Version 0.9 (2013-03-23)
- Supports reading context diff via ``filterdiff`` (patchutils)
- Fixed a diff parser bug which misread git commit message as common line
- Lots of code refactor
Version 0.8 (2013-03-13)
- Parser is now robust enough to handle dangling headers and short patch
- PEP8 (with minor own flavors) and other code lint
- Change 'Development Status' to stable
Version 0.7.1 (2013-02-25)
- Handle 'Binary files ... differ'
- Document update for known issues
Version 0.7 (2013-02-23)
- Support reading diff or log for given files/dirs in workspace
- Support diff generated from ``diff -ru dir1 dir2``
- Usage change: reading a patch and comparing two files need stdin redirect
Version 0.6 (2013-02-20)
- A few performance tuning and code clean up
- Add unit test cases with coverage 70%
- Show merge history in svn log
Version 0.5.1 (2013-02-19)
- Fixed incorrect yield on diff missing eof
- Fixed a bug in diff format probe
- Handle keyboard interrupt and large diffs in non-color mode
- Code clean up
Version 0.5 (2013-02-18)
- Support read output from ``svn diff --log`` and ``hg log -p``
- Streamline reading large patch set
- New ``--log (-l)`` option to read revision control diff log (thanks to
`Steven Myint`_)
Version 0.4 (2013-02-16)
- New option *-c WHEN* (*--color WHEN*) to support auto test
- Auto regression test now on Travis
Version 0.3 (2013-02-07)
- Support compare two files (wrapper of diff)
Version 0.2 (2013-02-06)
- Move cdiff.py to top dir for better meta info management
Version 0.1 (2013-02-05)
- New --version option
- setup.py now read version from source code
Version 0.0.4 (2013-02-04)
- Add CHANGES for history track and better versioning
Version 0.0.3 (2013-02-04)
- Publish on PyPI, supports read patch from file, pipe and diff output from
revision tools (thanks to `Steven Myint`_)
.. _Steven Myint: https://github.com/myint
.. vim:set ft=rst et sw=4 sts=4 tw=79:
Raw data
{
"_id": null,
"home_page": "https://github.com/ymattw/ydiff",
"name": "ydiff",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "colored incremental side-by-side diff",
"author": "Matt Wang",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/22/e1/df78c47d98070228bc1589df6aa2b2c7ae1d4b35f9312dbb2d7a122a0f19/ydiff-1.3.tar.gz",
"platform": null,
"description": "Ydiff\n=====\n\n.. image:: https://github.com/ymattw/ydiff/actions/workflows/test.yml/badge.svg\n :alt: Tests status\n :target: https://github.com/ymattw/ydiff/actions\n\nTerm based tool to view *colored*, *incremental* diff in a version controlled\nworkspace (supports Git, Mercurial, Perforce and Svn so far) or from stdin,\nwith *side by side* (similar to ``diff -y``) and *auto pager* support. Requires\npython (>= 2.6.0) and ``less``.\n\n.. image:: https://raw.github.com/ymattw/ydiff/gh-pages/img/default.png\n :alt: default\n :align: center\n\n.. image:: https://raw.github.com/ymattw/ydiff/gh-pages/img/side-by-side.png\n :alt: side by side\n :align: center\n :width: 900 px\n\nYdiff only supports diff in `Unified Format`_. This is default in most version\ncontrol system except Perforce, which needs an environment variable\n``P4DIFF=\"diff -u\"`` to output unified diff.\n\n.. _`Unified Format`: https://en.wikipedia.org/wiki/Diff#Unified_format\n\nInstallation\n------------\n\nYdiff only depends on Python built-in libraries, so you can just download the\nsource and run without worrying about any installation.\n\nGit tagged `releases`_ will be packaged and uploaded to PyPI timely, however,\npackages hosted elsewhere are not (please note they are not managed by the\nauthor `@ymattw`_).\n\n.. _`@ymattw`: https://github.com/ymattw\n.. _`releases`: https://github.com/ymattw/ydiff/releases\n\nDownload directly\n~~~~~~~~~~~~~~~~~\n\nJust save `ydiff.py`_ to whatever directory which is in your ``$PATH``, for\nexample, ``$HOME/bin`` is in my ``$PATH``, so I save the script there and name\nas ``ydiff``.\n\n.. _`ydiff.py`: https://raw.github.com/ymattw/ydiff/master/ydiff.py\n\n.. code-block:: bash\n\n curl -ksSL https://raw.github.com/ymattw/ydiff/master/ydiff.py > ~/bin/ydiff\n chmod +x ~/bin/ydiff\n\nInstall with pip\n~~~~~~~~~~~~~~~~\n\nYdiff is already listed on `PyPI`_, you can install with ``pip`` if you have\nthe tool.\n\n.. _PyPI: http://pypi.python.org/pypi/ydiff\n\n.. code-block:: bash\n\n pip install --upgrade ydiff\n\nInstall with setup.py\n~~~~~~~~~~~~~~~~~~~~~\n\nYou can also run the setup.py from the source if you don't have ``pip``.\n\n.. code-block:: bash\n\n git clone https://github.com/ymattw/ydiff.git\n cd ydiff\n ./setup.py install\n\nInstall with Homebrew\n~~~~~~~~~~~~~~~~~~~~~\n\nYou can also install with Homebrew on Mac. (Thanks to `@josa42`_,\n`@bfontaine`_, `@hivehand`_ and `@nijikon`_ for contributing to the Homebrew\n`Formula`_).\n\n.. _`@josa42`: https://github.com/josa42\n.. _`@bfontaine`: https://github.com/bfontaine\n.. _`@hivehand`: https://github.com/hivehand\n.. _`@nijikon`: https://github.com/nijikon\n.. _`Formula`: https://github.com/Homebrew/homebrew-core/blob/master/Formula/y/ydiff.rb\n\n.. code-block:: bash\n\n brew install ydiff\n\n\nInstall on Fedora\n~~~~~~~~~~~~~~~~~\n\nOn Fedora, you can install ydiff with dnf.\n\n.. code-block:: bash\n\n dnf install ydiff\n\nInstall on FreeBSD\n~~~~~~~~~~~~~~~~~~\n\nOn FreeBSD, you can install ydiff with pkg.\n\n.. code-block:: bash\n\n pkg install ydiff\n\nUsage\n-----\n\nType ``ydiff -h`` to show usage::\n\n $ ydiff -h\n Usage: ydiff [options] [file|dir ...]\n\n View colored, incremental diff in a workspace or from stdin, with side by side\n and auto pager support\n\n Options:\n --version show program's version number and exit\n -h, --help show this help message and exit\n -s, --side-by-side enable side-by-side mode\n -w N, --width=N set text width for side-by-side mode, 0 for auto\n detection, default is 80\n -l, --log show log with changes from revision control\n -c M, --color=M colorize mode 'auto' (default), 'always', or 'never'\n -t N, --tab-width=N convert tab characters to this many spaces (default: 8)\n --wrap wrap long lines in side-by-side view\n -p M, --pager=M pager application, suggested values are 'less' or 'cat'\n -o M, --pager-options=M\n options to supply to pager application\n\n Note:\n Option parser will stop on first unknown option and pass them down to\n underneath revision control. Environment variable YDIFF_OPTIONS may be\n used to specify default options that will be placed at the beginning\n of the argument list.\n\nRead diff from local modification in a *Git/Mercurial/Perforce/Svn* workspace\n(output from e.g. ``git diff``, ``svn diff``):\n\n.. code-block:: bash\n\n cd proj-workspace\n ydiff # view colored incremental diff\n ydiff -s # view side by side, use default text width 80\n ydiff -s -w 90 # use text width 90 other than default 80\n ydiff -s -w 0 # auto set text width based on terminal size\n ydiff -s -w 0 --wrap # same as before, but also wrap long lines\n ydiff -s file1 dir2 # view modification of given files/dirs only\n ydiff -s -w90 --wrap -- -U10 # pass '-U10' to underneath revision diff tool\n ydiff -s -w90 --wrap -U10 # '--' is optional as it's unknown to ydiff\n ydiff -s --cached # show git staged diff (git diff --cached)\n ydiff -s -r1234 # show svn diff to revision 1234\n\nRead log with changes in a *Git/Mercurial/Svn* workspace (output from e.g.\n``git log -p``, ``svn log --diff``), note *--diff* option is new in svn 1.7.0:\n\n.. code-block:: bash\n\n cd proj-workspace\n ydiff -l # read log along with changes\n ydiff -ls # equivalent to ydiff -l -s, view side by side\n ydiff -ls -w90 --wrap # set text width 90 and enable wrapping as well\n ydiff -ls file1 dir2 # see log with changes of given files/dirs only\n\nUtilize a specific pager application:\n\n.. code-block:: bash\n\n ydiff # default pager - less\n LESS_OPTS='-FRSX --shift 1'\n ydiff -p less -o \"${LESS_OPTS}\" # emulate default pager\n ydiff -p /usr/bin/less # custom pager\n ydiff -p cat # non-paging ANSI processor for colorizing\n\nPipe in a diff:\n\n.. code-block:: bash\n\n git log -p -2 | ydiff # view git log with changes of last 2 commits\n git show 15bfa | ydiff -s # view a given git commit, side by side\n svn diff -r1234 | ydiff -s # view svn diff comparing to given revision\n diff -u file1 file2 | ydiff # view diff between two files (note the '-u')\n diff -ur dir1 dir2 | ydiff # view diff between two dirs\n\n # View diff in a GitHub pull request, side by side\n curl https://github.com/ymattw/ydiff/pull/11.diff | ydiff -s\n\n # View a patch file in unified format.\n ydiff -s < foo.patch\n\nRedirect output to another patch file is safe:\n\n.. code-block:: bash\n\n svn diff -r PREV | ydiff -s > my.patch\n\nEnvironment variable\n--------------------\n\nEnvironment variable ``YDIFF_OPTIONS`` may be used to specify default options\nthat will be placed at the beginning of the argument list, for example:\n\n.. code-block:: bash\n\n export YDIFF_OPTIONS='-s -w0 --wrap'\n ydiff foo # equivalent to \"ydiff -s -w0 --wrap foo\"\n\nNote the default pager ``less`` takes options from the environment variable\n``LESS``.\n\nNotes\n-----\n\nIf you feel more comfortable with a command such as ``git ydiff`` to trigger\nthe ydiff command, you may symlink the executable to one named ``git-ydiff``\nas follows:\n\n.. code-block:: bash\n\n ydiff_dir=$(dirname $(which ydiff))\n ln -s \"${ydiff_dir}/ydiff\" \"${ydiff_dir}/git-ydiff\"\n\nKnown issues\n------------\n\nYdiff has following known issues:\n\n- Side by side mode has alignment problem for wide chars\n- Terminal might be in a mess on exception (type ``reset`` can fix it)\n\nPull requests are very welcome, please make sure your changes can pass unit\ntests and regression tests by run ``make docker-test``.\n\n.. vim:set ft=rst et sw=4 sts=4 tw=79:\n\nChange log\n==========\n\nVersion 1.3 (2024-04-02)\n\n - Dropped context diff support\n - Handle East Asian wide characters (thanks to @roy2220)\n - Fix SIGPIPE issue on Windows (unofficial support, thanks to @kingsamchen)\n - Bump Python requirement to >=2.6 (Python 2 support is no longer tested)\n\nVersion 1.2 (2020-08-08)\n\n - Support perforce workspaces\n - Support pager customization via --pager and --pager_options\n - Support running on Windows (requires ``less`` which is offered by git-bash)\n - Fix a bug where reading stdin does not work outside a CVS workspace\n - Fix tab expansion, expands to the next stop modulo tab width\n - Performance improvement\n\nVersion 1.1 (2018-06-05)\n\n - Rename from ``cdiff`` to ``ydiff`` to avoid binary name conflict on major\n distributions, ``CDIFF_OPTIONS`` still works but will be deprepated soon\n - New option ``--wrap`` to wrap long lines in side-by-side view\n\nVersion 1.0 (2016-12-31)\n\n - Use environment variable ``CDIFF_OPTIONS`` to hold default options\n\nVersion 0.9.8 (2016-01-16)\n\n - More robust parser to tolerate evil unified diff\n\nVersion 0.9.7 (2015-04-24)\n\n - Fix unexpected side-by-side output for diff of diff\n - Better color to work with solarized color scheme\n\nVersion 0.9.6 (2014-06-20)\n\n - Fix TypeError exception in auto width logic\n\nVersion 0.9.5 (2014-06-19)\n\n - Option ``--width 0`` now fits terminal size automatically\n - Enable smooth horizontal scrolling with less option ``--shift 1``\n\nVersion 0.9.4 (2014-06-04)\n\n - Respect the ``LESS`` environment variable\n - Support python 3.4\n - Fix curl options in document\n\nVersion 0.9.3 (2013-09-28)\n\n - Moved screenshots to 'gh-pages' branch\n - Handle all keyboard interrupts more completely\n - Explicitly set default encoding to utf-8\n - Fixed broken output diff when I/O with filterdiff in nonblocking mode\n\nVersion 0.9.2 (2013-06-21)\n\n - Enahanced option parser now pass unknown option to underneath revision\n control, user can use ``cdiff --cached``, ``cdiff -U5`` directly\n\nVersion 0.9.1 (2013-05-20)\n\n - Use ``--no-ext-diff`` to disable GIT_EXTERNAL_DIFF and diff.external which\n might break cdiff output\n\nVersion 0.9 (2013-03-23)\n\n - Supports reading context diff via ``filterdiff`` (patchutils)\n - Fixed a diff parser bug which misread git commit message as common line\n - Lots of code refactor\n\nVersion 0.8 (2013-03-13)\n\n - Parser is now robust enough to handle dangling headers and short patch\n - PEP8 (with minor own flavors) and other code lint\n - Change 'Development Status' to stable\n\nVersion 0.7.1 (2013-02-25)\n\n - Handle 'Binary files ... differ'\n - Document update for known issues\n\nVersion 0.7 (2013-02-23)\n\n - Support reading diff or log for given files/dirs in workspace\n - Support diff generated from ``diff -ru dir1 dir2``\n - Usage change: reading a patch and comparing two files need stdin redirect\n\nVersion 0.6 (2013-02-20)\n\n - A few performance tuning and code clean up\n - Add unit test cases with coverage 70%\n - Show merge history in svn log\n\nVersion 0.5.1 (2013-02-19)\n\n - Fixed incorrect yield on diff missing eof\n - Fixed a bug in diff format probe\n - Handle keyboard interrupt and large diffs in non-color mode\n - Code clean up\n\nVersion 0.5 (2013-02-18)\n\n - Support read output from ``svn diff --log`` and ``hg log -p``\n - Streamline reading large patch set\n - New ``--log (-l)`` option to read revision control diff log (thanks to\n `Steven Myint`_)\n\nVersion 0.4 (2013-02-16)\n\n - New option *-c WHEN* (*--color WHEN*) to support auto test\n - Auto regression test now on Travis\n\nVersion 0.3 (2013-02-07)\n\n - Support compare two files (wrapper of diff)\n\nVersion 0.2 (2013-02-06)\n\n - Move cdiff.py to top dir for better meta info management\n\nVersion 0.1 (2013-02-05)\n\n - New --version option\n - setup.py now read version from source code\n\nVersion 0.0.4 (2013-02-04)\n\n - Add CHANGES for history track and better versioning\n\nVersion 0.0.3 (2013-02-04)\n\n - Publish on PyPI, supports read patch from file, pipe and diff output from\n revision tools (thanks to `Steven Myint`_)\n\n.. _Steven Myint: https://github.com/myint\n\n.. vim:set ft=rst et sw=4 sts=4 tw=79:\n",
"bugtrack_url": null,
"license": "BSD-3",
"summary": "View colored, incremental diff in a workspace or from stdin, with side by side and auto pager support",
"version": "1.3",
"project_urls": {
"Homepage": "https://github.com/ymattw/ydiff"
},
"split_keywords": [
"colored",
"incremental",
"side-by-side",
"diff"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "22e1df78c47d98070228bc1589df6aa2b2c7ae1d4b35f9312dbb2d7a122a0f19",
"md5": "4b31f55e0d7ce3220cf7569e07c946a5",
"sha256": "8a2e84588ef31d3e525700fa964b1f9aab61f0c9c46281e05341a56e01dcd7b8"
},
"downloads": -1,
"filename": "ydiff-1.3.tar.gz",
"has_sig": false,
"md5_digest": "4b31f55e0d7ce3220cf7569e07c946a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 74115,
"upload_time": "2024-04-02T09:11:05",
"upload_time_iso_8601": "2024-04-02T09:11:05.394969Z",
"url": "https://files.pythonhosted.org/packages/22/e1/df78c47d98070228bc1589df6aa2b2c7ae1d4b35f9312dbb2d7a122a0f19/ydiff-1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-02 09:11:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ymattw",
"github_project": "ydiff",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ydiff"
}