The changes are backward-compatible, meaning that existing scripts that use Pum won't need to be updated.
Other things to note:
For backward-compatibility reasons I decided to keep the DeltaPy:delta_dir property. It refers to the first delta directory provided on the command line. And I introduced DeltaPy:delta_dirs to get the list of delta directories.
Deltas are applied in directory order. For example if you use -d deltas1 deltas2 on the command line Pum guarantees that the deltas in deltas1 will be applied before the deltas in deltas2. And within directories deltas are ordered as before, that is using (version, type, name) as the sort key.
I updated the docs (README) and the unit tests.
I also tested this in QWAT. For that I changed QWAT's Travis script to pass an extra delta directory to the pum test-and-upgrade command. I will propose this in a QWAT PR when this Pum PR is merged and a new Pum version is released on pypi.
This PR adds support for multiple delta directories. This is for example useful for handling database extensions with separate delta directories.
So with the proposed changes in this PR one can do:
The changes are backward-compatible, meaning that existing scripts that use Pum won't need to be updated.
Other things to note:
For backward-compatibility reasons I decided to keep the
DeltaPy:delta_dir
property. It refers to the first delta directory provided on the command line. And I introducedDeltaPy:delta_dirs
to get the list of delta directories.Deltas are applied in directory order. For example if you use
-d deltas1 deltas2
on the command line Pum guarantees that the deltas indeltas1
will be applied before the deltas indeltas2
. And within directories deltas are ordered as before, that is using (version, type, name) as the sort key.I updated the docs (README) and the unit tests.
I also tested this in QWAT. For that I changed QWAT's Travis script to pass an extra delta directory to the
pum test-and-upgrade
command. I will propose this in a QWAT PR when this Pum PR is merged and a new Pum version is released on pypi.Please review.