From 490660a7c61d6226ac52d0e00198dd90a3891115 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Mon, 24 Nov 2014 00:41:39 +0100 Subject: [PATCH] [pgm] Add option --heads for ls-remote TODO: find a way to use option -h which is already captured by TextBuiltin's option --help which also uses the alias -h. Bug: 444072 Change-Id: Ie66584c2fc7fc224014a43cf928547703dd9d213 Signed-off-by: Matthias Sohn --- .../tst/org/eclipse/jgit/pgm/LsRemoteTest.java | 11 +++++++++++ .../org/eclipse/jgit/pgm/internal/CLIText.properties | 1 + .../src/org/eclipse/jgit/pgm/LsRemote.java | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LsRemoteTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LsRemoteTest.java index 695dea831e..f03edb0693 100644 --- a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LsRemoteTest.java +++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/LsRemoteTest.java @@ -93,4 +93,15 @@ public class LsRemoteTest extends CLIRepositoryTestCase { "d0b1ef2b3dea02bb2ca824445c04e6def012c32c refs/tags/tag3^{}", "" }, result.toArray()); } + + @Test + public void testLsRemoteHeads() throws Exception { + final List result = CLIGitCommand.execute( + "git ls-remote --heads " + + db.getDirectory(), db); + assertArrayEquals(new String[] { + "d0b1ef2b3dea02bb2ca824445c04e6def012c32c refs/heads/master", + "d0b1ef2b3dea02bb2ca824445c04e6def012c32c refs/heads/test", + "" }, result.toArray()); + } } diff --git a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties index bdf05e901a..52a21f7216 100644 --- a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties +++ b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties @@ -203,6 +203,7 @@ usage_Gc=Cleanup unnecessary files and optimize the local repository usage_Glog=View commit history as a graph usage_IndexPack=Build pack index file for an existing packed archive usage_LsRemote=List references in a remote repository +usage_lsRemoteHeads=Show only refs starting with refs/heads usage_LsTree=List the contents of a tree object usage_MakeCacheTree=Show the current cache tree structure usage_MergeBase=Find as good common ancestors as possible for a merge diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java index 0200d8cfde..096d8528d4 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/LsRemote.java @@ -58,6 +58,9 @@ import org.kohsuke.args4j.Option; @Command(common = true, usage = "usage_LsRemote") class LsRemote extends TextBuiltin { + @Option(name = "--heads", usage = "usage_lsRemoteHeads") + private boolean heads; + @Option(name = "--timeout", metaVar = "metaVar_service", usage = "usage_abortConnectionIfNoActivity") int timeout = -1; @@ -67,7 +70,7 @@ class LsRemote extends TextBuiltin { @Override protected void run() throws Exception { LsRemoteCommand command = Git.lsRemoteRepository().setRemote(remote) - .setTimeout(timeout); + .setTimeout(timeout).setHeads(heads); TreeSet refs = new TreeSet(new Comparator() { public int compare(Ref r1, Ref r2) { -- 2.39.5