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).
This commit is contained in:
Eelco Dolstra 2017-11-03 13:52:32 +01:00
parent ee6ac38848
commit 6cf7c6a6b0
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
4 changed files with 9 additions and 38 deletions

View file

@ -188,13 +188,6 @@
(38539b943a060d9cdfc24d6e5d997c0885b8aa2f)</para>
</listitem>
<listitem>
<para>Git repositories can now be specified in the Nix search
path,
e.g. <literal>nixpkgs=git://github.com/NixOS/nixpkgs</literal>.
(d8bf0d4859e28ddd23401fbe89f4e528aa09ddb3)</para>
</listitem>
<listitem>
<para><literal>&lt;nix/fetchurl.nix&gt;</literal> now uses the
content-addressable tarball cache at

View file

@ -523,7 +523,6 @@ formal
#include "eval.hh"
#include "download.hh"
#include "store-api.hh"
#include "primops/fetchgit.hh"
namespace nix {
@ -665,10 +664,6 @@ std::pair<bool, std::string> 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) };
} catch (DownloadError & e) {
printError(format("warning: Nix search path entry '%1%' cannot be downloaded, ignoring") % elem.second);

View file

@ -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> store, const std::string & uri,
std::experimental::optional<std::string> ref, const std::string & rev,
const std::string & name)

View file

@ -1,24 +0,0 @@
#pragma once
#include <string>
#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> store, const std::string & uri,
std::experimental::optional<std::string> ref = {},
const std::string & rev = "",
const std::string & name = "");
}