aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-06-04Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-06-04Make 'nix dev-shell' a deprecated alias for 'nix develop'Eelco Dolstra
2020-06-04Rename 'nix dev-shell' to 'nix develop'Eelco Dolstra
Fixes #3648.
2020-06-03Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-06-03Missing `#include <cassert>` in `lru-cache.hh` (#3654)John Ericson
This was a latent bug that just appeared because of the tests that were added. Remember to wait for CI! :)
2020-06-02Merge pull request #3639 from obsidiansystems/do-fixme-store-removesEelco Dolstra
Remove `addToStore` variant as requested by `FIXME`
2020-06-02Merge branch 'lru-tests' of https://github.com/gilligan/nixEelco Dolstra
2020-06-02src/libutil/tests/lru-cache.cc: Check erase()Eelco Dolstra
Co-authored-by: James Lee <jbit@jbit.net>
2020-06-01use Tree ctorMatthew Kenigsberg
2020-06-01Tree ctorsMatthew Kenigsberg
2020-06-01fetchOrSubstituteTree improvementsMatthew Kenigsberg
Caches tree in addition to lockedRef, and explicitly writes out the logic for different combinations of cached/uncached flakes and indirect/resolved/locked flakes. This eliminates uneccessary calls to lookupInFlakeCache, fetchTree, maybeLookupFlake, and flakeCache.push_back
2020-05-31Add tests for lru-cache.hhTobias Pflug
2020-05-30Ensure we restrict refspec interpretation while fetchingNikola Knezevic
As `git fetch` may chose to interpret refspec to it's liking, ensure that we only pass refs that begin with `refs/` as is, otherwise, prepend them with `refs/heads`. Otherwise, branches named `heads/foo` (I know it's bad, but it's allowed), would be fetched as `foo`, instead of `heads/foo`.
2020-05-30Improve ref validity checking in fetchGitNikola Knezevic
The previous regex was too strict and did not match what git was allowing. It could lead to `fetchGit` not accepting valid branch names, even though they exist in a repository (for example, branch names containing `/`, which are pretty standard, like `release/1.0` branches). The new regex defines what a branch name should **NOT** contain. It takes the definitions from `refs.c` in https://github.com/git/git and `git help check-ref-format` pages. This change also introduces a test for ref name validity checking, which compares the result from Nix with the result of `git check-ref-format --branch`.
2020-05-30Move substitution into Input::fetch()Eelco Dolstra
Closes #3520.
2020-05-30Check revCount / lastModified input attributes if specifiedEelco Dolstra
2020-05-30Remove TreeInfoEelco Dolstra
The attributes previously stored in TreeInfo (narHash, revCount, lastModified) are now stored in Input. This makes it less arbitrary what attributes are stored where. As a result, the lock file format has changed. An entry like "info": { "lastModified": 1585405475, "narHash": "sha256-bESW0n4KgPmZ0luxvwJ+UyATrC6iIltVCsGdLiphVeE=" }, "locked": { "owner": "NixOS", "repo": "nixpkgs", "rev": "b88ff468e9850410070d4e0ccd68c7011f15b2be", "type": "github" }, is now stored as "locked": { "owner": "NixOS", "repo": "nixpkgs", "rev": "b88ff468e9850410070d4e0ccd68c7011f15b2be", "type": "github", "lastModified": 1585405475, "narHash": "sha256-bESW0n4KgPmZ0luxvwJ+UyATrC6iIltVCsGdLiphVeE=" }, The 'Input' class is now a dumb set of attributes. All the fetcher implementations subclass InputScheme, not Input. This simplifies the API. Also, fix substitution of flake inputs. This was broken since lazy flake fetching started using fetchTree internally.
2020-05-29Remove addToStore variant as requested by `FIXME`John Ericson
The idea is it's always more flexible to consumer a `Source` than a plain string, and it might even reduce memory consumption. I also looked at `addToStoreFromDump` with its `// FIXME: remove?`, but the worked needed for that is far more up for interpretation, so I punted for now.
2020-05-29Factor out GitHub / GitLab commonalityEelco Dolstra
2020-05-28add gitlab libfetcherFinn Behrens
2020-05-28Merge pull request #3631 from andir/libutil-config-testsEelco Dolstra
Add unit tests for config.cc
2020-05-28Merge pull request #3455 from Ericson2314/enum-FileIngestionMethodEelco Dolstra
Replace some `bool recursive` with a new `FileIngestionMethod` enum
2020-05-28Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-05-28Merge branch 'store-visited' of https://github.com/mkenigs/nix into flakesEelco Dolstra
2020-05-28nixpkgsFlakeRef(): Use locked nixpkgsEelco Dolstra
2020-05-27Use `FileIngestionMethod` for `nix hash`John Ericson
There was an enum there that matched in perfectly.
2020-05-27Rename some variables named “recursive” to “method”Matthew Bauer
This is much less confusing since recursive is no longer a boolean.
2020-05-27Don’t use FileIngestionMethod for StorePathsCommandMatthew Bauer
This is a different recursive than used in makeFixedOutputPath.
2020-05-27config.hh: Add documentationAndreas Rammhold
Provides some general overview on the mechanics of Config/Setting and comments for the public methods of Config.
2020-05-27tests/config.cc: add tests for Config::applyConfigAndreas Rammhold
2020-05-27config.cc: extract parts of applyConfigFile into applyConfigAndreas Rammhold
This moves the actual parsing of configuration contents into applyConfig which applyConfigFile is then going to call. By changing this we can now test the configuration file parsing without actually create a file on disk.
2020-05-27Add unit tests for config.ccAndreas Rammhold
2020-05-27Merge pull request #3621 from gilligan/add-json-testsEelco Dolstra
Add unit tests for "json.hh"
2020-05-27Merge pull request #3625 from gilligan/xml-writer-testsEelco Dolstra
Add unit tests for xml-writer
2020-05-26Change remaining bools with FileIngestionMethodCarlo Nucera
2020-05-26Merge remote-tracking branch 'origin/master' into enum-FileIngestionMethodCarlo Nucera
2020-05-25Add unit tests for xml-writerTobias Pflug
2020-05-25Add unit tests for "json.hh"Tobias Pflug
2020-05-25Add unit tests for hashing functionsTobias Pflug
2020-05-21handle circular flake dependencies in list-inputsMatthew Kenigsberg
2020-05-20Add unit testes for url.ccTobias Pflug
This adds tests for - parseURL - percentDecode - decodeQuery
2020-05-18CleanupEelco Dolstra
2020-05-18Merge branch 'wait-for-builders' of https://github.com/serokell/nixEelco Dolstra
2020-05-16rm includesMatthew Kenigsberg
2020-05-16Create bashInteractive InstallableFlakeMatthew Kenigsberg
2020-05-16Call lockFlake once and store in _lockedFlakeMatthew Kenigsberg
2020-05-16use flake's nixpkgs to find bashInteractiveMatthew Kenigsberg
2020-05-16use nixpkgs#bashInteractive for dev-shellMatthew Kenigsberg
2020-05-15Move registry-related commands from 'nix flake' to 'nix registry'Eelco Dolstra
This makes 'nix flake' less cluttered and more consistent (it's only subcommands that operator on a flake). Also, the registry is not inherently flake-related (e.g. fetchTree could also use it to remap inputs).
2020-05-14Don't lock a user while doing remote buildsAlexander Bantyev