From c5dfd60d174a9841e64e4097cecab5aea5c422d0 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 12 Apr 2014 12:26:17 -0400
Subject: [PATCH] Documentation

---
 src/main/java/com/gitblit/transport/ssh/git/Receive.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/gitblit/transport/ssh/git/Receive.java b/src/main/java/com/gitblit/transport/ssh/git/Receive.java
index 4089f1d..f0d86f0 100644
--- a/src/main/java/com/gitblit/transport/ssh/git/Receive.java
+++ b/src/main/java/com/gitblit/transport/ssh/git/Receive.java
@@ -17,14 +17,19 @@
 
 import org.eclipse.jgit.transport.ReceivePack;
 
-import com.gitblit.transport.ssh.CommandMetaData;
+import com.gitblit.transport.ssh.SshKey;
+import com.gitblit.transport.ssh.commands.CommandMetaData;
 
-@CommandMetaData(name = "git-receive-pack", description = "Receives pushes from a client")
+@CommandMetaData(name = "git-receive-pack", description = "Receives pushes from a client", hidden = true)
 public class Receive extends BaseGitCommand {
 	@Override
 	protected void runImpl() throws Failure {
+		SshKey key = getContext().getClient().getKey();
+		if (key != null && !key.canPush()) {
+			throw new Failure(1, "Sorry, your SSH public key is not allowed to push changes!");
+		}
 		try {
-			ReceivePack rp = receivePackFactory.create(ctx.getClient(), repo);
+			ReceivePack rp = receivePackFactory.create(getContext().getClient(), repo);
 			rp.receive(in, out, null);
 		} catch (Exception e) {
 			throw new Failure(1, "fatal: Cannot receive pack: ", e);

--
Gitblit v1.9.1