C# Class GitSharp.Core.Transport.BasePackPushConnection

Push implementation using the native Git pack transfer service. This is the canonical implementation for transferring objects to the remote repository from the local repository by talking to the 'git-receive-pack' service. Objects are packed on the local side into a pack file and then sent to the remote repository. This connection requires only a bi-directional pipe or socket, and thus is easily wrapped up into a local process pipe, anonymous TCP socket, or a command executed through an SSH tunnel. This implementation honors Transport.get_PushThin option. Concrete implementations should just call BasePackConnection.init(System.IO.Stream,System.IO.Stream) and BasePackConnection.readAdvertisedRefs methods in constructor or before any use. They should also handle resources releasing in BasePackConnection.Close method if needed.
Inheritance: BasePackConnection, IPushConnection
Datei anzeigen Open project: jagregory/GitSharp

Public Methods

Method Description
Push ( ProgressMonitor monitor, RemoteRefUpdate>.IDictionary refUpdates ) : void

Protected Methods

Method Description
BasePackPushConnection ( IPackTransport packTransport ) : System
doPush ( ProgressMonitor monitor, RemoteRefUpdate>.IDictionary refUpdates ) : void
noRepository ( ) : TransportException

Private Methods

Method Description
EnableCapabilities ( ) : string
WriteCommands ( IEnumerable refUpdates, ProgressMonitor monitor ) : void
readStatusReport ( RemoteRefUpdate>.IDictionary refUpdates ) : void
writePack ( RemoteRefUpdate>.IDictionary refUpdates, ProgressMonitor monitor ) : void

Method Details

BasePackPushConnection() protected method

protected BasePackPushConnection ( IPackTransport packTransport ) : System
packTransport IPackTransport
return System

Push() public method

public Push ( ProgressMonitor monitor, RemoteRefUpdate>.IDictionary refUpdates ) : void
monitor ProgressMonitor
refUpdates RemoteRefUpdate>.IDictionary
return void

doPush() protected method

protected doPush ( ProgressMonitor monitor, RemoteRefUpdate>.IDictionary refUpdates ) : void
monitor ProgressMonitor
refUpdates RemoteRefUpdate>.IDictionary
return void

noRepository() protected method

protected noRepository ( ) : TransportException
return GitSharp.Core.Exceptions.TransportException