From 0d5745b3407d0fdb6c3bec31927bef0a0db8c44a Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Wed, 5 Oct 2022 14:15:42 +0200 Subject: [PATCH] Add a boot argument to ignore the local git state --- mirage/config.ml | 9 ++++++++- mirage/unikernel.ml | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mirage/config.ml b/mirage/config.ml index 52a4d4a..1a4d51c 100644 --- a/mirage/config.ml +++ b/mirage/config.ml @@ -60,11 +60,18 @@ let sectors_git = let doc = Key.Arg.info ~doc ["sectors-git"] in Key.(create "sectors-git" Arg.(opt int64 Int64.(mul 40L (mul 2L 1024L)) doc)) +let ignore_local_git = + let doc = "Ignore restoring locally saved git repository." in + let doc = Key.Arg.info ~doc ["ignore-local-git"] in + Key.(create "ignore-local-git" Arg.(flag doc)) + let mirror = foreign "Unikernel.Make" ~keys:[ Key.v check ; Key.v verify ; Key.v remote ; Key.v parallel_downloads ; Key.v hook_url ; Key.v tls_authenticator ; - Key.v port ; Key.v sectors_cache ; Key.v sectors_git ; ] + Key.v port ; Key.v sectors_cache ; Key.v sectors_git ; + Key.v ignore_local_git ; + ] ~packages:[ package ~min:"0.3.0" ~sublibs:[ "mirage" ] "paf" ; package "h2" ; diff --git a/mirage/unikernel.ml b/mirage/unikernel.ml index 30a9135..f9cc4f8 100644 --- a/mirage/unikernel.ml +++ b/mirage/unikernel.ml @@ -796,7 +796,10 @@ stamp: %S Lwt.return_unit else begin - restore_git git_dump git_ctx >>= function + (if Key_gen.ignore_local_git () then + Lwt.return (Error ()) + else + restore_git git_dump git_ctx) >>= function | Ok git_kv -> Lwt.return git_kv | Error () -> Git_kv.connect git_ctx (Key_gen.remote ()) >>= fun git_kv ->