Skip to content

Push options support within pygit2 #1126

@kuwv

Description

@kuwv

I am trying to determine how to use git_push_options with a remote push. I'm unable to find any documentation, tests or working examples.

My goal is to implement something similar to git using the following: git push --push-option somevar=someval

What I have gleaned from the remote.py context manager is that I probably need to pass libgit2 custom_headers parameter. But, I'm not sure if I'm missing something or just off base.


class CustomRemoteCallbacks(RemoteCallbacks):
    """Provide callback with push options."""

    def __init__(
        self,
        credentials: Optional[Credentials] = None,
        certificate: Optional[Certificate] = None,
        **kwargs: Any,
    ) -> None:
        """Initialize remote callback with custom headers."""
        super().__init__(credentials=credentials, certificate=certificate)
        self.custom_headers = [f"{k}={v}" for k, v in kwargs.items()]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions