• Show log

    Commit

  • Hash : 6fc6eeb6
    Author : Edward Thomson
    Date : 2021-12-24T15:14:38

    remote: introduce `git_remote_connect_options`
    
    The existing mechanism for providing options to remote fetch/push calls,
    and subsequently to transports, is unsatisfactory.  It requires an
    options structure to avoid breaking the API and callback signatures.
    
    1. Introduce `git_remote_connect_options` to satisfy those needs.
    
    2. Add a new remote connection API, `git_remote_connect_ext` that will
       take this new options structure.  Existing `git_remote_connect` calls
       will proxy to that.  `git_remote_fetch` and `git_remote_push` will
       proxy their fetch/push options to that as well.
    
    3. Define the interaction between `git_remote_connect` and fetch/push.
       Connect _may_ be called before fetch/push, but _need not_ be.  The
       semantics of which options would be used for these operations was
       not specified if you specify options for both connect _and_ fetch.
       Now these are defined that the fetch or push options will be used
       _if_ they were specified.  Otherwise, the connect options will be
       used if they were specified.  Otherwise, the library's defaults will
       be used.
    
    4. Update the transports to understand `git_remote_connect_options`.
       This is a breaking change to the systems API.