Skip to content

Commit 3a32039

Browse files
authored
Merge pull request #14672 from NixOS/fix-13948
libfetchers: Fix fetchGit with ref = "HEAD"
2 parents 01dbbc9 + 18f3598 commit 3a32039

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/libfetchers/git.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -836,7 +836,7 @@ struct GitInputScheme : InputScheme
836836
auto fetchRef = getAllRefsAttr(input) ? "refs/*:refs/*"
837837
: input.getRev() ? input.getRev()->gitRev()
838838
: ref.compare(0, 5, "refs/") == 0 ? fmt("%1%:%1%", ref)
839-
: ref == "HEAD" ? ref
839+
: ref == "HEAD" ? "HEAD:HEAD"
840840
: fmt("%1%:%1%", "refs/heads/" + ref);
841841

842842
repo->fetch(repoUrl.to_string(), fetchRef, shallow);

tests/functional/fetchGit.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,10 @@ path8=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$rep
228228
rev4=$(git -C "$repo" rev-parse HEAD)
229229
rev4_nix=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"HEAD\"; }).rev")
230230
[[ $rev4 = "$rev4_nix" ]]
231+
export _NIX_FORCE_HTTP=1
232+
rev4_nix=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"HEAD\"; }).rev")
233+
[[ $rev4 = "$rev4_nix" ]]
234+
unset _NIX_FORCE_HTTP
231235

232236
# The name argument should be handled
233237
path9=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"HEAD\"; name = \"foo\"; }).outPath")

0 commit comments

Comments
 (0)