about summary refs log tree commit diff
path: root/lib/fileset
AgeCommit message (Collapse)AuthorFilesLines
2023-12-19Remove --simulate-pure-evalSilvan Mosberger1-36/+18
(cherry picked from commit 38cf6ff099856e19f83649fcdbc98b5bde58eaca)
2023-12-19lib.fileset.gitTracked: Support out-of-tree buildsSilvan Mosberger3-6/+86
(cherry picked from commit 4a70c1e4da8bd66fe27885d1fba54ffee775e3da)
2023-12-19lib.fileset.fetchGit: RefactoringSilvan Mosberger1-18/+24
(cherry picked from commit 74f2e495436983b9b3d8c9a94a638bb411cfb245)
2023-12-13lib.fileset.gitTracked: Improve error when passing filesSilvan Mosberger2-0/+8
(cherry picked from commit 6e3be6ddb0c9789d8b891318c526a9401dab481e)
2023-12-13lib.fileset: Refactor gitTracked and gitTrackedWithSilvan Mosberger2-41/+48
Introduce an internal function for them to share more behavior. This makes future changes easier. (cherry picked from commit eec765f9e6a862c82990df8d3ceedf51f4600330)
2023-11-23lib.fileset.fileFilter: Predicate attribute for file extensionSilvan Mosberger3-3/+46
(cherry picked from commit 6816f28c960c523e6a30f2ad4a1cc812251f5ffb)
2023-11-22lib.fileset: Document decision for strict existence checksSilvan Mosberger1-0/+13
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com> (cherry picked from commit 827232d6dd2b7787749afdfef614fbea8d88ebe9)
2023-11-22lib.fileset.maybeMissing: initSilvan Mosberger4-7/+69
(cherry picked from commit 1cc2c2f13d7a548759a55f710fd0222da14c5403)
2023-11-19lib.fileset: Re-order to match reference overviewSilvan Mosberger1-200/+200
2023-11-19lib.fileset: Add overview section to reference docsSilvan Mosberger1-2/+44
2023-11-19Merge pull request #268520 from tweag/fileset-minor-changesSilvan Mosberger3-6/+11
`lib.fileset`: Minor changes
2023-11-19lib.fileset: Minor changesSilvan Mosberger3-6/+11
- Make fromSource's missing file error message more consistent with others, and add a test for it - Indent some function arguments - Fix an internal type
2023-11-19lib.fileset: Move introduction section above the functionsSilvan Mosberger1-0/+49
Previously the introductory section and the function listings were in different places. But now nixdoc supports having them together with https://github.com/nix-community/nixdoc/pull/70!
2023-11-16lib.fileset.gitTracked: Better error in pure evalSilvan Mosberger2-18/+49
2023-11-16lib.fileset.gitTrackedWith: Introduce recurseSubmodules parameterSilvan Mosberger3-6/+53
2023-11-16lib.fileset.gitTracked/gitTrackedWith: initSilvan Mosberger3-1/+253
A configuration parameter for gitTrackedWith will be introduced in the next commit
2023-11-15lib.fileset.fileFilter: Restrict second argument to pathsSilvan Mosberger4-31/+52
While this change is backwards-incompatible, I think it's okay because: - The `fileFilter` function is not yet in a stable NixOS release, it was only merged about [a month ago](https://github.com/NixOS/nixpkgs/pull/257356). - All public uses of the function on GitHub only pass a path - Any `fileFilter pred fileset` can also be expressed as `intersection fileset (fileFilter pred path)` without loss of functionality. - This is furthermore pointed out in the new error message when a file set is passed
2023-11-15Merge pull request #267381 from tweag/fileset.fileFilter-pathSilvan Mosberger3-16/+54
`fileset.fileFilter`: Don't run predicate unnecessarily
2023-11-14lib.fileset.fileFilter: Don't run predicate unnecessarilySilvan Mosberger2-16/+43
Before: nix-repl> fileset.trace (fileset.fileFilter (file: builtins.trace file.name false) ./default.nix) trace: README.md trace: benchmark.sh trace: default.nix trace: internal.nix trace: mock-splitRoot.nix trace: tests.sh After: nix-repl> fileset.trace (fileset.fileFilter (file: builtins.trace file.name false) ./default.nix) trace: default.nix
2023-11-14lib.fileset.fileFilter: Minor cleanups and more testsSilvan Mosberger3-2/+13
2023-11-13lib.fileset: Very minor changesSilvan Mosberger2-4/+1
2023-11-10Merge pull request #261732 from tweag/fileset.fromSourceRobert Hensing4-29/+398
`lib.fileset.fromSource`: init
2023-11-09lib.fileset: Remove unused bindingsSilvan Mosberger1-3/+0
Thanks nixd!
2023-11-08lib.fileset: Make error messages more uniformSilvan Mosberger3-45/+47
Just minor changes like: - Always using "X is a Y, but it should be Z" - "X is a path that does not exist" rather than "X does not exist" - Always using multi-line strings for errors - Always quoting string-like values and not quoting path-like values - But do quote filesystem roots. Even though they're paths, they might be very small, good to have quotes to know the start/end - Capitalise the first word - Distinguish root vs filesystem root more
2023-11-08lib.fileset: Remove nixdoc workaroundSilvan Mosberger1-9/+7
This problem was fixed in https://github.com/nix-community/nixdoc/pull/81 which is included in version 2.5.1, which is now used in Nixpkgs
2023-11-08lib.fileset.toSource: Mention fromSource in errorsSilvan Mosberger4-3/+19
2023-11-08lib.fileset.fromSource: initSilvan Mosberger3-0/+337
2023-11-08lib.fileset: Split out internal test helperSilvan Mosberger1-26/+42
2023-11-01lib.fileset: Add an additional argument in the design docsSilvan Mosberger1-0/+3
2023-11-01Merge pull request #259065 from tweag/fileset.differenceSilvan Mosberger3-0/+231
`lib.fileset.difference`: init
2023-10-30lib.fileset.difference: initSilvan Mosberger3-0/+231
2023-10-30lib.fileset.toSource: Optimise unknown file type errorSilvan Mosberger1-27/+28
Compared to the parent commit, this removes any detectable performance cost :)
2023-10-30lib.fileset.toSource: Improve error for unknown file typesSilvan Mosberger2-20/+33
This does decrease performance unfortunately Benchmarking expression toSource { root = ./.; fileset = ./.; } Mean CPU time 0.103747 (σ = 0.012415) for 10 runs is 97.32181384964636% (σ = 16.34179537413021%) of the old value 0.106602 (σ = 0.0125571) Statistic .envs.elements (205920) is 105.5842% (+10891) of the old value 195029 Statistic .gc.totalBytes (20247696) is 101.7495% (+348160) of the old value 19899536 Statistic .nrThunks (134824) is 108.7878% (+10891) of the old value 123933 Statistic .symbols.number (996) is 100.1005% (+1) of the old value 995 Statistic .values.number (275238) is 104.1199% (+10891) of the old value 264347
2023-10-26lib.fileset.toSource: Test with unknown file typeSilvan Mosberger1-0/+5
Currently just throws the Nix error because unknown file types are not supported by the Nix store, but nothing catches this error earlier (yet, see next commit)
2023-10-26lib.fileset: Fix shellcheck warnings in testsSilvan Mosberger1-4/+4
2023-10-24lib.fileset.fileFilter: initSilvan Mosberger3-0/+144
2023-10-16lib.fileset: Improved error for unsupported coercion valuesSilvan Mosberger2-4/+4
2023-10-11Merge pull request #257356 from tweag/fileset.intersectSilvan Mosberger4-8/+278
`lib.fileset.intersection`: init
2023-10-11lib.fileset: Minor contributor doc adjustmentsSilvan Mosberger1-2/+4
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
2023-10-11lib.fileset.intersection: initSilvan Mosberger4-1/+257
2023-10-09link to documentation on IFD in the Nix manualValentin Gagarin1-1/+1
2023-10-04lib.fileset: Refactor for performance and future re-useSilvan Mosberger1-5/+17
2023-10-04Merge pull request #256417 from tweag/fileset.traceSilvan Mosberger4-74/+502
`lib.fileset.trace`, `lib.fileset.traceVal`: init
2023-10-04lib.fileset: Don't use ulimit for testing tracingSilvan Mosberger1-8/+13
2023-10-04lib.fileset: Refactor inotify testing to be reusableSilvan Mosberger1-51/+87
2023-10-04lib.fileset: Mention trace functions in the file set evaluation errorSilvan Mosberger3-4/+9
2023-10-04lib.fileset.traceVal: initSilvan Mosberger2-0/+68
2023-10-04lib.fileset.trace: initSilvan Mosberger2-0/+188
2023-10-04lib.fileset: Make expectEqual check moreSilvan Mosberger1-4/+21
2023-10-04lib.fileset: Add internal helpers for pretty-printingSilvan Mosberger1-2/+107