A diff tool for VMware vRealize Orchestrator packages files
vRO-package-diff is a Python package to compare 2 VMware vRealize Orchestrator packages.
It provides a table-formated diff of two packages:
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
--- 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>
Install and update using pip:
pip install vro-package-diff
vRO-package-diff supports Python 3.5 and newer.
vro-diff --legend --reference_package tests/data/package_v1.0.package tests/data/package_v1.1.package
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.
Add support for PolicyTemplate items #46
Fix: Error in version comparaison #44
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.
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
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
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.
vro-package-diff is now a Pypi hosted project
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:
A test feature
Documentation is hosted on vro-package-diff.readthedocs.io
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for vro_package_diff-2.2.2-py2.py3-none-any.whl