C# 클래스 GitSharp.Core.Transport.WalkPushConnection

Generic push support for dumb transport protocols. Since there are no Git-specific smarts on the remote side of the connection the client side must handle everything on its own. The generic push support requires being able to delete, create and overwrite files on the remote side, as well as create any missing directories (if necessary). Typically this can be handled through an FTP style protocol. Objects not on the remote side are uploaded as pack files, using one pack file per invocation. This simplifies the implementation as only two data files need to be written to the remote repository. Push support supplied by this class is not multiuser safe. Concurrent pushes to the same repository may yield an inconsistent reference database which may confuse fetch clients. A single push is concurrently safe with multiple fetch requests, due to the careful order of operations used to update the repository. Clients fetching may receive transient failures due to short reads on certain files if the protocol does not support atomic file replacement. see WalkRemoteObjectDatabase.
상속: BaseConnection, IPushConnection
파일 보기 프로젝트 열기: stschake/GitSharp 1 사용 예제들

Private Properties

프로퍼티 타입 설명
CreateNewRepository void
DeleteCommand void
PickHead string
SafeDelete void
Sendpack void
UpdateCommand void

공개 메소드들

메소드 설명
Close ( ) : void
Push ( ProgressMonitor monitor, RemoteRefUpdate>.IDictionary refUpdates ) : void
WalkPushConnection ( IWalkTransport walkTransport, WalkRemoteObjectDatabase w ) : System

비공개 메소드들

메소드 설명
CreateNewRepository ( IList updates ) : void
DeleteCommand ( RemoteRefUpdate u ) : void
PickHead ( IList updates ) : string
SafeDelete ( string path ) : void
Sendpack ( IEnumerable updates, ProgressMonitor monitor ) : void
UpdateCommand ( RemoteRefUpdate u ) : void

메소드 상세

Close() 공개 메소드

public Close ( ) : void
리턴 void

Push() 공개 메소드

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

WalkPushConnection() 공개 메소드

public WalkPushConnection ( IWalkTransport walkTransport, WalkRemoteObjectDatabase w ) : System
walkTransport IWalkTransport
w WalkRemoteObjectDatabase
리턴 System