mirror of
https://github.com/NixOS/nix
synced 2025-07-07 01:51:47 +02:00
Merge remote-tracking branch 'origin/master' into lazy-trees
This commit is contained in:
commit
e424a8b196
3 changed files with 14 additions and 2 deletions
|
@ -16,11 +16,11 @@ HookInstance::HookInstance()
|
||||||
buildHookArgs.pop_front();
|
buildHookArgs.pop_front();
|
||||||
|
|
||||||
Strings args;
|
Strings args;
|
||||||
|
args.push_back(std::string(baseNameOf(buildHook)));
|
||||||
|
|
||||||
for (auto & arg : buildHookArgs)
|
for (auto & arg : buildHookArgs)
|
||||||
args.push_back(arg);
|
args.push_back(arg);
|
||||||
|
|
||||||
args.push_back(std::string(baseNameOf(settings.buildHook.get())));
|
|
||||||
args.push_back(std::to_string(verbosity));
|
args.push_back(std::to_string(verbosity));
|
||||||
|
|
||||||
/* Create a pipe to get the output of the child. */
|
/* Create a pipe to get the output of the child. */
|
||||||
|
|
|
@ -267,7 +267,7 @@ void mainWrapped(int argc, char * * argv)
|
||||||
programPath = argv[0];
|
programPath = argv[0];
|
||||||
auto programName = std::string(baseNameOf(programPath));
|
auto programName = std::string(baseNameOf(programPath));
|
||||||
|
|
||||||
if (argc > 0 && std::string_view(argv[0]) == "__build-remote") {
|
if (argc > 1 && std::string_view(argv[1]) == "__build-remote") {
|
||||||
programName = "build-remote";
|
programName = "build-remote";
|
||||||
argv++; argc--;
|
argv++; argc--;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,12 +24,14 @@ touch $repo/.gitignore
|
||||||
git -C $repo add hello .gitignore
|
git -C $repo add hello .gitignore
|
||||||
git -C $repo commit -m 'Bla1'
|
git -C $repo commit -m 'Bla1'
|
||||||
rev1=$(git -C $repo rev-parse HEAD)
|
rev1=$(git -C $repo rev-parse HEAD)
|
||||||
|
git -C $repo tag -a tag1 -m tag1
|
||||||
|
|
||||||
echo world > $repo/hello
|
echo world > $repo/hello
|
||||||
git -C $repo commit -m 'Bla2' -a
|
git -C $repo commit -m 'Bla2' -a
|
||||||
git -C $repo worktree add $TEST_ROOT/worktree
|
git -C $repo worktree add $TEST_ROOT/worktree
|
||||||
echo hello >> $TEST_ROOT/worktree/hello
|
echo hello >> $TEST_ROOT/worktree/hello
|
||||||
rev2=$(git -C $repo rev-parse HEAD)
|
rev2=$(git -C $repo rev-parse HEAD)
|
||||||
|
git -C $repo tag -a tag2 -m tag2
|
||||||
|
|
||||||
# Fetch a worktree
|
# Fetch a worktree
|
||||||
unset _NIX_FORCE_HTTP
|
unset _NIX_FORCE_HTTP
|
||||||
|
@ -218,6 +220,16 @@ rev4_nix=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$
|
||||||
path9=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"HEAD\"; name = \"foo\"; }).outPath")
|
path9=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"HEAD\"; name = \"foo\"; }).outPath")
|
||||||
[[ $path9 =~ -foo$ ]]
|
[[ $path9 =~ -foo$ ]]
|
||||||
|
|
||||||
|
# Specifying a ref without a rev shouldn't pick a cached rev for a different ref
|
||||||
|
export _NIX_FORCE_HTTP=1
|
||||||
|
rev_tag1_nix=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"refs/tags/tag1\"; }).rev")
|
||||||
|
rev_tag1=$(git -C $repo rev-parse refs/tags/tag1)
|
||||||
|
[[ $rev_tag1_nix = $rev_tag1 ]]
|
||||||
|
rev_tag2_nix=$(nix eval --impure --raw --expr "(builtins.fetchGit { url = \"file://$repo\"; ref = \"refs/tags/tag2\"; }).rev")
|
||||||
|
rev_tag2=$(git -C $repo rev-parse refs/tags/tag2)
|
||||||
|
[[ $rev_tag2_nix = $rev_tag2 ]]
|
||||||
|
unset _NIX_FORCE_HTTP
|
||||||
|
|
||||||
# should fail if there is no repo
|
# should fail if there is no repo
|
||||||
rm -rf $repo/.git
|
rm -rf $repo/.git
|
||||||
(! nix eval --impure --raw --expr "(builtins.fetchGit \"file://$repo\").outPath")
|
(! nix eval --impure --raw --expr "(builtins.fetchGit \"file://$repo\").outPath")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue