Some minor refactoring for iOS:
- Roll back clar changes; these should be a bit more measured, and occur
in clar upstream.
- Move iOS to nightly builds
In `diff_print_patch_file` we try to avoid printing the file if we're not sure
that there will be some content. This works fine if we have any later functions
that might get called as part of printing. But when given the format
`GIT_DIFF_FORMAT_PATCH_HEADER`, this is the only function to get called.
Add the binary and hunk functions to those to be called when given this option
and have them exit after printing the header. This takes care of printing the
header if we would be issuing a hunk, but we skip that part.
libgit2 implicitly supports precious objects, since there's no gc
command, nor even any option in our object database functionality to
delete an object from the odb.
In the future, when we support deleting objects, or a gc functionality,
we will need to honor the preciousObjects extension and reject those
APIs when it is set. In the meantime, since users cannot use libgit2
(directly) to delete an object, we can simply add this to our allowlist.
Omit `-p 22` option from ssh command by default.
Adding `-p 22` option when a port is not in a remote url causes that
`Port` option in a ssh config is ignored.
SecCopyErrorMessageString is supported since iOS 11.3.
I believe we do not need to use #if check here since the default IPHONEOS_DEPLOYMENT_TARGET is iOS 13.0 for Xcode 15.3.
Specifically, forward errors from packbuilder->progress_cb
This allows the callback to gracefully terminate long-running
operations when the application is interrupted.
Interruption could be ^C in the terminal, but this could be any
other condition or event, as this is up to the callback function
to implement.
Fixes a bug likely introduced in
d396819101 (in 1.8.1) whereby
‘proxy_settings.on_status’ would be left uninitialized when using the
‘http-parser’ backend, eventually leading to a segfault in
‘http_parser_execute’. Valgrind would report use of the uninitialized
value like so:
Conditional jump or move depends on uninitialised value(s)
at 0x50CD533: http_parser_execute (http_parser.c:910)
by 0x4928504: git_http_parser_execute (httpparser.c:82)
by 0x4925C42: client_read_and_parse (httpclient.c:1178)
by 0x4926F27: git_http_client_read_response (httpclient.c:1458)
by 0x49255FE: http_stream_read (http.c:427)
by 0x4929B90: git_smart__recv (smart.c:29)
by 0x492C147: git_smart__store_refs (smart_protocol.c:58)
by 0x4929F6C: git_smart__connect (smart.c:171)
by 0x4904DCE: git_remote_connect_ext (remote.c:963)
by 0x48A15D2: clone_into (clone.c:449)
by 0x48A15D2: git__clone (clone.c:546)
by 0x4010E9: main (libgit2-proxy.c:20)