Robert Hensing
8983ee8b2e
refactor: Un-callback transform Store::queryPathInfoFromClientCache
...
This part of the code was not necessarily callback based.
Removing CPS is always nice; particularly if there's no loss of
functionality, like here.
2024-01-19 17:01:19 +01:00
Yuxuan Shui
75a6e6dd0e
Add --unpack to nix store prefetch-file
2024-01-19 15:53:45 +00:00
Eelco Dolstra
e6e160a075
Merge pull request #9632 from cole-h/nix-daemon-testing
...
Use `nix daemon` in the test suite
2024-01-19 16:21:51 +01:00
Théophane Hufschmitt
10165c7593
Merge pull request #9811 from DavHau/fix-git-auth
...
fetchTree/fetchGit: re-enable shallow fetching
2024-01-19 16:14:41 +01:00
John Ericson
57d6284eb7
Merge pull request #9812 from NixOS/remove-n-shorthand-for---mode
...
Remove a nonsensical shorthand flag in `nix store add`
2024-01-19 08:34:43 -05:00
DavHau
bc00fa4647
fetchTree/fetchGit: re-enable shallow fetching
...
Add several tests for git fetching:
- shallow-cache-separation: can fetch the same repo shallowly and non-shallowly
- shallow-ignore-ref: ensure that ref gets ignored when shallow=true is set
- ssh-shallow: can fetch a git repo via ssh using shallow=1
2024-01-19 20:30:47 +07:00
Robert Hensing
d762caff46
Merge pull request #9806 from hercules-ci/fix-git-auth
...
Fix git auth
2024-01-19 13:47:52 +01:00
Théophane Hufschmitt
28d7db249a
Remove a nonsensical shorthand flag in nix store add
...
`-n` was an alias for `--mode`, but that seems to just be a copy-paste error as it doesn't make sense.
`--mode` probably doesn't need a shorthand flag at all, so remove it.
Noticed in https://github.com/NixOS/nix/pull/9809#issuecomment-1899890555
2024-01-19 10:10:00 +01:00
Eelco Dolstra
3b20cca962
Merge pull request #9804 from edolstra/missing-nar-crash
...
Fix crash when NAR is missing from binary cache
2024-01-19 09:38:53 +01:00
John Ericson
a34ec0bd12
Include store path exact spec in the docs
...
This is niche, but deserves to be in the manual because it is describing
behavior visible to the outside world, not mere implementation details.
2024-01-18 22:19:14 -05:00
Robert Hensing
4e8483d09d
Merge pull request #9792 from fricklerhandwerk/move-section
...
move section on make variables
2024-01-19 00:55:33 +01:00
Robert Hensing
14f470ec4e
doc/hacking.md: Hint short option make -e
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2024-01-19 00:32:30 +01:00
Robert Hensing
346d513d86
tests/nixos/fetch-git: Add http-auth test
2024-01-18 22:34:38 +01:00
Robert Hensing
8d422c2fef
Revert libgit2 fetching
...
libgit2 is not capable of using git-credentials helpers yet.
This prevents private repositories from being used.
Based on code that was replaced in https://github.com/NixOS/nix/pull/9240
(Introduce libgit2); hence:
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2024-01-18 22:29:26 +01:00
Robert Hensing
76a50b3a69
doc: GitRepoImpl::path
2024-01-18 22:29:26 +01:00
Robert Hensing
ed975e953c
tests/nixos/fetch-git: Testsupport for private repos
2024-01-18 22:29:26 +01:00
Robert Hensing
0bd9e10aea
Merge pull request #9676 from DavHau/git-testsuite
...
initialize test suite for git fetchers
2024-01-18 21:51:48 +01:00
Robert Hensing
1254170405
tests/nixos/fetch-git: Make the store paths unique
2024-01-18 21:00:40 +01:00
Robert Hensing
94eba0ebbb
tests/nixos/fetch-git: Memoize -> save
...
Memoization is for thunk-like behavior whereas this is executed eagerly.
2024-01-18 21:00:40 +01:00
Robert Hensing
fd41979d78
tests/nixos/fetch-git: Factor out gitea repo module
2024-01-18 21:00:40 +01:00
Eelco Dolstra
dca0a80240
copyStorePath(): Bail out early if the store path already exists
...
In rare cases (e.g. when using allowSubstitutes = false), it's
possible that we simultaneously have a DerivationGoal *and* a
SubstitutionGoal building the same path. So if a DerivationGoal
already built the path while the SubstitutionGoal was waiting for a
download slot, it saves us a superfluous download to exit early.
2024-01-18 17:19:15 +01:00
Eelco Dolstra
a18d8d688a
LocalStore::addToStore(): Ignore exceptions from parseDump()
...
In the "discard" case (i.e. when the store path already exists
locally), when we call parseDump() from a Finally and it throws an
exception (e.g. if the download of the NAR fails), Nix crashes:
terminate called after throwing an instance of 'nix::SubstituteGone'
what(): error: file 'nar/06br3254rx4gz4cvjzxlv028jrx80zg5i4jr62vjmn416dqihgr7.nar.xz' does not exist in binary cache 'http://localhost '
Aborted (core dumped)
2024-01-18 17:19:15 +01:00
Eelco Dolstra
ab786e22f1
Show what goal is waiting for a build slot
2024-01-18 17:19:15 +01:00
Théophane Hufschmitt
e652322a61
Merge pull request #9799 from obsidiansystems/push-add-to-store-from-dump-unsupported-down
...
Push `addToStoreFromDump` `unsupported(...)` down `Store` class hierarchy
2024-01-18 16:54:44 +01:00
Eelco Dolstra
32706b14a7
Merge pull request #9798 from edolstra/remote-store-eof
...
Print a more helpful message if the daemon crashes
2024-01-18 15:47:59 +01:00
Eelco Dolstra
1fe8f54bd3
Use BackedStringView
2024-01-18 15:27:57 +01:00
Robert Hensing
78074bdea4
tests/nixos/fetch-git: Apply suggestions
2024-01-18 12:53:53 +01:00
Théophane Hufschmitt
28674247ec
Merge pull request #9787 from obsidiansystems/bind-proc-syserror
...
`bind`: give same treatment as `connect` in #8544 , dedup
2024-01-18 09:34:15 +01:00
John Ericson
574db83504
Push addToStoreFromDump
unsupported(...)
down Store
class hierarchy
...
Instead of having it be the default method in `Store` itself, have it be
the implementation in `DummyStore` and `LegacySSHStore`. Then just the
implementations which fail to provide the method pay the "penalty" of
dealing with the icky `unimplemented` function for non-compliance.
Picks up where #8217 . Getting close to no `unsupported` in the `Store`
interface itself!
More progress on issue #5729 .
2024-01-17 23:46:03 -05:00
John Ericson
3016e67c21
bind
: give same treatment as connect
in #8544 , dedup
...
It is good to propagate the underlying error so whether or not we use a
process to deal with path length issues is not observable.
Also, as these wrapper functions got more and more complex, the code
duplication got worse and worse. The new `bindConnectProcHelper`
function deduplicates them.
2024-01-17 23:35:08 -05:00
Eelco Dolstra
a3cf27ca47
Print a more helpful message if the daemon crashes
...
Instead of
error: unexpected end-of-file
you now get
error: Nix daemon disconnected unexpectedly (maybe it crashed?)
2024-01-17 22:54:02 +01:00
John Ericson
b5ed36e663
Merge pull request #9797 from edolstra/fix-error-message
...
Store::buildPaths(): Fix display of store paths
2024-01-17 16:11:21 -05:00
Eelco Dolstra
39ab50f9ee
Store::buildPaths(): Fix display of store paths
...
This was broken in 7ac39ff05c
.
2024-01-17 21:41:37 +01:00
Robert Hensing
1d89c7b02e
Merge pull request #9796 from obsidiansystems/cleanup-dep-patches
...
Move dependency patches from top level into subdir
2024-01-17 20:06:27 +01:00
John Ericson
799f2d0699
Merge pull request #9795 from Ericson2314/flake-fix-indent-eror
...
Fix indentation error in `flake.nix`
2024-01-17 13:47:15 -05:00
John Ericson
1de8eed28a
Move dependency patches from top level into subdir
...
Good to not clutter the top-level directory.
2024-01-17 13:13:54 -05:00
John Ericson
e938912cff
Fix indentation error in flake.nix
2024-01-17 13:08:03 -05:00
Robert Hensing
d0a284284b
refactor: Extract simply, awkwardly Store::queryPathInfoFromClientCache
...
This is useful for determining quickly which substituters to query.
An alternative would be for users to invoke the narinfo cache db directly,
so why do we need this change?
- It is easier to use. I believe Nix itself should also use it.
- This way, the narinfo cache db remains an implementation detail.
- Callers get to use the in-memory cache as well.
2024-01-17 17:54:19 +01:00
Théophane Hufschmitt
2cb9c7c681
Merge pull request #9791 from fricklerhandwerk/typo
...
fix typo
2024-01-17 09:08:22 +01:00
Valentin Gagarin
28eb406834
reword section on make variables
...
- use one line per sentence
- use imperative for instructions
- add link to Make documentation
2024-01-17 04:39:26 +01:00
Valentin Gagarin
f134dbdffb
move section on make variables
...
it should be after the general build instructions, as it goes into more detail.
2024-01-17 04:23:16 +01:00
Valentin Gagarin
55da939424
fix typo
2024-01-17 02:57:11 +01:00
Robert Hensing
2a3c5e6b8b
Merge pull request #9480 from NixOS/libfetchers-git-exportIgnore
...
libfetchers/git: Support export-ignore
2024-01-16 23:03:46 +01:00
Robert Hensing
01271f2996
Merge pull request #9786 from hercules-ci/package
...
DerivationInfo -> PackageInfo
2024-01-16 22:43:14 +01:00
Robert Hensing
51f524c629
Merge pull request #9755 from 9999years/printer-followup
...
Printer followup
2024-01-16 22:35:08 +01:00
John Ericson
799e662cbe
Merge pull request #9279 from tfc/util-improv
...
Util improvements
2024-01-16 15:05:28 -05:00
Jacek Galowicz
8ae3aeec94
Don't use std::make_unique right before release
2024-01-16 17:00:46 +00:00
Jacek Galowicz
9d9f42cc38
Remove C-style casts
2024-01-16 17:00:46 +00:00
Jacek Galowicz
d11d7849f7
Use ChildWrapperFunction type and make casts more explicit
2024-01-16 17:00:46 +00:00
Jacek Galowicz
c924147c9d
Drop parentheses from thunks
2024-01-16 17:00:46 +00:00