The collection of configured remotes, an instance of
pygit2.remotes.RemoteCollection
Collection of configured remotes
You can use this class to look up and manage the remotes configured in a repository. You can access repositories using index access. E.g. to look up the “origin” remote, you can use
>>> repo.remotes["origin"]
Add a fetch refspec (str) to the remote
Add a push refspec (str) to the remote
Create a new remote with the given name and url. Returns a <Remote> object.
If ‘fetch’ is provided, this fetch refspec will be used instead of the default.
Create a new anonymous (in-memory only) remote with the given URL. Returns a <Remote> object.
Remove a remote from the configuration
All remote-tracking branches and configuration settings for the remote will be removed.
An iterator over the names of the available remotes.
Rename a remote in the configuration. The refspecs in standard format will be renamed.
Returns a list of fetch refspecs (list of strings) which were not in the standard format and thus could not be remapped.
Set the push-URL for a remote
Set the URL for a remote
Connect to the remote.
Parameters:
Proxy configuration. Can be one of:
None (the default) to disable proxy usage
True to enable automatic proxy detection
an url to a proxy (http://proxy.example.org:3128/)
Perform a fetch against this remote. Returns a <TransferProgress> object.
Parameters:
UNSPECIFIED: use the configuration from the repository.
that does not exist in the remote.
NO_PRUNE: always keep the remote branches
Proxy configuration. Can be one of:
None (the default) to disable proxy usage
True to enable automatic proxy detection
an url to a proxy (http://proxy.example.org:3128/)
Number of commits from the tip of each remote branch history to fetch.
If non-zero, the number of commits from the tip of each remote branch history to fetch. If zero, all history is fetched. The default is 0 (all history is fetched).
Refspecs that will be used for fetching
Get the list of references with which the server responds to a new connection.
Parameters:
callbacks : Passed to connect()
proxy : Passed to connect()
connect : Whether to connect to the remote first. You can pass False if the remote has already connected. The list remains available after disconnecting as long as a new connection is not initiated.
Deprecated interface to list_heads
Name of the remote
Perform a prune against this remote.
Push the given refspec to the remote. Raises GitError on protocol
error or unpack failure.
When the remote has a githook installed, that denies the reference this
function will return successfully. Thus it is strongly recommended to
install a callback, that implements
RemoteCallbacks.push_update_reference() and check the passed
parameters for successful operations.
Parameters:
Push refspecs to use.
callbacks :
Proxy configuration. Can be one of:
None (the default) to disable proxy usage
True to enable automatic proxy detection
an url to a proxy (http://proxy.example.org:3128/)
Push options to send to the server, which passes them to the pre-receive as well as the post-receive hook.
If the transport being used to push to the remote requires the creation of a pack file, this controls the number of worker threads used by the packbuilder when creating that pack file to be sent to the remote.
If set to 0, the packbuilder will auto-detect the number of threads to create. The default value is 1.
Refspecs that will be used for pushing
Push url of the remote
Total number of refspecs in this remote
Url of the remote
See Callbacks for the full reference. The following autoclass is only included here for discoverability.
Base class for pygit2 remote callbacks.
Inherit from this class and override the callbacks which you want to use in your class, which you can then pass to the network operations.
For the credentials, you can either subclass and override the ‘credentials’ method, or if it’s a constant value, pass the value to the constructor, e.g. RemoteCallbacks(credentials=credentials).
You can as well pass the certificate the same way, for example: RemoteCallbacks(certificate=certificate).
Certificate callback. Override with your own function to determine whether to accept the server’s certificate.
Returns: True to connect, False to abort.
Parameters:
The certificate. It is currently always None while we figure out how to represent it cross-platform.
Whether the TLS/SSH library thinks the certificate is valid.
The hostname we want to connect to.
Credentials callback. If the remote server requires authentication, this function will be called and its return value used for authentication. Override it if you want to be able to perform authentication.
Returns: credential
Parameters:
The url of the remote.
Username extracted from the url, if any.
A combination of CredentialType bitflags representing the credential types supported by the remote.
During a push, called once between the negotiation step and the upload. Provides information about what updates will be performed.
Override with your own function to check the pending updates and possibly reject them (by raising an exception).
During the upload portion of a push, this will be regularly called with progress information.
Be aware that this is called inline with pack building operations, so performance may be affected.
Override with your own function to report push transfer progress.
Push update reference callback. Override with your own function to report the remote’s acceptance or rejection of reference updates.
The name of the reference (on the remote).
Rejection message from the remote. If None, the update was accepted.
Progress output callback. Override this function with your own progress reporting function
Parameters:
Progress output from the remote.
During the download of new data, this will be regularly called with the indexer’s progress.
Override with your own function to report transfer progress.
Parameters:
The progress up to now.
Update tips callback. Override with your own function to report reference updates.
Parameters:
The name of the reference that’s being updated.
The reference’s old value.
The reference’s new value.
This class contains the data which is available to us during a fetch.
Progress downloading and indexing data during a fetch.
Deltas which have been indexed
Objects which have been indexed
Local objects which were used to fix the thin pack
“Number of bytes received up to now
Objects which have been received up to now
Total number of deltas in the pack
Total number of objects to download
Description of a reference advertised by a remote server, returned by
pygit2.Remote.list_heads().
Represents an update which will be performed on the remote during push.
Passed to pygit2.RemoteCallbacks.push_negotiation().
Represents an update which will be performed on the remote during push.
The new target for the reference
The name of the reference to update on the server
The current target of the reference
The source name of the reference
Refspecs objects are not constructed directly, but returned by
pygit2.Remote.get_refspec(). To create a new a refspec on a Remote, use
pygit2.Remote.add_fetch() or pygit2.Remote.add_push().
The constructor is for internal use only.
Direction of this refspec (fetch or push)
Destination or rhs of the refspec
Return True if the given string matches the destination of this refspec, False otherwise.
Whether this refspeca llows non-fast-forward updates
Transform a reference name according to this refspec from the lhs to the rhs. Return an string.
Source or lhs of the refspec
Return True if the given string matches the source of this refspec, False otherwise.
String which was used to create this refspec
Transform a reference name according to this refspec from the lhs to the rhs. Return an string.
There are several types of credentials. All of them are callable objects, with the appropriate signature for the credentials callback.
They will ignore all the arguments and return themselves. This is useful for scripts where the credentials are known ahead of time. More complete interfaces would want to look up in their keychain or ask the user for the data to use in the credentials.
Username credentials
This is an object suitable for passing to a remote’s credentials callback and for returning from said callback.
Username/Password credentials
This is an object suitable for passing to a remote’s credentials callback and for returning from said callback.
SSH key pair credentials.
This is an object suitable for passing to a remote’s credentials callback and for returning from said callback.
Parameters:
The username being used to authenticate with the remote server.
The path to the user’s public key file.
The path to the user’s private key file.
The password used to decrypt the private key file, or empty string if no passphrase is required.