зеркало из https://github.com/microsoft/git.git
remote-helper: check helper status after import/export
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
This commit is contained in:
Родитель
502c4eca38
Коммит
53ed0d7e9c
|
@ -239,7 +239,7 @@ test_expect_success 'push update refs failure' '
|
||||||
echo "update fail" >>file &&
|
echo "update fail" >>file &&
|
||||||
git commit -a -m "update fail" &&
|
git commit -a -m "update fail" &&
|
||||||
git rev-parse --verify testgit/origin/heads/update >expect &&
|
git rev-parse --verify testgit/origin/heads/update >expect &&
|
||||||
test_expect_code 1 env GIT_REMOTE_TESTGIT_FAILURE="non-fast forward" \
|
test_must_fail env GIT_REMOTE_TESTGIT_FAILURE="non-fast forward" \
|
||||||
git push origin update &&
|
git push origin update &&
|
||||||
git rev-parse --verify testgit/origin/heads/update >actual &&
|
git rev-parse --verify testgit/origin/heads/update >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
|
|
|
@ -484,6 +484,19 @@ static int get_exporter(struct transport *transport,
|
||||||
return start_command(fastexport);
|
return start_command(fastexport);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void check_helper_status(struct helper_data *data)
|
||||||
|
{
|
||||||
|
int pid, status;
|
||||||
|
|
||||||
|
pid = waitpid(data->helper->pid, &status, WNOHANG);
|
||||||
|
if (pid < 0)
|
||||||
|
die("Could not retrieve status of remote helper '%s'",
|
||||||
|
data->name);
|
||||||
|
if (pid > 0 && WIFEXITED(status))
|
||||||
|
die("Remote helper '%s' died with %d",
|
||||||
|
data->name, WEXITSTATUS(status));
|
||||||
|
}
|
||||||
|
|
||||||
static int fetch_with_import(struct transport *transport,
|
static int fetch_with_import(struct transport *transport,
|
||||||
int nr_heads, struct ref **to_fetch)
|
int nr_heads, struct ref **to_fetch)
|
||||||
{
|
{
|
||||||
|
@ -520,6 +533,7 @@ static int fetch_with_import(struct transport *transport,
|
||||||
|
|
||||||
if (finish_command(&fastimport))
|
if (finish_command(&fastimport))
|
||||||
die(_("error while running fast-import"));
|
die(_("error while running fast-import"));
|
||||||
|
check_helper_status(data);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The fast-import stream of a remote helper that advertises
|
* The fast-import stream of a remote helper that advertises
|
||||||
|
@ -1124,6 +1138,7 @@ static int push_refs_with_export(struct transport *transport,
|
||||||
|
|
||||||
if (finish_command(&exporter))
|
if (finish_command(&exporter))
|
||||||
die(_("error while running fast-export"));
|
die(_("error while running fast-export"));
|
||||||
|
check_helper_status(data);
|
||||||
if (push_update_refs_status(data, remote_refs, flags))
|
if (push_update_refs_status(data, remote_refs, flags))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче