Age | Commit message (Collapse) | Author |
|
|
|
diff-index operates on the view that git has of the working tree,
which might be outdated. The higher-level diff command does this
automatically. This change also adds handling for submodules.
fixes #4140
Alternative fixes would be invoking update-index before diff-index or
matching more closely what require_clean_work_tree from git-sh-setup.sh
does, but both those options make it more difficult to reason about
correctness.
|
|
The .git/refs/heads directory might be empty for a valid
usable git repository. This often happens in CI environments,
which might only fetch commits, not branches.
Therefore instead we let git itself check if HEAD points to
something that looks like a commit.
fixes #5302
|
|
add descriptive output when creating templates
|
|
|
|
|
|
|
|
this includes a `welcomeText` attribute which can be set in the
template, as well as outputing which files were created.
|
|
This removes some duplicated logic, and fixes "nix bundle" parsing its
installable twice.
|
|
|
|
parseInstallables(): Don't try the flake attr path prefixes when no fragment is specified
|
|
warn if there are no matches and give notice of removing packages as
they are found
|
|
is specified
Fixes #5880.
|
|
repl/load-flake: throw error if path isn't specified
|
|
I noticed that occasional Ctrl-C leaves *.lock files around.
`nix-daemon`'s journal logs contained crashes like:
nix-daemon[30416]: terminate called after throwing an instance of 'nix::SysError'
nix-daemon[30416]: what(): error: writing to file: Broken pipe
And core dump backtraces pointed at `teriminate()` call from
destructors:
...
_Unwind_Resume ()
nix::ignoreException() ()
nix::LocalDerivationGoal::~LocalDerivationGoal()
...
void ignoreException()
{
try {
throw;
} catch (std::exception & e) {
printError("error (ignored): %1%", e.what());
}
}
The crashes happen when client side closes early and printError() throws
an IO error.
The change wraps `ignoreException()` into blanket `try { ... } catch (...) {}`.
Closes: https://github.com/NixOS/nix/issues/6046
|
|
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
|
|
Fixes #5985.
|
|
|
|
Allow missing flake.nix for --override-input target
|
|
nix-shell: set BASH variable to correct shell
|
|
fix nix repl not overriding existing bindings in :a
|
|
|
|
previously :a would override old bindings of a name with new values if the added
set contained names that were already bound. in nix 2.6 this doesn't happen any
more, which is potentially confusing.
fixes #6041
|
|
At this point, we don’t know if the input is a flake or not. So, we
should allow the user to override the input with a directory without a
flake.nix.
Ideally, we could figure whether the input was originally a flake or
not, but that would require instantiating the whole flake. So just
allow it to be missing here, and rely on checks later on to verify the
input for us.
|
|
|
|
|
|
|
|
Flake follows: resolve all follows to absolute
|
|
It's not possible in general to know in computeLocks, relative to
which path the follows was intended to be. So, we always resolve
follows to their absolute states when we encounter them (which can
either be in parseFlakeInput or computeLocks' fake input population).
Fixes https://github.com/NixOS/nix/issues/6013
Fixes https://github.com/NixOS/nix/issues/5609
Fixes https://github.com/NixOS/nix/issues/5697 (again)
|
|
|
|
|
|
use LOWDOWN_LIBS variable
|
|
flakes: document nixConfig option
|
|
fixes: #5931
|
|
canonPath: fix missing slash when resolving links
|
|
|
|
Fixes #6017
|
|
|
|
|
|
Bundlers are now responsible for correctly handling their inputs which
are no longer constrained to be (Drv->Drv)->Drv->Drv, but can be of
type (attrset->Drv)->attrset->Drv.
|
|
|
|
we'll retain the old coerceToString interface that returns a string, but callers
that don't need the returned value to outlive the Value it came from can save
copies by using the new interface instead. for values that weren't stringy we'll
pass a new buffer argument that'll be used for storage and shouldn't be
inspected.
|
|
once a string has been forced we already have dynamic storage allocated for it,
so we can easily reuse that storage instead of copying.
|
|
|
|
It’s totally valid to have entries in `NIX_PATH` that aren’t valid paths
(they can even be arbitrary urls or `channel:<channel-name>`).
Fix #5998 and #5980
|
|
|
|
nix store ping: Report Nix daemon version
|
|
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
|
|
Fixes #5952.
|
|
Fixes #5988.
|