Before looking at the code, I didn't realize that the functions returning None means the reference name is not UTF-8, as opposed to the reference not existing.
(I wish the return value for ..._refname functions would just be Result<&str, UTFDecodeError>, but that would be a breaking change.)
For PushNegotiation and push_negotiation, only the latter has docs accessible via docs.rs, but its docstring was less helpful. See also the commit description.
For PushUpdate, I took some of the phrasing from https://libgit2.org/libgit2/#HEAD/type/git_push_update
Before looking at the code, I didn't realize that the functions returning
None
means the reference name is not UTF-8, as opposed to the reference not existing.(I wish the return value for
..._refname
functions would just beResult<&str, UTFDecodeError>
, but that would be a breaking change.)For PushNegotiation and push_negotiation, only the latter has docs accessible via docs.rs, but its docstring was less helpful. See also the commit description.