]> source.dussan.org Git - jgit.git/commitdiff
PullCommand: Allow to set tag behavior 43/91243/2
authorDavid Pursehouse <david.pursehouse@gmail.com>
Thu, 16 Feb 2017 06:57:54 +0000 (15:57 +0900)
committerMatthias Sohn <matthias.sohn@sap.com>
Sat, 18 Feb 2017 14:21:26 +0000 (15:21 +0100)
Add a new method setTagOpt which sets the annotated tag behavior during
fetch. Pass the option to the fetch command.

No explicit tests are added; the fetch with tags functionality is already
covered by the tests of the fetch command.

Change-Id: I131e1f68d8fcced178d8fa48abf7ffab17f8e173
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java

index a4d9ec1a07236af6ad93c8de33bc058498d553bf..0306548a121d56b7ef2c9bcc6262ce9fca42694e 100644 (file)
@@ -71,6 +71,7 @@ import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryState;
 import org.eclipse.jgit.merge.MergeStrategy;
 import org.eclipse.jgit.transport.FetchResult;
+import org.eclipse.jgit.transport.TagOpt;
 
 /**
  * The Pull command
@@ -92,6 +93,8 @@ public class PullCommand extends TransportCommand<PullCommand, PullResult> {
 
        private MergeStrategy strategy = MergeStrategy.RECURSIVE;
 
+       private TagOpt tagOption;
+
        /**
         * @param repo
         */
@@ -272,9 +275,8 @@ public class PullCommand extends TransportCommand<PullCommand, PullResult> {
                                                JGitText.get().operationCanceled,
                                                JGitText.get().pullTaskName));
 
-                       FetchCommand fetch = new FetchCommand(repo);
-                       fetch.setRemote(remote);
-                       fetch.setProgressMonitor(monitor);
+                       FetchCommand fetch = new FetchCommand(repo).setRemote(remote)
+                                       .setProgressMonitor(monitor).setTagOpt(tagOption);
                        configure(fetch);
 
                        fetchRes = fetch.call();
@@ -411,6 +413,19 @@ public class PullCommand extends TransportCommand<PullCommand, PullResult> {
                return this;
        }
 
+       /**
+        * Sets the specification of annotated tag behavior during fetch
+        *
+        * @param tagOpt
+        * @return {@code this}
+        * @Since 4.7
+        */
+       public PullCommand setTagOpt(TagOpt tagOpt) {
+               checkCallable();
+               this.tagOption = tagOpt;
+               return this;
+       }
+
        /**
         * Reads the rebase mode to use for a pull command from the repository
         * configuration. This is the value defined for the configurations