Universum
Universum copied to clipboard
Command line options '--p4-mappings' work weird
Description
When using the options --p4-mappings '//my/mapping/... /mapping/...' universum return next error:
| 2.2. Creating workspace
| | 2.2.1. Cleaning workspace
| | | ==> No client to delete
| | └ [Success]
| |
| | Error: [P4#run] Errors during command execution( "p4 client -i" )
| |
| | [Error]: "Error in client specification.\nMapping 'default' is not under '//WATCH_TASK/...'."
| |
| └ [Failed]
But if this option is used as --p4-mappings='//my/mapping/... /mapping/...' all right.
Steps to reproduce
Run in terminal:
python -m universum --vcs-type p4 --p4-client MY_CLIENT --p4-port 111.111.111.111:111 --p4-user USER --p4-password PASS --p4-mappings '//my/mapping/... /mapping/...'
Expected result
| 2.2. Creating workspace
| └ [Success]
Actual result
| 2.2. Creating workspace
| | 2.2.1. Cleaning workspace
| | | ==> No client to delete
| | └ [Success]
| |
| | Error: [P4#run] Errors during command execution( "p4 client -i" )
| |
| | [Error]: "Error in client specification.\nMapping 'default' is not under '//WATCH_TASK/...'."
| |
| └ [Failed]
Environment
- Python version: 3.8.10
- Universum version: 0.19.12
Additional context
The bug occurs because to settings.mappings list was added new element with default value:
[['//my/mapping/... /mapping/..., //my/mapping2/... /mapping2/...', 'default']]
Bug not occurs when --p4-mappings is not a last option in command line:
python -m universum --vcs-type p4 --p4-client MY_CLIENT --p4-port 111.111.111.111:111 --p4-user USER --p4-password PASS --p4-mappings '//my/mapping/... /mapping/...' --p4-force-clean
or if remove nargs='+' in parser.add_argument("--p4-mappings",... in universum code