1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 22:33:57 +02:00

Make Git error messages more consistent

This commit is contained in:
Eelco Dolstra 2025-04-01 22:56:14 +02:00
parent 2526293171
commit fb7bcdd554
2 changed files with 9 additions and 9 deletions

View file

@ -538,7 +538,7 @@ struct GitInputScheme : InputScheme
return [repoPath{std::move(repoPath)}](const CanonPath & path) -> RestrictedPathError { return [repoPath{std::move(repoPath)}](const CanonPath & path) -> RestrictedPathError {
if (nix::pathExists(repoPath / path.rel())) if (nix::pathExists(repoPath / path.rel()))
return RestrictedPathError( return RestrictedPathError(
"File '%1%' in the repository %2% is not tracked by Git.\n" "Path '%1%' in the repository %2% is not tracked by Git.\n"
"\n" "\n"
"To make it visible to Nix, run:\n" "To make it visible to Nix, run:\n"
"\n" "\n"
@ -546,7 +546,7 @@ struct GitInputScheme : InputScheme
path.rel(), path.rel(),
repoPath); repoPath);
else else
return RestrictedPathError("path '%s' does not exist in Git repository %s", path, repoPath); return RestrictedPathError("Path '%s' does not exist in Git repository %s.", path.rel(), repoPath);
}; };
} }

View file

@ -20,7 +20,7 @@ cat > "$repo/flake.nix" <<EOF
} }
EOF EOF
expectStderr 1 nix eval "$repo#x" | grepQuiet "error: File 'flake.nix' in the repository \"$repo\" is not tracked by Git." expectStderr 1 nix eval "$repo#x" | grepQuiet "error: Path 'flake.nix' in the repository \"$repo\" is not tracked by Git."
git -C "$repo" add flake.nix git -C "$repo" add flake.nix
@ -32,25 +32,25 @@ git -C "$repo" commit -a -m foo
expectStderr 1 nix eval "git+file://$repo?ref=master#y" | grepQuiet "at «git+file://$repo?ref=master&rev=.*»/flake.nix:" expectStderr 1 nix eval "git+file://$repo?ref=master#y" | grepQuiet "at «git+file://$repo?ref=master&rev=.*»/flake.nix:"
expectStderr 1 nix eval "$repo#z" | grepQuiet "error: path '/foo' does not exist in Git repository \"$repo\"" expectStderr 1 nix eval "$repo#z" | grepQuiet "error: Path 'foo' does not exist in Git repository \"$repo\"."
expectStderr 1 nix eval "git+file://$repo?ref=master#z" | grepQuiet "error: '«git+file://$repo?ref=master&rev=.*»/foo' does not exist" expectStderr 1 nix eval "git+file://$repo?ref=master#z" | grepQuiet "error: '«git+file://$repo?ref=master&rev=.*»/foo' does not exist"
expectStderr 1 nix eval "$repo#a" | grepQuiet "error: path '/foo' does not exist in Git repository \"$repo\"" expectStderr 1 nix eval "$repo#a" | grepQuiet "error: Path 'foo' does not exist in Git repository \"$repo\"."
echo 123 > "$repo/foo" echo 123 > "$repo/foo"
expectStderr 1 nix eval "$repo#z" | grepQuiet "error: File 'foo' in the repository \"$repo\" is not tracked by Git." expectStderr 1 nix eval "$repo#z" | grepQuiet "error: Path 'foo' in the repository \"$repo\" is not tracked by Git."
expectStderr 1 nix eval "$repo#a" | grepQuiet "error: File 'foo' in the repository \"$repo\" is not tracked by Git." expectStderr 1 nix eval "$repo#a" | grepQuiet "error: Path 'foo' in the repository \"$repo\" is not tracked by Git."
git -C "$repo" add "$repo/foo" git -C "$repo" add "$repo/foo"
[[ $(nix eval --raw "$repo#z") = 123 ]] [[ $(nix eval --raw "$repo#z") = 123 ]]
expectStderr 1 nix eval "$repo#b" | grepQuiet "error: path '/dir' does not exist in Git repository \"$repo\"" expectStderr 1 nix eval "$repo#b" | grepQuiet "error: Path 'dir' does not exist in Git repository \"$repo\"."
mkdir -p "$repo/dir" mkdir -p "$repo/dir"
echo 456 > "$repo/dir/default.nix" echo 456 > "$repo/dir/default.nix"
expectStderr 1 nix eval "$repo#b" | grepQuiet "error: File 'dir' in the repository \"$repo\" is not tracked by Git." expectStderr 1 nix eval "$repo#b" | grepQuiet "error: Path 'dir' in the repository \"$repo\" is not tracked by Git."
git -C "$repo" add "$repo/dir/default.nix" git -C "$repo" add "$repo/dir/default.nix"