Merge pull request #6567 from Ma27/simplify-git-fix

libfetchers: drop `getGitDir` and hardcode `.git`
This commit is contained in:
Eelco Dolstra 2022-05-25 10:46:42 +02:00 committed by GitHub
commit 40821f857d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,11 +26,6 @@ namespace {
// old version of git, which will ignore unrecognized `-c` options. // old version of git, which will ignore unrecognized `-c` options.
const std::string gitInitialBranch = "__nix_dummy_branch"; const std::string gitInitialBranch = "__nix_dummy_branch";
std::string getGitDir()
{
return getEnv("GIT_DIR").value_or(".git");
}
bool isCacheFileWithinTtl(const time_t now, const struct stat & st) bool isCacheFileWithinTtl(const time_t now, const struct stat & st)
{ {
return st.st_mtime + settings.tarballTtl > now; return st.st_mtime + settings.tarballTtl > now;
@ -152,7 +147,7 @@ struct WorkdirInfo
WorkdirInfo getWorkdirInfo(const Input & input, const Path & workdir) WorkdirInfo getWorkdirInfo(const Input & input, const Path & workdir)
{ {
const bool submodules = maybeGetBoolAttr(input.attrs, "submodules").value_or(false); const bool submodules = maybeGetBoolAttr(input.attrs, "submodules").value_or(false);
auto gitDir = getGitDir(); std::string gitDir(".git");
auto env = getEnv(); auto env = getEnv();
// Set LC_ALL to C: because we rely on the error messages from git rev-parse to determine what went wrong // Set LC_ALL to C: because we rely on the error messages from git rev-parse to determine what went wrong
@ -370,7 +365,7 @@ struct GitInputScheme : InputScheme
{ {
auto sourcePath = getSourcePath(input); auto sourcePath = getSourcePath(input);
assert(sourcePath); assert(sourcePath);
auto gitDir = getGitDir(); auto gitDir = ".git";
runProgram("git", true, runProgram("git", true,
{ "-C", *sourcePath, "--git-dir", gitDir, "add", "--force", "--intent-to-add", "--", std::string(file) }); { "-C", *sourcePath, "--git-dir", gitDir, "add", "--force", "--intent-to-add", "--", std::string(file) });
@ -396,7 +391,7 @@ struct GitInputScheme : InputScheme
std::pair<StorePath, Input> fetch(ref<Store> store, const Input & _input) override std::pair<StorePath, Input> fetch(ref<Store> store, const Input & _input) override
{ {
Input input(_input); Input input(_input);
auto gitDir = getGitDir(); auto gitDir = ".git";
std::string name = input.getName(); std::string name = input.getName();