about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-29T18·14+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-29T18·47+0200
commit38539b943a060d9cdfc24d6e5d997c0885b8aa2f (patch)
tree3f17e49cd6f969dec78befab26e7c68ce3c05956 /src/libstore
parent83258225e6be25cd706df0f96dcbd4b04c352056 (diff)
Add fetchgit builtin
The function builtins.fetchgit fetches Git repositories at evaluation
time, similar to builtins.fetchTarball. (Perhaps the name should be
changed, being confusing with respect to Nixpkgs's fetchgit function,
with works at build time.)

Example:

  (import (builtins.fetchgit git://github.com/NixOS/nixpkgs) {}).hello

or

  (import (builtins.fetchgit {
    url = git://github.com/NixOS/nixpkgs-channels;
    rev = "nixos-16.03";
  }) {}).hello

Note that the result does not contain a .git directory.
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/download.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstore/download.cc b/src/libstore/download.cc
index eed630517d11..6e39330e40d9 100644
--- a/src/libstore/download.cc
+++ b/src/libstore/download.cc
@@ -313,7 +313,7 @@ bool isUri(const string & s)
     size_t pos = s.find("://");
     if (pos == string::npos) return false;
     string scheme(s, 0, pos);
-    return scheme == "http" || scheme == "https" || scheme == "file" || scheme == "channel";
+    return scheme == "http" || scheme == "https" || scheme == "file" || scheme == "channel" || scheme == "git";
 }