tvl-depot/nix
Vincent Ambo 44a5e14200 feat(nix/readTree): implement .skip-tree marker for subtree ignoring
With this change, readTree gains the ability to notice a `.skip-tree`
marker in addition to the `.skip-subtree` marker.

The behaviour of the new marker will completely ignore the folder that
the marker is located in (i.e. no node will be present for it in the
parent at all).

To make this work, the recursive function in readTree had to be
modified to return a sentinel value (noting that a tree has requested
to be skipped) which is then filtered out when constructing the list
of children. The actual `readTree` function is now a wrapper around
this inner, sentinel-yielding implementation which unwraps the result
set.

For obvious reasons, `.skip-tree` is not allowed at the top-level and
readTree will throw an error if it encounters it there.

Fixes: b/244
Change-Id: Ica731bc1af356e881fd3d31c7109f62ffd2762ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8185
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2023-02-28 12:15:33 +00:00
..
binify style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
bufCheck feat(nix/bufCheck): always run from repo root 2022-12-27 13:27:40 +00:00
buildGo chore(nix/buildGo): drop thing.proto from example 2022-12-26 11:38:52 +00:00
buildkite feat(ops/buildkite): Support "soft failures" 2022-11-01 22:11:05 +00:00
buildLisp chore(3p/sources): Bump channels & overlays 2022-09-28 08:02:31 +00:00
buildManPages chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00
dependency-analyzer refactor(nix/dependency-analyzer): use unsafeDiscardOutputDependency 2022-10-20 18:21:25 +00:00
drvSeqL style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
emptyDerivation chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00
escapeExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
getBins style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
lazy-deps feat(nix/lazy-deps): add passthru.devShell 2022-12-26 10:31:34 +00:00
mergePatch style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
netstring style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
nint chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00
nix-1p docs(nix/nix-1p): Update to use final and prev 2022-10-05 11:14:38 +00:00
readTree feat(nix/readTree): implement .skip-tree marker for subtree ignoring 2023-02-28 12:15:33 +00:00
renderMarkdown chore(3p/sources): Bump channels & overlays 2022-09-28 08:02:31 +00:00
runExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
runTestsuite style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
sparseTree chore(3p/sources): Bump channels & overlays 2022-09-28 08:02:31 +00:00
stateMonad refactor(nix/stateMonad): optimize after 2022-10-08 10:59:45 +00:00
tag fix(nix/tag): correct no match check in discr 2022-10-09 13:25:14 +00:00
tailscale style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
utils revert(nix/utils): onlyDrvPath to get the drvPath w/o the outputs 2022-11-09 15:36:29 +00:00
writeElispBin chore(3p/sources): Bump channels and overlays 2022-04-21 16:54:07 +00:00
writeExecline style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writers style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writeScript style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
writeScriptBin refactor(nix): use our own writeScript(Bin) 2020-06-30 00:19:27 +00:00
yants docs(yants): Update josh cloning instructions 2022-02-19 11:37:00 +00:00
OWNERS chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00