From 6cf7c6a6b0d06d88f2f27daae4febbbdc757841b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 3 Nov 2017 13:52:32 +0100 Subject: [PATCH] Remove git:// support in NIX_PATH This didn't support specifying a revision/branch, and was restricted to git:// URIs (since https:// or ssh:// would be ambiguous). --- doc/manual/release-notes/rl-1.12.xml | 7 ------- src/libexpr/parser.y | 7 +------ src/libexpr/primops/fetchgit.cc | 9 ++++++++- src/libexpr/primops/fetchgit.hh | 24 ------------------------ 4 files changed, 9 insertions(+), 38 deletions(-) delete mode 100644 src/libexpr/primops/fetchgit.hh diff --git a/doc/manual/release-notes/rl-1.12.xml b/doc/manual/release-notes/rl-1.12.xml index 7c9a8b75e..29943e3e6 100644 --- a/doc/manual/release-notes/rl-1.12.xml +++ b/doc/manual/release-notes/rl-1.12.xml @@ -188,13 +188,6 @@ (38539b943a060d9cdfc24d6e5d997c0885b8aa2f) - - Git repositories can now be specified in the Nix search - path, - e.g. nixpkgs=git://github.com/NixOS/nixpkgs. - (d8bf0d4859e28ddd23401fbe89f4e528aa09ddb3) - - <nix/fetchurl.nix> now uses the content-addressable tarball cache at diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index 7e63dc89f..ef11dd609 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -523,7 +523,6 @@ formal #include "eval.hh" #include "download.hh" #include "store-api.hh" -#include "primops/fetchgit.hh" namespace nix { @@ -665,11 +664,7 @@ std::pair EvalState::resolveSearchPathElem(const SearchPathEl if (isUri(elem.second)) { try { - if (hasPrefix(elem.second, "git://") || hasSuffix(elem.second, ".git")) - // FIXME: support specifying revision/branch - res = { true, exportGit(store, elem.second).storePath }; - else - res = { true, getDownloader()->downloadCached(store, elem.second, true) }; + res = { true, getDownloader()->downloadCached(store, elem.second, true) }; } catch (DownloadError & e) { printError(format("warning: Nix search path entry '%1%' cannot be downloaded, ignoring") % elem.second); res = { false, "" }; diff --git a/src/libexpr/primops/fetchgit.cc b/src/libexpr/primops/fetchgit.cc index baa48f642..bca68ed72 100644 --- a/src/libexpr/primops/fetchgit.cc +++ b/src/libexpr/primops/fetchgit.cc @@ -1,4 +1,3 @@ -#include "fetchgit.hh" #include "primops.hh" #include "eval-inline.hh" #include "download.hh" @@ -15,6 +14,14 @@ using namespace std::string_literals; namespace nix { +struct GitInfo +{ + Path storePath; + std::string rev; + std::string shortRev; + uint64_t revCount = 0; +}; + GitInfo exportGit(ref store, const std::string & uri, std::experimental::optional ref, const std::string & rev, const std::string & name) diff --git a/src/libexpr/primops/fetchgit.hh b/src/libexpr/primops/fetchgit.hh deleted file mode 100644 index 818ab7102..000000000 --- a/src/libexpr/primops/fetchgit.hh +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include - -#include "util.hh" - -namespace nix { - -class Store; - -struct GitInfo -{ - Path storePath; - std::string rev; - std::string shortRev; - uint64_t revCount = 0; -}; - -GitInfo exportGit(ref store, const std::string & uri, - std::experimental::optional ref = {}, - const std::string & rev = "", - const std::string & name = ""); - -}