diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-10-30 19:57:40 +0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-10-30 19:59:25 +0100 |
commit | 72cd52c3cdd1fc465fade6d553b3823aca9f8b6e (patch) | |
tree | 403a3d512f405a98cf304e1568dadb13f4c79e0b /src/libutil | |
parent | 197922ea4e76ec9439d487e2d16411495a71df4e (diff) |
builtins.fetchgit: Support importing a working tree
For example, you can write
src = fetchgit ./.;
and if ./. refers to an unclean working tree, that tree will be copied
to the Nix store. This removes the need for "cleanSource".
Diffstat (limited to 'src/libutil')
-rw-r--r-- | src/libutil/archive.cc | 2 | ||||
-rw-r--r-- | src/libutil/archive.hh | 7 | ||||
-rw-r--r-- | src/libutil/hash.hh | 2 | ||||
-rw-r--r-- | src/libutil/util.hh | 6 |
4 files changed, 7 insertions, 10 deletions
diff --git a/src/libutil/archive.cc b/src/libutil/archive.cc index ea1deb924..f71229d8f 100644 --- a/src/libutil/archive.cc +++ b/src/libutil/archive.cc @@ -29,7 +29,7 @@ const std::string narVersionMagic1 = "nix-archive-1"; static string caseHackSuffix = "~nix~case~hack~"; -PathFilter defaultPathFilter; +PathFilter defaultPathFilter = [](const Path &) { return true; }; static void dumpContents(const Path & path, size_t size, diff --git a/src/libutil/archive.hh b/src/libutil/archive.hh index 607ebf8b2..8a15e849c 100644 --- a/src/libutil/archive.hh +++ b/src/libutil/archive.hh @@ -44,13 +44,6 @@ namespace nix { `+' denotes string concatenation. */ -struct PathFilter -{ - virtual ~PathFilter() { } - virtual bool operator () (const Path & path) { return true; } -}; - -extern PathFilter defaultPathFilter; void dumpPath(const Path & path, Sink & sink, PathFilter & filter = defaultPathFilter); diff --git a/src/libutil/hash.hh b/src/libutil/hash.hh index d83049b02..fd7a61df8 100644 --- a/src/libutil/hash.hh +++ b/src/libutil/hash.hh @@ -93,8 +93,6 @@ Hash hashFile(HashType ht, const Path & path); /* Compute the hash of the given path. The hash is defined as (essentially) hashString(ht, dumpPath(path)). */ -struct PathFilter; -extern PathFilter defaultPathFilter; typedef std::pair<Hash, unsigned long long> HashResult; HashResult hashPath(HashType ht, const Path & path, PathFilter & filter = defaultPathFilter); diff --git a/src/libutil/util.hh b/src/libutil/util.hh index fccf5d854..63a93f2ca 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -481,4 +481,10 @@ struct MaintainCount std::pair<unsigned short, unsigned short> getWindowSize(); +/* Used in various places. */ +typedef std::function<bool(const Path & path)> PathFilter; + +extern PathFilter defaultPathFilter; + + } |