From f76fee63ed9cb3a30d3c0c092d860b1cb93a481b Mon Sep 17 00:00:00 2001 From: Gerard Smyth <gerard.smyth@gmail.com> Date: Thu, 08 May 2014 13:09:30 -0400 Subject: [PATCH] Updated the SyndicationServlet to provide an additional option to return details of the tags in the repository instead of the commits. This uses a new 'ot' request parameter to indicate the object type of the content to return, which can be ither TAG or COMMIT. If this is not provided, then COMMIT is assumed to maintain backwards compatability. If tags are returned, then the paging parameters, 'l' and 'pg' are still supported, but searching options are currently ignored. --- src/main/java/com/gitblit/AddIndexedBranch.java | 56 +++++++++++++++++++++++++++----------------------------- 1 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/gitblit/AddIndexedBranch.java b/src/main/java/com/gitblit/AddIndexedBranch.java index 7a16bbd..459e1f0 100644 --- a/src/main/java/com/gitblit/AddIndexedBranch.java +++ b/src/main/java/com/gitblit/AddIndexedBranch.java @@ -28,11 +28,10 @@ import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.eclipse.jgit.util.FS; +import org.kohsuke.args4j.CmdLineException; +import org.kohsuke.args4j.CmdLineParser; +import org.kohsuke.args4j.Option; -import com.beust.jcommander.JCommander; -import com.beust.jcommander.Parameter; -import com.beust.jcommander.ParameterException; -import com.beust.jcommander.Parameters; import com.gitblit.models.RefModel; import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.JGitUtils; @@ -40,33 +39,33 @@ /** * Utility class to add an indexBranch setting to matching repositories. - * + * * @author James Moger - * + * */ public class AddIndexedBranch { public static void main(String... args) { Params params = new Params(); - JCommander jc = new JCommander(params); + CmdLineParser parser = new CmdLineParser(params); try { - jc.parse(args); - } catch (ParameterException t) { + parser.parseArgument(args); + } catch (CmdLineException t) { System.err.println(t.getMessage()); - jc.usage(); + parser.printUsage(System.out); return; } - + // create a lowercase set of excluded repositories Set<String> exclusions = new TreeSet<String>(); for (String exclude : params.exclusions) { exclusions.add(exclude.toLowerCase()); } - + // determine available repositories File folder = new File(params.folder); List<String> repoList = JGitUtils.getRepositoryList(folder, false, true, -1, null); - + int modCount = 0; int skipCount = 0; for (String repo : repoList) { @@ -77,25 +76,25 @@ break; } } - + if (skip) { System.out.println("skipping " + repo); skipCount++; continue; } - + try { // load repository config File gitDir = FileKey.resolve(new File(folder, repo), FS.DETECTED); Repository repository = new FileRepositoryBuilder().setGitDir(gitDir).build(); StoredConfig config = repository.getConfig(); config.load(); - + Set<String> indexedBranches = new LinkedHashSet<String>(); - + // add all local branches to index - if(params.addAllLocalBranches) { + if (params.addAllLocalBranches) { List<RefModel> list = JGitUtils.getLocalBranches(repository, true, -1); for (RefModel refModel : list) { System.out.println(MessageFormat.format("adding [gitblit] indexBranch={0} for {1}", refModel.getName(), repo)); @@ -107,7 +106,7 @@ System.out.println(MessageFormat.format("adding [gitblit] indexBranch={0} for {1}", params.branch, repo)); indexedBranches.add(params.branch); } - + String [] branches = config.getStringList("gitblit", null, "indexBranch"); if (!ArrayUtils.isEmpty(branches)) { for (String branch : branches) { @@ -122,28 +121,27 @@ e.printStackTrace(); } } - + System.out.println(MessageFormat.format("updated {0} repository configurations, skipped {1}", modCount, skipCount)); } - + /** - * JCommander Parameters class for AddIndexedBranch. + * Parameters class for AddIndexedBranch. */ - @Parameters(separators = " ") private static class Params { - @Parameter(names = { "--repositoriesFolder" }, description = "The root repositories folder ", required = true) + @Option(name = "--repositoriesFolder", usage = "The root repositories folder ", required = true, metaVar = "PATH") public String folder; - @Parameter(names = { "--branch" }, description = "The branch to index", required = false) + @Option(name = "--branch", usage = "The branch to index", metaVar = "BRANCH") public String branch = "default"; - @Parameter(names = { "--skip" }, description = "Skip the named repository (simple fizzy matching is supported)", required = false) + @Option(name = "--skip", usage = "Skip the named repository (simple fizzy matching is supported)") public List<String> exclusions = new ArrayList<String>(); - - @Parameter(names = { "--all-local-branches" }, description = "Add all local branches to index. If specified, the --branch parameter is not considered.", required = false) - public boolean addAllLocalBranches = false; + + @Option(name = "--all-local-branches", usage = "Add all local branches to index. If specified, the --branch parameter is not considered.") + public boolean addAllLocalBranches; } } -- Gitblit v1.9.1