Don't pass rev/shortRev for dirty trees
This commit is contained in:
parent
19576c2aea
commit
8812d6d109
12
default.nix
12
default.nix
|
@ -30,12 +30,14 @@ let
|
||||||
// (if info ? rev then { inherit (info) rev; } else {})
|
// (if info ? rev then { inherit (info) rev; } else {})
|
||||||
// (if info ? ref then { inherit (info) ref; } else {})
|
// (if info ? ref then { inherit (info) ref; } else {})
|
||||||
);
|
);
|
||||||
rev = info.rev;
|
|
||||||
shortRev = builtins.substring 0 7 info.rev;
|
|
||||||
lastModified = info.lastModified;
|
lastModified = info.lastModified;
|
||||||
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
lastModifiedDate = formatSecondsSinceEpoch info.lastModified;
|
||||||
narHash = info.narHash;
|
narHash = info.narHash;
|
||||||
}
|
} // (if info ? rev then {
|
||||||
|
rev = info.rev;
|
||||||
|
shortRev = builtins.substring 0 7 info.rev;
|
||||||
|
} else {
|
||||||
|
})
|
||||||
else if info.type == "path" then
|
else if info.type == "path" then
|
||||||
{ outPath = builtins.path { path = info.path; };
|
{ outPath = builtins.path { path = info.path; };
|
||||||
narHash = info.narHash;
|
narHash = info.narHash;
|
||||||
|
@ -78,7 +80,9 @@ let
|
||||||
# tree is a valid git repository.
|
# tree is a valid git repository.
|
||||||
tryFetchGit = src:
|
tryFetchGit = src:
|
||||||
if isGit && !isShallow
|
if isGit && !isShallow
|
||||||
then builtins.fetchGit src
|
then
|
||||||
|
let res = builtins.fetchGit src;
|
||||||
|
in if res.rev == "0000000000000000000000000000000000000000" then removeAttrs res ["rev" "shortRev"] else res
|
||||||
else { outPath = src; };
|
else { outPath = src; };
|
||||||
# NB git worktrees have a file for .git, so we don't check the type of .git
|
# NB git worktrees have a file for .git, so we don't check the type of .git
|
||||||
isGit = builtins.pathExists (src + "/.git");
|
isGit = builtins.pathExists (src + "/.git");
|
||||||
|
|
Loading…
Reference in a new issue