|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.jgit.transport.Transport org.eclipse.jgit.transport.HttpTransport org.eclipse.jgit.transport.TransportAmazonS3
public class TransportAmazonS3
Transport over the non-Git aware Amazon S3 protocol.
This transport communicates with the Amazon S3 servers (a non-free commercial hosting service that users must subscribe to). Some users may find transport to and from S3 to be a useful backup service.
The transport does not require any specialized Git support on the remote (server side) repository, as Amazon does not provide any such support. Repository files are retrieved directly through the S3 API, which uses extended HTTP/1.1 semantics. This make it possible to read or write Git data from a remote repository that is stored on S3.
Unlike the HTTP variant (see TransportHttp
) we rely upon being able
to list objects in a bucket, as the S3 API supports this function. By listing
the bucket contents we can avoid relying on objects/info/packs
or info/refs
in the remote repository.
Concurrent pushing over this transport is not supported. Multiple concurrent push operations may cause confusion in the repository state.
WalkFetchConnection
,
WalkPushConnection
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.eclipse.jgit.transport.Transport |
---|
Transport.Operation |
Field Summary |
---|
Fields inherited from class org.eclipse.jgit.transport.Transport |
---|
DEFAULT_FETCH_THIN, DEFAULT_PUSH_THIN, local, REFSPEC_PUSH_ALL, REFSPEC_TAGS, uri |
Method Summary | |
---|---|
void |
close()
Close any resources used by this transport. |
FetchConnection |
openFetch()
Begins a new connection for fetching from the remote repository. |
PushConnection |
openPush()
Begins a new connection for pushing into the remote repository. |
Methods inherited from class org.eclipse.jgit.transport.Transport |
---|
applyConfig, fetch, findRemoteRefUpdatesFor, findRemoteRefUpdatesFor, getCredentialsProvider, getOptionReceivePack, getOptionUploadPack, getPackConfig, getTagOpt, getTimeout, getTransportProtocols, getURI, isCheckFetchedObjects, isDryRun, isFetchThin, isPushThin, isRemoveDeletedRefs, open, open, open, open, open, open, open, openAll, openAll, openAll, openAll, push, register, setCheckFetchedObjects, setCredentialsProvider, setDryRun, setFetchThin, setOptionReceivePack, setOptionUploadPack, setPackConfig, setPushThin, setRemoveDeletedRefs, setTagOpt, setTimeout, unregister |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public FetchConnection openFetch() throws TransportException
Transport
openFetch
in class Transport
TransportException
- the remote connection could not be established.public PushConnection openPush() throws TransportException
Transport
openPush
in class Transport
TransportException
- the remote connection could not be establishedpublic void close()
Transport
If the remote repository is contacted by a network socket this method must close that network socket, disconnecting the two peers. If the remote repository is actually local (same system) this method must close any open file handles used to read the "remote" repository.
close
in class Transport
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |