diff mbox series

[bug#66491,maintenance] hydra: build-package-metadata: Add boolean for Git submodules in sources.json.

Message ID 20231012123931.390137-1-zimon.toutoune@gmail.com
State New
Headers show
Series [bug#66491,maintenance] hydra: build-package-metadata: Add boolean for Git submodules in sources.json. | expand

Commit Message

Simon Tournier Oct. 12, 2023, 12:39 p.m. UTC
This format had been discussed in
<https://gitlab.softwareheritage.org/swh/devel/swh-loader-git/-/issues/4751#note_150607>

* hydra/build-package-metadata.scm (origin->json)[resolve]: Add the keyword
'submodule' when the Git reference is recursive.
---
 hydra/build-package-metadata.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Hi,

This patch helps on SWH side.

        Nevertheless, if it is possible from your side to add a new boolean field in
        the JSON file (submodules ?) indicating that submodules should be fetched to
        compute the hash, this will simplify the processing from our side.

<https://gitlab.softwareheritage.org/swh/devel/swh-loader-git/-/issues/4751#note_150593>

Cheers,
simon



base-commit: 8f703892a6d549d52eb0374deb11d6af734065d4

Comments

Ludovic Courtès Oct. 14, 2023, 5:23 p.m. UTC | #1
Hi,

Simon Tournier <zimon.toutoune@gmail.com> skribis:

> This format had been discussed in
> <https://gitlab.softwareheritage.org/swh/devel/swh-loader-git/-/issues/4751#note_150607>
>
> * hydra/build-package-metadata.scm (origin->json)[resolve]: Add the keyword
> 'submodule' when the Git reference is recursive.

[...]

>           ,@(if (eq? method git-fetch)
> -               `(("git_ref" . ,(git-reference-commit uri)))
> +               `(("git_ref" . ,(git-reference-commit uri))
> +                 ,@(if (git-reference-recursive? uri)
> +                       '(("submodule" . "true"))
> +                       '()))

I think you’ll want to make it #t instead of "true", so that it
translates to the Boolean true, not the string "true":

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (scm->json-string '((a . "true")))
$8 = "{\"a\":\"true\"}"
scheme@(guile-user)> (scm->json-string '((a . #true)))
$9 = "{\"a\":true}"
--8<---------------cut here---------------end--------------->8---

Otherwise LGTM!

Thanks,
Ludo’.
Simon Tournier Oct. 17, 2023, 11:59 a.m. UTC | #2
Hi Ludo,

On Sat, 14 Oct 2023 at 19:23, Ludovic Courtès <ludo@gnu.org> wrote:

> I think you’ll want to make it #t instead of "true", so that it
> translates to the Boolean true, not the string "true":

Thanks, yeah that’s better and consistent.

I have sent v2 because I am not sure to be allowed to push to
maintenance (authorization all that :-)).

Cheers,
simon
diff mbox series

Patch

diff --git a/hydra/build-package-metadata.scm b/hydra/build-package-metadata.scm
index 0a75204..9f90c5e 100755
--- a/hydra/build-package-metadata.scm
+++ b/hydra/build-package-metadata.scm
@@ -182,7 +182,10 @@  superseded packages."
                                             "recursive"))))
                '())
          ,@(if (eq? method git-fetch)
-               `(("git_ref" . ,(git-reference-commit uri)))
+               `(("git_ref" . ,(git-reference-commit uri))
+                 ,@(if (git-reference-recursive? uri)
+                       '(("submodule" . "true"))
+                       '()))
                '())
          ,@(if (eq? method svn-fetch)
                `(("svn_revision" . ,(svn-reference-revision uri)))