diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2024-06-25 12:31:52 +0200 |
---|---|---|
committer | Jade Lovelace <lix@jade.fyi> | 2024-08-01 15:41:30 -0700 |
commit | 87fd1f024c7c979e5d96c41af4ef7e8bdb5792e1 (patch) | |
tree | 4b197ddf8aec8e08208ee5f40e2efab9c48e7e5a /src/libexpr/get-drvs.hh | |
parent | 6abad7cb238c5c7bf59a83bed55e7590c544fc2e (diff) |
Reapply "libfetchers: make attribute / URL query handling consistent"
The original attempt at this introduced a regression; this commit
reverts the revert and fixes the regression.
This reverts commit 3e151d4d77b5296b9da8c3ad209932d1dfa44c68.
Fix to the regression:
flakeref: fix handling of `?dir=` param for flakes in subdirs
As reported in #419[1], accessing a flake in a subdir of a Git
repository fails with the previous commit[2] applied with the error
error: unsupported Git input attribute 'dir'
The problem is that the `dir`-param is inserted into the parsed URL if a
flake is fetched from the subdir of a Git repository. However, for the
fetching part this isn't even needed. The fix is to just pass `subdir`
as second argument to `FlakeRef` (which needs a `basedir` that can be
empty) and leave the parsedURL as-is.
Added a regression test to make sure we don't run into this again.
[1] https://git.lix.systems/lix-project/lix/issues/419
[2] e22172aaf6b6a366cecd3c025590e68fa2b91bcc,
originally 3e151d4d77b5296b9da8c3ad209932d1dfa44c68
Change-Id: I2c72d5a32e406a7ca308e271730bd0af01c5d18b
Diffstat (limited to 'src/libexpr/get-drvs.hh')
0 files changed, 0 insertions, 0 deletions