Skip to content

Commit

Permalink
fetchgit: shallow clone for submodules
Browse files Browse the repository at this point in the history
  • Loading branch information
pineapplehunter committed Nov 8, 2023
1 parent 4e4bbb0 commit da575f2
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 6 deletions.
2 changes: 2 additions & 0 deletions pkgs/build-support/fetchgit/nix-prefetch-git
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,8 @@ checkout_ref(){

# Update submodules
init_submodules(){
[[ -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
}

Expand Down
54 changes: 48 additions & 6 deletions pkgs/build-support/fetchgit/tests.nix
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
{ testers, fetchgit, ... }:

{
{ testers, fetchgit, ... }: {
simple = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
name = "simple-nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};

sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
name = "sparse-checkout-nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = [
Expand All @@ -20,7 +18,7 @@
};

sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
name = "sparse-checkout-non-cone-nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = [
Expand All @@ -30,4 +28,48 @@
nonConeMode = true;
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;
};
}

0 comments on commit da575f2

Please sign in to comment.