mirror of
https://github.com/NixOS/nix.git
synced 2025-11-14 06:22:42 +01:00
This provides a pluggable mechanism for defining new fetchers. It adds
a builtin function 'fetchTree' that generalizes existing fetchers like
'fetchGit', 'fetchMercurial' and 'fetchTarball'. 'fetchTree' takes a
set of attributes, e.g.
fetchTree {
type = "git";
url = "https://example.org/repo.git";
ref = "some-branch";
rev = "abcdef...";
}
The existing fetchers are just wrappers around this. Note that the
input attributes to fetchTree are the same as flake input
specifications and flake lock file entries.
All fetchers share a common cache stored in
~/.cache/nix/fetcher-cache-v1.sqlite. This replaces the ad hoc caching
mechanisms in fetchGit and download.cc (e.g. ~/.cache/nix/{tarballs,git-revs*}).
This also adds support for Git worktrees (
|
||
|---|---|---|
| .. | ||
| primops | ||
| attr-path.cc | ||
| attr-path.hh | ||
| attr-set.cc | ||
| attr-set.hh | ||
| common-eval-args.cc | ||
| common-eval-args.hh | ||
| eval-inline.hh | ||
| eval.cc | ||
| eval.hh | ||
| function-trace.cc | ||
| function-trace.hh | ||
| get-drvs.cc | ||
| get-drvs.hh | ||
| imported-drv-to-derivation.nix | ||
| json-to-value.cc | ||
| json-to-value.hh | ||
| lexer.l | ||
| local.mk | ||
| names.cc | ||
| names.hh | ||
| nix-expr.pc.in | ||
| nixexpr.cc | ||
| nixexpr.hh | ||
| parser.y | ||
| primops.cc | ||
| primops.hh | ||
| symbol-table.hh | ||
| value-to-json.cc | ||
| value-to-json.hh | ||
| value-to-xml.cc | ||
| value-to-xml.hh | ||
| value.hh | ||