populate git: add fetchAlways option

This commit is contained in:
lassulus 2019-08-08 17:12:48 +02:00
parent 14a54637ce
commit 8f44460003
2 changed files with 10 additions and 2 deletions

View File

@ -81,6 +81,10 @@
type = lib.types.listOf lib.types.str;
};
};
fetchAlways = lib.mkOption {
type = lib.types.bool;
default = false;
};
ref = lib.mkOption {
type = lib.types.str; # TODO lib.types.git.ref
};

View File

@ -66,9 +66,13 @@ let
hash=${quote source.ref}
if ! test "$(git log --format=%H -1)" = "$hash"; then
if ! git log -1 "$hash" >/dev/null 2>&1; then
${if source.fetchAlways then /* sh */ ''
git fetch origin
fi
'' else /* sh */ ''
if ! git log -1 "$hash" >/dev/null 2>&1; then
git fetch origin
fi
''}
git reset --hard "$hash" >&2
git submodule update --init --recursive
fi