From 799f0f1f239b00177b72322e261ab350647dbd60 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Tue, 24 Nov 2015 20:42:31 +0100 Subject: [PATCH] buildRustPackage: fix failure due to branch names with slashes Fixes #11237 --- pkgs/build-support/rust/fetch-cargo-deps | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/rust/fetch-cargo-deps b/pkgs/build-support/rust/fetch-cargo-deps index b119be273ba..5074e26848e 100755 --- a/pkgs/build-support/rust/fetch-cargo-deps +++ b/pkgs/build-support/rust/fetch-cargo-deps @@ -115,14 +115,18 @@ rm -rf $out/registry/index/* # Make git DBs deterministic # TODO: test with git submodules [[ ! -d $out/git/checkouts ]] || (cd $out/git/checkouts && for name in *; do - cd "$out/git/checkouts/$name" revs="" - for branch in *; do - cd "$branch" + cd "$out/git/checkouts/$name" + while read dir; do + # extract substring: [dir = "./xxx/yyy/.git"] => [branch = "xxx/yyy"] + branch="${dir:2:$((${#dir}-7))}" + + cd "$out/git/checkouts/$name/$branch" rev="$(git rev-parse HEAD)" revs="$revs $rev" - cd .. - done + done < <(find . -type d -name .git -print) + + echo "List of revs to keep for git db $name: $revs" ( # The following code was adapted from nix-prefetch-git