From 030fd739b3151162c4e84e9c63ce57532af45219 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 18:58:08 -0400
Subject: [PATCH] Support hidden commands and hide create-repo and review

---
 src/main/java/com/gitblit/transport/ssh/CommandMetaData.java           |    1 +
 src/main/java/com/gitblit/transport/ssh/commands/CreateRepository.java |    2 +-
 src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java  |    5 ++++-
 src/main/java/com/gitblit/transport/ssh/commands/ReviewCommand.java    |    9 +++++----
 4 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gitblit/transport/ssh/CommandMetaData.java b/src/main/java/com/gitblit/transport/ssh/CommandMetaData.java
index 52231b3..2dd189c 100644
--- a/src/main/java/com/gitblit/transport/ssh/CommandMetaData.java
+++ b/src/main/java/com/gitblit/transport/ssh/CommandMetaData.java
@@ -28,4 +28,5 @@
 public @interface CommandMetaData {
 String name();
 String description() default "";
+boolean hidden() default false;
 }
diff --git a/src/main/java/com/gitblit/transport/ssh/commands/CreateRepository.java b/src/main/java/com/gitblit/transport/ssh/commands/CreateRepository.java
index 802905f..f422b18 100644
--- a/src/main/java/com/gitblit/transport/ssh/commands/CreateRepository.java
+++ b/src/main/java/com/gitblit/transport/ssh/commands/CreateRepository.java
@@ -20,7 +20,7 @@
 
 import com.gitblit.transport.ssh.CommandMetaData;
 
-@CommandMetaData(name = "create-repository", description = "Create new GIT repository")
+@CommandMetaData(name = "create-repository", description = "Create new GIT repository", hidden = true)
 public class CreateRepository extends SshCommand {
 
   @Option(name = "--name", aliases = {"-n"}, required = true, metaVar = "NAME", usage = "name of repository to be created")
diff --git a/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java b/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java
index 672ecd6..83707f7 100644
--- a/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java
+++ b/src/main/java/com/gitblit/transport/ssh/commands/DispatchCommand.java
@@ -160,9 +160,12 @@
     String format = "%-" + maxLength + "s   %s";
     for (String name : Sets.newTreeSet(m.keySet())) {
       final Class<? extends Command> c = m.get(name);
-      usage.append("   ");
       CommandMetaData meta = c.getAnnotation(CommandMetaData.class);
       if (meta != null) {
+        if (meta.hidden()) {
+        	continue;
+        }
+        usage.append("   ");
         usage.append(String.format(format, name,
             Strings.nullToEmpty(meta.description())));
       }
diff --git a/src/main/java/com/gitblit/transport/ssh/commands/ReviewCommand.java b/src/main/java/com/gitblit/transport/ssh/commands/ReviewCommand.java
index 9ce7331..b088a2e 100644
--- a/src/main/java/com/gitblit/transport/ssh/commands/ReviewCommand.java
+++ b/src/main/java/com/gitblit/transport/ssh/commands/ReviewCommand.java
@@ -28,7 +28,7 @@
 import com.gitblit.transport.ssh.CommandMetaData;
 import com.gitblit.wicket.GitBlitWebSession;
 
-@CommandMetaData(name = "review", description = "Verify, approve and/or submit one or more patch sets")
+@CommandMetaData(name = "review", description = "Verify, approve and/or submit one or more patch sets", hidden = true)
 public class ReviewCommand extends SshCommand {
 
 	private final static short REV_ID_LEN = 40;
@@ -58,13 +58,14 @@
 	@Override
 	public void run() throws UnloggedFailure {
 		UserModel user = GitBlitWebSession.get().getUser();
-		for (Patchset ps : patchSets) {			
+		// TODO ensure user has permission to score +2/-2
+		for (Patchset ps : patchSets) {
 			// review
-			Change change = new Change(user.username);			
+			Change change = new Change(user.username);
 			change.review(ps, Score.fromScore(vote), false);
 			// TODO(davido): add patchset comment
 			if (submitChange) {
-				// TODO(davido): merge (when desired and the change is mergeable)				
+				// TODO(davido): merge (when desired and the change is mergeable)
 			}
 		}
 	}

--
Gitblit v1.9.1