A rewrite of gander focusing more on usability of the data structures as a library, rather than on my own "dedup backups" use case.
git clone https://github.com/jefdaj/bigtrees
cd bigtrees
# old way, still works:
nix-shell
stack test
# new way, static build in progress:
nix build
# benchmarking
stack bench --ba --baseline=test/bench/bench.csv --timeout=60s
Gander.Cmd
-> BigTrees.OldCmd
, leaving old commands functional during the rewritefind
mode": list full paths, filter by metadata and glob/regexGraft
nodes that import other tree filesLink
nodes that indicate whether their target data is present in the treeError
nodes to wrap errors, the same way directory-tree does itbigtrees hash <src> [-o <tree>]
bigtrees update <tree> [-i <src>]
bigtrees cut <tree> <branch> [-o <tree>]
bigtrees rm <tree> <branch>
bigtrees graft <tree> <branch> [-i <tree>]
bigtrees mv <tree> <oldbranch> <newbranch>
bigtrees diff <oldtree> <newtree>
bigtrees dupes <tree> [<condition>..] [-s <sortby>] [-n <nhits>] [-p <branch>] [-d <script>]