aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-07-30Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
2020-07-30Fix buildEelco Dolstra
2020-07-30unsigned long long -> uint64_tEelco Dolstra
2020-07-30receiveContents(): unsigned int -> size_tEelco Dolstra
2020-07-29Prevent nix-build from accepting --run/--commandMat Marini
2020-07-29Prevent nix-build from accepting --packagesMat Marini
2020-07-29CleanupEelco Dolstra
2020-07-29Merge pull request #3549 from Ma27/fetchgit-hashEelco Dolstra
Merge legacy `fetchGit`-builtin with the generic `fetchTree`-function
2020-07-29Merge pull request #3877 from matthewbauer/develop-continuous-regexEelco Dolstra
Set regex_constants::match_continuous for quicker search in nix develop
2020-07-29Set regex_constants::match_continuous for quicker searchMatthew Bauer
match_continuous limits the search to the current start position, instead of searching the entire file. On libc++, this improves performance dramatically: $ time /nix/store/70ai68dfm6xbzwn26j5n4li9di52ylia-nix-3.0pre20200728_c159f48/bin/nix print-dev-env >/dev/null /nix/store/70ai68dfm6xbzwn26j5n4li9di52ylia-nix-3.0pre20200728_c159f48/bin/ni 2.39s user 0.19s system 64% cpu 4.032 total $ time /nix/store/cwjfxxlp83zln4mfyy1d2dbsx7f6s962-nix-3.0pre20200728_dirty/bin/nix print-dev-env >/dev/null /nix/store/cwjfxxlp83zln4mfyy1d2dbsx7f6s962-nix-3.0pre20200728_dirty/bin/nix 0.09s user 0.05s system 65% cpu 0.204 total Fixes #3874
2020-07-29Fix RemoteStore::addToStore() latencyEelco Dolstra
Since 6185d25e523a3cd223dd6f6aca10cf6ff15b4823, this was very latency-bound since it required a round-trip for every 32 KiB. So for example copying a 514 MiB closure over a virtual ethernet device with a articial delay of just 1 ms took 343s. Now it takes 2.7s. Fixes #3372.
2020-07-29CleanupEelco Dolstra
2020-07-28Restore backwards-compat for current `builtins.fetchGit`Maximilian Bosch
If a repo is dirty, it used to return a `rev` object with an "empty" sha1 (0000000000000000000000000000000000000000). Please note that this only applies for `builtins.fetchGit` and *not* for `builtins.fetchTree{ type = "git"; }`.
2020-07-28Remove putBytesEelco Dolstra
istream->tellg() returns -1 so we can't get the number of bytes written. Fixes 'uploaded 's3://nix-cache/nar/00819r9lp5kajr6baxfw5dhhc0cx8ndxaz43qmd2f0gn1hk1ynlp.nar.xz' (-1 bytes) in 11620 ms' messages.
2020-07-28Merge legacy `fetchGit`-builtin with the generic `fetchTree`-functionMaximilian Bosch
The original idea was to implement a git-fetcher in Nix's core that supports content hashes[1]. In #3549[2] it has been suggested to actually use `fetchTree` for this since it's a fairly generic wrapper over the new fetcher-API[3] and already supports content-hashes. This patch implements a new git-fetcher based on `fetchTree` by incorporating the following changes: * Removed the original `fetchGit`-implementation and replaced it with an alias on the `fetchTree` implementation. * Ensured that the `git`-fetcher from `libfetchers` always computes a content-hash and returns an "empty" revision on dirty trees (the latter one is needed to retain backwards-compatibility). * The hash-mismatch error in the fetcher-API exits with code 102 as it usually happens whenever a hash-mismatch is detected by Nix. * Removed the `flakes`-feature-flag: I didn't see a reason why this API is so tightly coupled to the flakes-API and at least `fetchGit` should remain usable without any feature-flags. * It's only possible to specify a `narHash` for a `git`-tree if either a `ref` or a `rev` is given[4]. * It's now possible to specify an URL without a protocol. If it's missing, `file://` is automatically added as it was the case in the original `fetchGit`-implementation. [1] https://github.com/NixOS/nix/pull/3216 [2] https://github.com/NixOS/nix/pull/3549#issuecomment-625194383 [3] https://github.com/NixOS/nix/pull/3459 [4] https://github.com/NixOS/nix/pull/3216#issuecomment-553956703
2020-07-27Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-27Merge remote-tracking branch 'upstream/master' into ↵John Ericson
optional-derivation-output-storepath
2020-07-27Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-24createUnixDomainSocket(): Fix off-by-one error in copying the socket pathEelco Dolstra
Reported by Kane York.
2020-07-23Get rid of `basicDerivation::findOutput`John Ericson
It's a tiny function which is: - hardly worth abstrating over, and also only used once. - doesn't work once we get CA drvs I rewrote the one callsite to be forwards compatable with CA derivations, and also potentially more performant: instead of reading in the derivation it can ust consult the SQLite DB in the common case.
2020-07-23Save changes made by "nix registry pin" to user registryFabian Möller
2020-07-22Separate concerns in `scanForReferences` with TeeSinkJohn Ericson
This also will make it easier to use a `HashModuloSink` instead for CA derivations.
2020-07-21Merge pull request #3736 from ↵Eelco Dolstra
obsidiansystems/allow-relative-paths-in-store-option Allow relative paths in --store option
2020-07-21Merge pull request #3714 from obsidiansystems/add-body-to-network-errorsEelco Dolstra
Add response body to network errors
2020-07-21Change logic for deciding what is a relative path for the local storeJohn Ericson
The was Eelco's prefered logic, and it looks good to me!
2020-07-21Update chunkSize to the suggested valueCarlo Nucera
This was a suggested course of action in a review in one of our earlier commits, https://github.com/NixOS/nix/pull/3801#discussion_r457557079
2020-07-21Merge remote-tracking branch 'upstream/master' into add-body-to-network-errorsJohn Ericson
2020-07-21Merge branch 'fix-and-document-addToStoreSlow' of ↵John Ericson
github.com:obsidiansystems/nix into from-dump-stream
2020-07-20Correct bug, thoroughly document addToStoreSlowCarlo Nucera
2020-07-20Use heuristics to decide when to show the responseCarlo Nucera
Due to https://github.com/NixOS/nix/issues/3841 we don't know how print different messages for different verbosity levels.
2020-07-20Merge remote-tracking branch 'upstream/master' into from-dump-streamJohn Ericson
2020-07-20Merge pull request #3822 from obsidiansystems/dump-thrice-fixmeEelco Dolstra
Optimize `addToStoreSlow` and remove `TeeParseSink`
2020-07-20Apply suggestions from code reviewJohn Ericson
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2020-07-17Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
allow-relative-paths-in-store-option
2020-07-17nix edit: call restoreSignals() before `execvp`-ing the $EDITORLars Mühmel
Currently resizing of the terminal doesn't play nicely with nix edit when using kakoune as the editor, as it relies on the SIGWINCH signal which is trapped by nix. How this is not a problem with e.g. vim is beyond me. Virtually all other exec* calls are following a call to restoreSignals(). This commit adds this behavior to nix edit as well.
2020-07-17parseFlakeRef(): Only search for the top-level directory for CLI flakerefsEelco Dolstra
2020-07-17nix profile diff-closures: Don't inherit EvalCommandEelco Dolstra
2020-07-16Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
optional-derivation-output-storepath
2020-07-16Merge branch 'master' of github.com:NixOS/nix into add-body-to-network-errorsCarlo Nucera
2020-07-16Add command 'nix profile diff-closure'Eelco Dolstra
This shows all changes between generations of a profile. E.g. $ nix profile diff-closures --profile /nix/var/nix/profiles/system Generation 654 -> 655: nix: 2.4pre20200617_5d69bbf → 2.4pre20200701_6ff9aa8, +42.2 KiB Generation 655 -> 656: blender-bin: 2.83.0 → 2.83.1, -294.2 KiB Generation 656 -> 657: curl: 7.68.0 → 7.70.0, +19.1 KiB firmware-linux-nonfree: 2020-01-22 → 2020-05-19, +30827.7 KiB ibus: -21.8 KiB initrd-linux: 5.4.46 → 5.4.49 ...
2020-07-16Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-16Fix bug in TeeSourceJohn Ericson
We use this to simplify `LocalStore::addToStoreFromDump`. Also, hope I fixed build error with old clang (used in Darwin CI).
2020-07-16Generations API cleanupEelco Dolstra
2020-07-16nix diff-closures: Fix buildEelco Dolstra
2020-07-16Merge branch 'diff-closures'Eelco Dolstra
2020-07-16Merge remote-tracking branch 'origin/flakes'Eelco Dolstra
2020-07-16Optimize `addToStoreSlow` and remove `TeeParseSink`John Ericson
2020-07-15Revert "LocalStore::addToStoreFromDump copy in chunks"John Ericson
This reverts commit 592851fb67cd15807109d6f65fb81f6af89af966. We don't need this extra feature anymore
2020-07-15Get rid of `LocalStore::addToStoreCommon`John Ericson
I got it to just become `LocalStore::addToStoreFromDump`, cleanly taking a store and then doing nothing too fancy with it. `LocalStore::addToStore(...Path...)` is now just a simple wrapper with a bare-bones sinkToSource of the right dump command.
2020-07-15Merge branch 'handle-flat-case' into from-dump-streamJohn Ericson