Browse Source

SubmoduleUpdateCommand: Add fetch callback

When the submodule already exists, it is fetched instead of
cloned.

Use the fetch callback instead of clone callback in this case.

Change-Id: I170c21ab92b4117f25fdf940fe6807f214b04d39
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
tags/v4.9.0.201710071750-r
David Pursehouse 6 years ago
parent
commit
e32aed6d75

+ 18
- 4
org.eclipse.jgit/src/org/eclipse/jgit/api/SubmoduleUpdateCommand.java View File

@@ -91,6 +91,8 @@ public class SubmoduleUpdateCommand extends

private CloneCommand.Callback callback;

private FetchCommand.Callback fetchCallback;

private boolean fetch = false;

/**
@@ -191,10 +193,8 @@ public class SubmoduleUpdateCommand extends
clone.setProgressMonitor(monitor);
submoduleRepo = clone.call().getRepository();
} else if (this.fetch) {
if (callback != null) {
// FIXME: Do we need a new callback to tell them we're
// fetching?
callback.cloningSubmodule(generator.getPath());
if (fetchCallback != null) {
fetchCallback.fetchingSubmodule(generator.getPath());
}
FetchCommand fetchCommand = Git.wrap(submoduleRepo).fetch();
if (monitor != null) {
@@ -274,4 +274,18 @@ public class SubmoduleUpdateCommand extends
this.callback = callback;
return this;
}

/**
* Set status callback for submodule fetch operation.
*
* @param callback
* the callback
* @return {@code this}
* @since 4.9
*/
public SubmoduleUpdateCommand setFetchCallback(
FetchCommand.Callback callback) {
this.fetchCallback = callback;
return this;
}
}

Loading…
Cancel
Save