From b9d2d2eabedd6745eda4cb15270994e939d6b1b5 Mon Sep 17 00:00:00 2001 From: ยท๐‘‘๐‘ด๐‘•๐‘‘๐‘ฉ๐‘ค Date: Thu, 11 Dec 2025 08:10:56 +0000 Subject: manifest git fix bool nodes --- lib/manifest.ml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/manifest.ml b/lib/manifest.ml index 370dc27..f987859 100644 --- a/lib/manifest.ml +++ b/lib/manifest.ml @@ -186,20 +186,31 @@ module Git = struct let* git = ll @@ kdl.@(node "git") in let+ repository = Template.of_child ~name: "repository" git and+ mirrors = Template.of_mirrors git + and+ reference = Reference.codec.of_kdl git.children and+ submodules = ll @@ - match git.@(child "submodules" // arg 0 // bool_value) with - | Ok sms -> Ok sms + match git.@(child "submodules") with + | Ok sms -> + begin + match sms.@(arg 0 // bool_value) with + | Ok smb -> Ok smb + | Error (`Missing_index 0) -> Ok true + | Error err -> Error err + end | Error (`Not_found ("submodules", _)) -> Ok false | Error err -> Error err and+ lfs = ll @@ - match git.@(child "lfs" // arg 0 // bool_value) with - | Ok sms -> Ok sms + match git.@(child "lfs") with + | Ok sms -> + begin + match sms.@(arg 0 // bool_value) with + | Ok smb -> Ok smb + | Error (`Missing_index 0) -> Ok true + | Error err -> Error err + end | Error (`Not_found ("lfs", _)) -> Ok false | Error err -> Error err - and+ reference = - Reference.codec.of_kdl git.children in {repository; mirrors; reference; submodules; lfs} ); -- cgit v1.2.3