fetch --prune: exit with error if pruning fails
When pruning refs fails, we print an error to stderr, but still
exit 0 from 'git fetch'. Since this is a genuine error, fetch
should be exiting with some non-zero exit code. Make it so.
The --prune option was introduced in f360d844de ("builtin-fetch: add
--prune option", 2009-11-10). Unfortunately it's unclear from that
commit whether ignoring the exit code was an oversight or
intentional, but it feels like an oversight.
Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
4c53a8c20f
commit
c9e04d905e
@ -1609,12 +1609,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);
|
||||
|
||||
Reference in New Issue
Block a user