SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: >> + # Server does not have "six". >> + test_must_fail git -C file_child -c protocol.version=0 \ >> + push --base=an_invalid_object origin HEAD:client_branch_six 2>log && >> + grep "is not a valid object" log > > This should rather use 'test_i18ngrep' ... > >> +' >> + >> +test_expect_success 'push with --base that does not exist on server' ' >> + COMMON_HASH=$(git -C file_child rev-parse six) && >> + >> + # The push still succeeds. >> + GIT_TRACE_PACKET=1 git -C file_child -c protocol.version=0 \ >> + push --base=six origin HEAD:client_branch_six 2>log && >> + >> + # Server did not advertise "six", since it does not know it >> + ! grep "$COMMON_HASH .have" log >> +' >> + >> # Test protocol v1 with 'ssh://' transport >> # >> test_expect_success 'setup ssh wrapper' ' > > >> diff --git a/transport.c b/transport.c >> index ffe2115845..531ca0a834 100644 >> --- a/transport.c >> +++ b/transport.c >> @@ -236,6 +236,10 @@ static int set_git_option(struct git_transport_options *opts, >> list_objects_filter_die_if_populated(&opts->filter_options); >> parse_list_objects_filter(&opts->filter_options, value); >> return 0; >> + } else if (!strcmp(name, TRANS_OPT_PUSH_BASE)) { >> + if (get_oid(value, &opts->push_base)) >> + die(_("transport: '%s' is not a valid object"), value); > > ... because the error message here is translated. > >> + return 0; >> } >> return 1; >> } Yes, and we are getting CI failure ever since we queued this patch. Let's discard the topic for now. Thanks.