Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'promisor-remote.c')
-rw-r--r--promisor-remote.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/promisor-remote.c b/promisor-remote.c
index 1e00e16b0f..c088dcbff3 100644
--- a/promisor-remote.c
+++ b/promisor-remote.c
@@ -10,7 +10,8 @@ struct promisor_remote_config {
struct promisor_remote **promisors_tail;
};
-static int fetch_objects(const char *remote_name,
+static int fetch_objects(struct repository *repo,
+ const char *remote_name,
const struct object_id *oids,
int oid_nr)
{
@@ -20,6 +21,8 @@ static int fetch_objects(const char *remote_name,
child.git_cmd = 1;
child.in = -1;
+ if (repo != the_repository)
+ prepare_other_repo_env(&child.env_array, repo->gitdir);
strvec_pushl(&child.args, "-c", "fetch.negotiationAlgorithm=noop",
"fetch", remote_name, "--no-tags",
"--no-write-fetch-head", "--recurse-submodules=no",
@@ -240,10 +243,8 @@ int promisor_remote_get_direct(struct repository *repo,
promisor_remote_init(repo);
- if (repo != the_repository)
- BUG("only the_repository is supported for now");
for (r = repo->promisor_remote_config->promisors; r; r = r->next) {
- if (fetch_objects(r->name, remaining_oids, remaining_nr) < 0) {
+ if (fetch_objects(repo, r->name, remaining_oids, remaining_nr) < 0) {
if (remaining_nr == 1)
continue;
remaining_nr = remove_fetched_oids(repo, &remaining_oids,