ReceivePack: allow push options to be set
Some embeddings of JGit require creating a ReceivePack instance in another process from the one that handled the network socket with the client. Similar to the PushCertificate add a setter to allow the option list to be supplied. Change-Id: I303a30e54942ad067c79251eff8b53329c406628
This commit is contained in:
parent
dd2a5a7faf
commit
8e00a317b2
|
@ -98,11 +98,6 @@ public ReceivePack(final Repository into) {
|
|||
* @return an unmodifiable view of pushOptions, or null (if pushOptions is).
|
||||
* @throws IllegalStateException
|
||||
* if allowPushOptions has not been set to true.
|
||||
* @throws RequestNotYetReadException
|
||||
* if the client's request has not yet been read from the wire,
|
||||
* so we do not know if they expect push options. Note that the
|
||||
* client may have already written the request, it just has not
|
||||
* been read.
|
||||
* @since 4.5
|
||||
*/
|
||||
@Nullable
|
||||
|
@ -112,7 +107,6 @@ public List<String> getPushOptions() {
|
|||
// call doesn't make sense.
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
checkRequestWasRead();
|
||||
if (!usePushOptions) {
|
||||
// The client doesn't support push options. Return null to
|
||||
// distinguish this from the case where the client declared support
|
||||
|
@ -122,6 +116,24 @@ public List<String> getPushOptions() {
|
|||
return Collections.unmodifiableList(pushOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the push options supplied by the client.
|
||||
* <p>
|
||||
* Should only be called if reconstructing an instance without going through
|
||||
* the normal {@link #recvCommands()} flow.
|
||||
*
|
||||
* @param options
|
||||
* the list of options supplied by the client. The
|
||||
* {@code ReceivePack} instance takes ownership of this list.
|
||||
* Callers are encouraged to first create a copy if the list may
|
||||
* be modified later.
|
||||
* @since 4.5
|
||||
*/
|
||||
public void setPushOptions(@Nullable List<String> options) {
|
||||
usePushOptions = options != null;
|
||||
pushOptions = options;
|
||||
}
|
||||
|
||||
/** @return the hook invoked before updates occur. */
|
||||
public PreReceiveHook getPreReceiveHook() {
|
||||
return preReceive;
|
||||
|
|
Loading…
Reference in New Issue