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 failsmaint
commit
c73d46b3a8
|
@ -1610,12 +1610,14 @@ static int do_fetch(struct transport *transport,
|
||||||
* don't care whether --tags was specified.
|
* don't care whether --tags was specified.
|
||||||
*/
|
*/
|
||||||
if (rs->nr) {
|
if (rs->nr) {
|
||||||
prune_refs(rs, ref_map, transport->url);
|
retcode = prune_refs(rs, ref_map, transport->url);
|
||||||
} else {
|
} else {
|
||||||
prune_refs(&transport->remote->fetch,
|
retcode = prune_refs(&transport->remote->fetch,
|
||||||
ref_map,
|
ref_map,
|
||||||
transport->url);
|
transport->url);
|
||||||
}
|
}
|
||||||
|
if (retcode != 0)
|
||||||
|
retcode = 1;
|
||||||
}
|
}
|
||||||
if (fetch_and_consume_refs(transport, ref_map, worktrees)) {
|
if (fetch_and_consume_refs(transport, ref_map, worktrees)) {
|
||||||
free_refs(ref_map);
|
free_refs(ref_map);
|
||||||
|
|
|
@ -164,6 +164,17 @@ test_expect_success 'fetch --prune --tags with refspec prunes based on refspec'
|
||||||
git rev-parse sometag
|
git rev-parse sometag
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success REFFILES 'fetch --prune fails to delete branches' '
|
||||||
|
cd "$D" &&
|
||||||
|
git clone . prune-fail &&
|
||||||
|
cd prune-fail &&
|
||||||
|
git update-ref refs/remotes/origin/extrabranch main &&
|
||||||
|
: this will prevent --prune from locking packed-refs for deleting refs, but adding loose refs still succeeds &&
|
||||||
|
>.git/packed-refs.new &&
|
||||||
|
|
||||||
|
test_must_fail git fetch --prune origin
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'fetch --atomic works with a single branch' '
|
test_expect_success 'fetch --atomic works with a single branch' '
|
||||||
test_when_finished "rm -rf \"$D\"/atomic" &&
|
test_when_finished "rm -rf \"$D\"/atomic" &&
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue