0e95bed017
Summary: According to git-submodule manpage, "git submodule status" prefixes the hash with a '-' if it is not initialized, and other chars in other circumstances. (this is consistent on the various git versions tested) nix-prefetch-git runs "git submodule init" which does you'd think, but apparently despite this earlier versions of git before 2.16 would still give the hash the '-' suffix. In particular this is the behavior when using 2.15 and 2.14.1 from the nixos-17.09 and nixos-17.03 channels respectively. The script then used awk to drop the first char of the first field which does the wrong thing when there is no prefix emitted: while there is a space character before the hash, this is not part of the field and so we ended up eating the first character of the hash. To fix this in a way that also works with the previous behavior, this commit instead uses awk to grab the hash field and uses tr to delete any '-' chars should they be present. This seems to work in my testing, and for example can now successfully fetch the source for "nginxModules.brotli" where previously it would generate an error: fatal: '22564a95d9ab58865a096b8d9f7324ea5f2e03e' is not a commit and a branch 'fetchgit' cannot be created from it (we dropped a '2' from the beginning of the hash) |
||
---|---|---|
.. | ||
agda | ||
bintools-wrapper | ||
build-dotnet-package | ||
build-fhs-userenv | ||
buildenv | ||
cc-wrapper | ||
docker | ||
dotnetbuildhelpers | ||
dotnetenv | ||
emacs | ||
expand-response-params | ||
fetchbower | ||
fetchbzr | ||
fetchcvs | ||
fetchdarcs | ||
fetchegg | ||
fetchfossil | ||
fetchgit | ||
fetchgitlocal | ||
fetchgx | ||
fetchhg | ||
fetchipfs | ||
fetchmavenartifact | ||
fetchmtn | ||
fetchnuget | ||
fetchpatch | ||
fetchrepoproject | ||
fetchs3 | ||
fetchsvn | ||
fetchsvnrevision | ||
fetchsvnssh | ||
fetchurl | ||
fetchzip | ||
gcc-wrapper-old | ||
icon-conv-tools | ||
kernel | ||
libredirect | ||
make-desktopitem | ||
make-startupitem | ||
make-symlinks | ||
mkshell | ||
mono-dll-fixer | ||
nuke-references | ||
ocaml | ||
release | ||
remove-references-to | ||
rust | ||
setup-hooks | ||
singularity-tools | ||
src-only | ||
substitute | ||
substitute-files | ||
templaterpm | ||
upstream-updater | ||
vm | ||
vsenv | ||
build-maven.nix | ||
build-pecl.nix | ||
closure-info.nix | ||
dhall-to-nix.nix | ||
plugins.nix | ||
replace-dependency.nix | ||
safe-discard-string-context.nix | ||
setup-systemd-units.nix | ||
source-from-head-fun.nix | ||
trivial-builders.nix |