summary refs log tree commit diff
path: root/lib/fileset
AgeCommit message (Collapse)AuthorFilesLines
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
2023-10-04Merge pull request #258855 from tweag/fileset.doc-fixSilvan Mosberger2-2/+1
`lib.fileset.unions`: Fix outdated docs
2023-10-03lib.fileset.unions: Fix outdated docsSilvan Mosberger2-2/+1
Since 4f35f003e6e5b800be75e3985054e5fce2dea50a unions supports empty lists too
2023-10-03lib.fileset: _simplifyTree -> _normaliseTreeFilterSilvan Mosberger1-8/+8
2023-10-03lib.fileset: Order noEval lastSilvan Mosberger2-6/+10
2023-10-03lib.fileset: Link to user documentation from contributor docsSilvan Mosberger1-0/+5
2023-10-03Merge pull request #257351 from tweag/fileset.emptyRobert Hensing4-26/+119
`lib.fileset`: Representation for empty file sets without a base path
2023-10-03lib.fileset: Internal representation v3, empty value without a baseSilvan Mosberger4-26/+119
`unions []` now works! Notably the new empty value without a base is not exposed in the interface. I don't know of any use case for it.
2023-09-29lib.fileset: Don't use non-reproducible ulimit for stack overflow testingSilvan Mosberger1-6/+7
2023-09-21lib.fileset: Minor changes from feedbackSilvan Mosberger4-58/+52
Co-authored-by: Robert Hensing <robert@roberthensing.nl> Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-21lib.fileset: Internal representation v2, ~12x faster unions!Silvan Mosberger3-48/+32
$ ./benchmark.sh HEAD [...] Mean CPU time 0.04006 (σ = 0.0040146) for 10 runs is 8.193619775953792% (σ = 0.9584251052704821%) of the old value 0.488917 (σ = 0.0294955) [...]
2023-09-21lib.fileset: Ignore irrelevant shellcheck warningsSilvan Mosberger2-0/+3
2023-09-21lib.fileset: Use a nix-shell shebang for benchmark.shSilvan Mosberger1-1/+2
2023-09-21lib.fileset: Have benchmark.sh measure the timeSilvan Mosberger1-5/+36
2023-09-21lib.fileset: Add benchmark for unionsSilvan Mosberger1-0/+4
2023-09-21lib.fileset: More reusable benchmark codeSilvan Mosberger1-46/+55
2023-09-21lib.fileset.unions: Don't stack overflow for many filesSilvan Mosberger2-39/+39
2023-09-21lib.fileset: Optimise testsSilvan Mosberger1-4/+18
Previously a lot of processes were used, slowing it down considerably the more files were tested
2023-09-21lib.fileset: Various updates relating to union/unionsSilvan Mosberger3-18/+53
Also some minor formatting improvements
2023-09-21lib.fileset: Create tests for union and unionsSilvan Mosberger1-0/+82
2023-09-21lib.fileset.unions: initSilvan Mosberger1-0/+65
2023-09-21lib.fileset.union: initSilvan Mosberger2-0/+158
2023-09-13lib.fileset: Minor internal type doc fixSilvan Mosberger1-1/+1
2023-09-13lib.fileset.toSource: Evaluate fileset even for empty directoriesSilvan Mosberger3-1/+7
2023-09-13lib.fileset: Internal representation v1Silvan Mosberger3-24/+64
2023-09-13lib/fileset: Test function improvementSilvan Mosberger1-25/+34
We can now test returned paths being equal, no need to work around it anymore by making sure paths aren't returned (which would import them with the previous --json)
2023-09-01lib.fileset.toSource: initSilvan Mosberger6-0/+1058