vro-package-diff 2.2.2
A diff tool for VMware vRealize Orchestrator packages files
Requires Python: >=3.5

vRO-package-diff tool
=====================

|PyPI version shields.io| |PyPI pyversions| |GitHub actions build status| |Travis build status|
|Documentation status| |GitHub| |Fossa Status|

Project description
-------------------

vRO-package-diff is a Python package to compare 2 VMware vRealize
Orchestrator packages.

It provides a table-formated diff of two packages:

|Sample of output|

It is also possible to export `unified diff`_ files for each supported
element:

::

   tree -L 2 ./diff/
   ./diff/
   ├── conflict
   │   ├── action
   │   ├── configurationelement
   │   ├── resourceelement
   │   └── workflow
   ├── no_upgrade
   │   ├── action
   │   ├── configurationelement
   │   └── workflow
   └── upgrade
       ├── action
       ├── configurationelement
       ├── resourceelement
       └── workflow

   cat ./diff/conflict/action/af7b881d-ba59-40d0-8207-be9e9b2ae34d.diff

.. code:: diff

   --- tests/data/package_v1.0.package - Action: this_is_action_a (0.0.1)
   +++ tests/data/package_v1.1.package - Action: this_is_action_a (0.0.1)
   @@ -13,7 +13,5 @@
           // nothing, just for fun :)
    }

   -Plop;
   -
    System.debug("this_is_action_a stopped");]]></script>

Installing
----------

Install and update using pip:

::

   pip install vro-package-diff

vRO-package-diff supports Python 3.5 and newer.

Usage example
-------------

::

   vro-diff --legend --reference_package tests/data/package_v1.0.package tests/data/package_v1.1.package

CLI help
~~~~~~~~

You can get the usage help by using the ``-h``/``--help`` flag:

::

   vro-diff -h

   Usage: vro-diff [OPTIONS] COMPARED_PACKAGE

   Compare two vRealize Orchestrator packages.

   Use the [-r/--reference_package] option to specify the reference package.

   Options:
   -r, --reference_package FILENAME
                                    Reference package to compare your package
                                    with.  [required]
   -l, --legend                    Display the legend after the diff table
   -t, --test                      Exit with `0` if package can be safely
                                    imported. Else, returns the number of errors
   -a, --ascii                     Only use ASCII symbols to display results
   -b, --no_color                  Do not colorized the output
   -d, --diff PATH                 A folder where to generate unified diff
                                    files output
   -e, --empty-config              Check for values in the configuration
                                    elements: if so, exit with failure status.
   -h, --help                      Show this message and exit.


.. _unified diff: https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html

.. |PyPI version shields.io| image:: https://img.shields.io/pypi/v/vro-package-diff.svg
   :target: https://pypi.python.org/pypi/vro-package-diff/
.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/vro-package-diff.svg
   :target: https://pypi.python.org/pypi/vro-package-diff/
.. |GitHub actions build status| image:: https://github.com/lrivallain/vro-package-diff/workflows/Python%20application/badge.svg
   :target: https://github.com/lrivallain/vro-package-diff/actions
.. |Travis build status| image:: https://travis-ci.org/lrivallain/vro-package-diff.svg?branch=master
   :target: https://travis-ci.org/lrivallain/vro-package-diff
.. |Documentation status| image:: https://readthedocs.org/projects/vro_package_diff/badge/?version=latest
   :target: https://vro_package_diff.readthedocs.io/en/latest/?badge=latest
.. |GitHub| image:: https://img.shields.io/github/license/lrivallain/vro-package-diff
.. |Sample of output| image:: ./docs/_static/vro-package-diff-sample.png
.. |Fossa Status| image:: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flrivallain%2Fvro-package-diff.svg?type=shield


License
~~~~~~~

|Fossa Status large| 

.. |Fossa Status large| image:: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flrivallain%2Fvro-package-diff.svg?type=large


=======
History
=======


2.2.2 (2020-12-15)
------------------

Add support for PolicyTemplate items #46


2.2.1 (2020-11-06)
------------------

Fix: Error in version comparaison #44


2.2.0 (2020-09-18)
------------------

Check for values in the configuration elements: if so, exit with failure status.

Add a new flag to enable this check:

::

   -e, --empty-config   Check for values in the configuration
                           elements: if so, exit with failure status.


2.1.0 (2019-12-19)
------------------

Provide an option to export diff files to a specific folder when a conflict is detected

Add a new option to specify a diff destination folder:

::

   -d, --diff PATH   A folder where to generate unified diff
                        files output



2.0.2 (2019-12-10)
------------------

Support for non UTF8 and non colorized output(s)

Add two new flag to enable specific output formating:

::

   -a, --ascii     Only use ASCII symbols to display results
   -b, --no_color  Do not colorized the output


2.0.1 (2019-08-06)
------------------

MacOSX and Windows support

Note for Windows users:

Windows usage is supported with some limitations:

-  No colored output.

   -  Currently I have no idea on how to fix this.

-  Some UTF-8 symbols used in output are only with some fonts like
   *DejaVu Sans Mono*.

   -  In future, I will try to implement a version of script that do not
      request UTF-8 support to return results.


2.0.0 (2019-08-06)
------------------

vro-package-diff is now a Pypi hosted project

Changes:

-  ``vro-package-diff`` is now a Pypi hosted project:
   `vro-package-diff` and so, can be installed with ``pip install``
   command.
-  An endpoit ``vro-diff`` to access to the tool from any path location.
-  Usage of ```click``` to manage:

   -  inputs packages
   -  help
   -  legend display
   -  test feature

-  A *test* feature
-  Documentation is hosted on `vro-package-diff.readthedocs.io`
-  `Travis pipeline`

.. vro-package-diff: https://pypi.org/project/vro-package-diff/
.. ``click``: https://click.palletsprojects.com/
.. vro-package-diff.readthedocs.io: https://vro-package-diff.readthedocs.io
.. Travis pipeline: https://travis-ci.org/lrivallain/vro-package-diff/


1.0.0 (2018-02-22)
------------------

* First release.