summaryrefslogtreecommitdiff
path: root/builtin/fetch.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-02-11 16:56:01 -0800
committerJunio C Hamano <gitster@pobox.com>2022-02-11 16:56:01 -0800
commitc73d46b3a8450f499df84682be73a13b6578d82c (patch)
treedec704de951fc0d37cb5e4a5cea2cf41050766fa /builtin/fetch.c
parent9210a00d65fca884d2ecdcab32b917a672079014 (diff)
parentc9e04d905edb5487c43b03304704e8d1248f9ac0 (diff)
downloadgit-c73d46b3a8450f499df84682be73a13b6578d82c.tar.gz
Merge branch 'tg/fetch-prune-exit-code-fix'
When "git fetch --prune" failed to prune the refs it wanted to prune, the command issued error messages but exited with exit status 0, which has been corrected. * tg/fetch-prune-exit-code-fix: fetch --prune: exit with error if pruning fails
Diffstat (limited to 'builtin/fetch.c')
-rw-r--r--builtin/fetch.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 55d2568b18..6f5e157863 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1610,12 +1610,14 @@ static int do_fetch(struct transport *transport,
* don't care whether --tags was specified.
*/
if (rs->nr) {
- prune_refs(rs, ref_map, transport->url);
+ retcode = prune_refs(rs, ref_map, transport->url);
} else {
- prune_refs(&transport->remote->fetch,
- ref_map,
- transport->url);
+ retcode = prune_refs(&transport->remote->fetch,
+ ref_map,
+ transport->url);
}
+ if (retcode != 0)
+ retcode = 1;
}
if (fetch_and_consume_refs(transport, ref_map, worktrees)) {
free_refs(ref_map);