List branches from only one repository if a repository name is given e.g.: https://localhost:8443/rpc/?req=LIST_REPOSITORY_BRANCHES&name=repo.git Fix #1184
diff --git a/src/main/java/com/gitblit/servlet/RpcServlet.java b/src/main/java/com/gitblit/servlet/RpcServlet.java index 9809a25..0081367 100644 --- a/src/main/java/com/gitblit/servlet/RpcServlet.java +++ b/src/main/java/com/gitblit/servlet/RpcServlet.java
@@ -133,6 +133,10 @@ model.name)); continue; } + if(!StringUtils.isEmpty(objectName) && !objectName.equals(model.name)) { + // skip repository if a name was submitted and it doesn't match + continue; + } // get local branches Repository repository = gitblit.getRepository(model.name); List<RefModel> refs = JGitUtils.getLocalBranches(repository, false, -1);
diff --git a/src/site/rpc.mkd b/src/site/rpc.mkd index 4b065bf..e51fbaa 100644 --- a/src/site/rpc.mkd +++ b/src/site/rpc.mkd
@@ -62,6 +62,7 @@ <tr><td>Gitblit v1.3.1</td><td>6</td></tr> <tr><td>Gitblit v1.4.0</td><td>7</td></tr> <tr><td>Gitblit v1.6.0</td><td>8</td></tr> +<tr><td>Gitblit v1.9.0</td><td>9</td></tr> </tbody> </table> @@ -80,7 +81,7 @@ <tr><td colspan='6'><em>web.enableRpcServlet=true</em></td></tr> <tr><td>GET_PROTOCOL</td><td>-</td><td>-</td><td>2</td><td>-</td><td>Integer</td></tr> <tr><td>LIST_REPOSITORIES</td><td>-</td><td>-</td><td>1</td><td>-</td><td>Map<String, RepositoryModel></td></tr> -<tr><td>LIST_BRANCHES</td><td>-</td><td>-</td><td>1</td><td>-</td><td>Map<String, List<String>></td></tr> +<tr><td>LIST_BRANCHES</td><td>[repository name]</td><td>-</td><td>9</td><td>-</td><td>Map<String, List<String>></td></tr> <tr><td>LIST_SETTINGS</td><td>-</td><td><em>-</em></td><td>1</td><td>-</td><td>ServerSettings (basic keys)</td></tr> <tr><td>GET_USER</td><td>user name</td><td>-</td><td>6</td><td>-</td><td>UserModel</td></tr> <tr><td>FORK_REPOSITORY</td><td>repository name</td><td><em>-</em></td><td>8</td><td>-</td><td>-</td></tr>