fetchgit: shallow clone for submodules (#254172)

This commit is contained in:
Shogo Takata 2023-11-09 11:32:13 +09:00 committed by GitHub
parent 6c35e00bfa
commit d6e1c7cae6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 6 deletions

View file

@ -207,6 +207,9 @@ checkout_ref(){
# Update submodules # Update submodules
init_submodules(){ init_submodules(){
# shallow with leaveDotGit will change hashes
[[ -z "$deepClone" ]] && [[ -z "$leaveDotGit" ]] && \
clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress --depth 1 || \
clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress
} }

View file

@ -1,15 +1,13 @@
{ testers, fetchgit, ... }: { testers, fetchgit, ... }: {
{
simple = testers.invalidateFetcherByDrvHash fetchgit { simple = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source"; name = "simple-nix-source";
url = "https://github.com/NixOS/nix"; url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
}; };
sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit { sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source"; name = "sparse-checkout-nix-source";
url = "https://github.com/NixOS/nix"; url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = [ sparseCheckout = [
@ -20,7 +18,7 @@
}; };
sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchgit { sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source"; name = "sparse-checkout-non-cone-nix-source";
url = "https://github.com/NixOS/nix"; url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = [ sparseCheckout = [
@ -30,4 +28,48 @@
nonConeMode = true; nonConeMode = true;
sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4="; sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
}; };
leave-git = testers.invalidateFetcherByDrvHash fetchgit {
name = "leave-git-nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-zZxDxqaeWvuWuzwPizBLR7d59zP24+zqnWllNICenko=";
leaveDotGit = true;
};
submodule-simple = testers.invalidateFetcherByDrvHash fetchgit {
name = "submodule-simple-source";
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
sha256 = "sha256-rmP8PQT0wJBopdtr/hsB7Y/L1G+ZPdHC2r9LB05Qrj4=";
fetchSubmodules = true;
};
submodule-leave-git = testers.invalidateFetcherByDrvHash fetchgit {
name = "submodule-leave-git-source";
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
sha256 = "sha256-+uXIClcRJ4S1rdgx2Oyww+Jv4h1VXp8tfeh9lb07Fhk=";
leaveDotGit = true;
fetchSubmodules = true;
};
submodule-deep = testers.invalidateFetcherByDrvHash fetchgit {
name = "submodule-deep-source";
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw=";
deepClone = true;
fetchSubmodules = true;
};
submodule-leave-git-deep = testers.invalidateFetcherByDrvHash fetchgit {
name = "submodule-leave-git-deep-source";
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw=";
deepClone = true;
leaveDotGit = true;
fetchSubmodules = true;
};
} }