]> _ Git - alire.git/commit
Fixes/tests for recursive link pins (#751)
authorAlejandro R Mosteo <alejandro@mosteo.com>
Wed, 23 Jun 2021 10:15:18 +0000 (12:15 +0200)
committerGitHub <noreply@github.com>
Wed, 23 Jun 2021 10:15:18 +0000 (12:15 +0200)
commit205ba02b3f80f27c0ea0aeb0fe519c736bddc07f
tree0952c0b0f7885a2fe011cec3c7dc99a2be060567
parent13acd704b57845d67f189c3a9691e82c5c9dac5c
Fixes/tests for recursive link pins (#751)

* Fixes for recursive link pins

* Use link relative paths in output

Internally absolute paths are used, which allows to remove some complex logic.

* Bypass dangling reference warning in some gnat versions

* Fixes for absolute paths on Windows

* Cosmetic fix for `alr pin`

* Ensure user pins in memory use absolute paths

This simplifies internals when referring to recursive pins. Paths in the
lockfile and displayed to the user are still shown as relative to the root.

* New improved remote pin management

* Remove some redundant info output

* Remove Externals.Softlinks in favor of User_Pins

* Found cause & workaround of CE2021 path corruption bug

* Testcase minor fix

* Fix spellcheck CI

I broke it inadvertently when disabling spelling for the lockfile

* New tests for recursive pins and more

* Clarifications and tweaks during self-review

* Backport VCSs.Git changes

* Update pins in alire.toml for self-build

* Fixes found by the testsuite on Windows

* Cosmetic fixes found during self-review
54 files changed:
.github/workflows/spellcheck.yml
alire.lock [deleted file]
alire.toml
deps/semantic_versioning
src/alire/alire-conditional_trees-case_nodes.adb
src/alire/alire-dependencies-states.adb
src/alire/alire-dependencies-states.ads
src/alire/alire-directories.adb
src/alire/alire-directories.ads
src/alire/alire-environment.adb
src/alire/alire-externals-softlinks-holders.ads [deleted file]
src/alire/alire-externals-softlinks.adb [deleted file]
src/alire/alire-externals-softlinks.ads [deleted file]
src/alire/alire-externals.adb
src/alire/alire-externals.ads
src/alire/alire-origins.adb
src/alire/alire-origins.ads
src/alire/alire-paths.ads
src/alire/alire-pinning.adb
src/alire/alire-pinning.ads
src/alire/alire-releases.adb
src/alire/alire-roots-optional.adb
src/alire/alire-roots-optional.ads
src/alire/alire-roots.adb
src/alire/alire-roots.ads
src/alire/alire-solutions-diffs.adb
src/alire/alire-solutions.adb
src/alire/alire-solutions.ads
src/alire/alire-user_pins-maps.adb
src/alire/alire-user_pins.adb
src/alire/alire-user_pins.ads
src/alire/alire-utils-user_input.adb
src/alire/alire-utils-user_input.ads
src/alire/alire-vcss-git.adb
src/alire/alire-vcss-git.ads
src/alire/alire-vfs.adb
src/alire/alire-vfs.ads
src/alire/alire.ads
src/alr/alr-commands-pin.adb
src/alr/alr-commands-withing.adb
src/alr/alr-commands.adb
testsuite/drivers/alr.py
testsuite/drivers/helpers.py
testsuite/tests/pin/bad-path/test.py [new file with mode: 0644]
testsuite/tests/pin/bad-path/test.yaml [new file with mode: 0644]
testsuite/tests/pin/change-type/test.py
testsuite/tests/pin/pin-dir/test.py
testsuite/tests/pin/portable-path/test.py [new file with mode: 0644]
testsuite/tests/pin/portable-path/test.yaml [new file with mode: 0644]
testsuite/tests/pin/recursive_local/test.py [new file with mode: 0644]
testsuite/tests/pin/recursive_local/test.yaml [new file with mode: 0644]
testsuite/tests/pin/recursive_remote/test.py [new file with mode: 0644]
testsuite/tests/pin/recursive_remote/test.yaml [new file with mode: 0644]
testsuite/tests/update/manual-once/test.py