Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce2012-08-18 22:51:03 +0000
committerMatthias Sohn2012-09-05 15:20:12 +0000
commite63f1c94f8f9a5b10da6c1e5932da33eb805230a (patch)
tree99bdd20177da62d4207e4ad2bcc92498e5aa6245
parent9638e0aa87614a6fb4f109bbeac0cde3462b9769 (diff)
downloadjgit-e63f1c94f8f9a5b10da6c1e5932da33eb805230a.tar.gz
jgit-e63f1c94f8f9a5b10da6c1e5932da33eb805230a.tar.xz
jgit-e63f1c94f8f9a5b10da6c1e5932da33eb805230a.zip
Mark fields of BaseReceivePack private
None of these should have been exposed to base classes. The majority of them are private implementation details that are not required by a subclass in order to interact with the base protocol definition. The few that are needed should be visible as accessor methods, so the internals can be modified without breaking the public JGit API. Change-Id: I874179105c9c37703307facbbf99387c52bf772c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java42
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java13
2 files changed, 36 insertions, 19 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java
index 218b729888..2e2de82166 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java
@@ -136,10 +136,10 @@ public abstract class BaseReceivePack {
}
/** Database we write the stored objects into. */
- protected final Repository db;
+ private final Repository db;
/** Revision traversal support over {@link #db}. */
- protected final RevWalk walk;
+ private final RevWalk walk;
/**
* Is the client connection a bi-directional socket or pipe?
@@ -152,22 +152,22 @@ public abstract class BaseReceivePack {
* If false, this class runs in a read everything then output results mode,
* making it suitable for single round-trip systems RPCs such as HTTP.
*/
- protected boolean biDirectionalPipe = true;
+ private boolean biDirectionalPipe = true;
/** Expecting data after the pack footer */
- protected boolean expectDataAfterPackFooter;
+ private boolean expectDataAfterPackFooter;
/** Should an incoming transfer validate objects? */
- protected boolean checkReceivedObjects;
+ private boolean checkReceivedObjects;
/** Should an incoming transfer permit create requests? */
- protected boolean allowCreates;
+ private boolean allowCreates;
/** Should an incoming transfer permit delete requests? */
- protected boolean allowDeletes;
+ private boolean allowDeletes;
/** Should an incoming transfer permit non-fast-forward requests? */
- protected boolean allowNonFastForwards;
+ private boolean allowNonFastForwards;
private boolean allowOfsDelta;
@@ -212,23 +212,20 @@ public abstract class BaseReceivePack {
private PackParser parser;
/** The refs we advertised as existing at the start of the connection. */
- protected Map<String, Ref> refs;
+ private Map<String, Ref> refs;
/** All SHA-1s shown to the client, which can be possible edges. */
- protected Set<ObjectId> advertisedHaves;
+ private Set<ObjectId> advertisedHaves;
/** Capabilities requested by the client. */
- protected Set<String> enabledCapabilities;
+ private Set<String> enabledCapabilities;
private List<ReceiveCommand> commands;
private StringBuilder advertiseError;
- /** If {@link BasePackPushConnection#CAPABILITY_REPORT_STATUS} is enabled. */
- protected boolean reportStatus;
-
/** If {@link BasePackPushConnection#CAPABILITY_SIDE_BAND_64K} is enabled. */
- protected boolean sideBand;
+ private boolean sideBand;
/** Lock around the received pack file, while updating refs. */
private PackLock packLock;
@@ -872,9 +869,7 @@ public abstract class BaseReceivePack {
/** Enable capabilities based on a previously read capabilities line. */
protected void enableCapabilities() {
- reportStatus = enabledCapabilities.contains(CAPABILITY_REPORT_STATUS);
-
- sideBand = enabledCapabilities.contains(CAPABILITY_SIDE_BAND_64K);
+ sideBand = isCapabilityEnabled(CAPABILITY_SIDE_BAND_64K);
if (sideBand) {
OutputStream out = rawOut;
@@ -886,6 +881,17 @@ public abstract class BaseReceivePack {
}
}
+ /**
+ * Check if the peer requested a capability.
+ *
+ * @param name
+ * protocol name identifying the capability.
+ * @return true if the peer requested the capability to be enabled.
+ */
+ protected boolean isCapabilityEnabled(String name) {
+ return enabledCapabilities.contains(name);
+ }
+
/** @return true if a pack is expected based on the list of commands. */
protected boolean needPack() {
for (final ReceiveCommand cmd : commands) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
index 9630f78532..fb30d99fc5 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
@@ -43,6 +43,8 @@
package org.eclipse.jgit.transport;
+import static org.eclipse.jgit.transport.BasePackPushConnection.CAPABILITY_REPORT_STATUS;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -63,6 +65,9 @@ public class ReceivePack extends BaseReceivePack {
/** Hook to report on the commands after execution. */
private PostReceiveHook postReceive;
+ /** If {@link BasePackPushConnection#CAPABILITY_REPORT_STATUS} is enabled. */
+ private boolean reportStatus;
+
private boolean echoCommandFailures;
/**
@@ -162,8 +167,14 @@ public class ReceivePack extends BaseReceivePack {
}
}
+ @Override
+ protected void enableCapabilities() {
+ reportStatus = isCapabilityEnabled(CAPABILITY_REPORT_STATUS);
+ super.enableCapabilities();
+ }
+
private void service() throws IOException {
- if (biDirectionalPipe) {
+ if (isBiDirectionalPipe()) {
sendAdvertisedRefs(new PacketLineOutRefAdvertiser(pckOut));
pckOut.flush();
} else

Back to the top