From 2adc4915d42547fd71e4d8983dc50e33df251b53 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Tue, 18 Feb 2025 17:33:15 +0100 Subject: just-lock: Support special pragma for plain imports Marking a source repository 'as plain' means that the whole source repository tree will get imported as a repository type corresponding to the source type. In this case, additional pragmas than those supported by the inndividual imports might need to be set. Solve this by supporting the just-mr-style 'pragma' field also in the source description, for all sources also accepting the 'as plain' field. Currently support only the 'special' pragma. Document change and add test for plain imports that checks this feature. --- share/man/just-lock-config.5.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'share') diff --git a/share/man/just-lock-config.5.md b/share/man/just-lock-config.5.md index 5ae901fb..3e71fd30 100644 --- a/share/man/just-lock-config.5.md +++ b/share/man/just-lock-config.5.md @@ -107,6 +107,11 @@ The following fields are supported: Git repository does not have a repository configuration or should be imported as-is, without dependencies. This entry is optional. + - *`"pragma"`* has as value a JSON object. If `"as plain"` evaluates to `true`, + if a pragma object with key `"special"` is provided, it will unconditionally + be forwarded to the `"pragma"` object of the repository being imported for + this source. This entry is optional. + - *`"config"`* has a string value defining the relative path of the foreign repository configuration file to be considered from the Git repository. This entry is optional. If not provided and the `"as plain"` field does not @@ -136,6 +141,11 @@ The following fields are supported: Git repository does not have a repository configuration or should be imported as-is, without dependencies. This entry is optional. + - *`"pragma"`* has as value a JSON object. If `"as plain"` evaluates to `true`, + if a pragma object with key `"special"` is provided, it will unconditionally + be forwarded to the `"pragma"` object of the repository being imported for + this source. This entry is optional. + - *`"config"`* has a string value defining the relative path of the foreign repository configuration file to be considered from the Git repository. This entry is optional. If not provided and the `"as plain"` field does not @@ -190,6 +200,11 @@ The following fields are supported: archived repository does not have a configuration file or should be imported as-is, without dependencies. This entry is optional. + - *`"pragma"`* has as value a JSON object. If `"as plain"` evaluates to `true`, + if a pragma object with key `"special"` is provided, it will unconditionally + be forwarded to the `"pragma"` object of the repository being imported for + this source. This entry is optional. + - *`"config"`* has a string value defining the relative path of the foreign repository configuration file to be considered from the unpacked archive root. This entry is optional. If not provided and the `"as plain"` field does @@ -239,6 +254,11 @@ The following fields are supported: Git repository does not have a repository configuration or should be imported as-is, without dependencies. This entry is optional. + - *`"pragma"`* has as value a JSON object. If `"as plain"` evaluates to `true`, + if a pragma object with key `"special"` is provided, it will unconditionally + be forwarded to the `"pragma"` object of the repository being imported for + this source. This entry is optional. + - *`"config"`* has a string value defining the relative path of the foreign repository configuration file to be considered from the Git repository. This entry is optional. If not provided and the `"as plain"` field does not -- cgit v1.2.3