Skip to content

Commit 4f04ab8

Browse files
authored
Merge pull request #1381 from edram/master
Fix mirrored http(s) with a username and password
2 parents 9d297ab + e8b6c55 commit 4f04ab8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/main/java/com/gitblit/service/MirrorService.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@
2727
import org.eclipse.jgit.lib.RefUpdate.Result;
2828
import org.eclipse.jgit.lib.Repository;
2929
import org.eclipse.jgit.lib.StoredConfig;
30+
import org.eclipse.jgit.transport.CredentialsProvider;
3031
import org.eclipse.jgit.transport.FetchResult;
3132
import org.eclipse.jgit.transport.ReceiveCommand;
3233
import org.eclipse.jgit.transport.ReceiveCommand.Type;
3334
import org.eclipse.jgit.transport.RemoteConfig;
3435
import org.eclipse.jgit.transport.TrackingRefUpdate;
36+
import org.eclipse.jgit.transport.URIish;
37+
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
3538
import org.slf4j.Logger;
3639
import org.slf4j.LoggerFactory;
3740

@@ -146,7 +149,12 @@ public void run() {
146149
logger.debug("checking {} remote {} for ref updates", repositoryName, mirror.getName());
147150
final boolean testing = false;
148151
Git git = new Git(repository);
149-
FetchResult result = git.fetch().setRemote(mirror.getName()).setDryRun(testing).call();
152+
CredentialsProvider creds = null;
153+
URIish fetchUri = mirror.getURIs().get(0);
154+
if (fetchUri.getUser() != null && fetchUri.getPass() != null) {
155+
creds = new UsernamePasswordCredentialsProvider(fetchUri.getUser(), fetchUri.getPass());
156+
}
157+
FetchResult result = git.fetch().setCredentialsProvider(creds).setRemote(mirror.getName()).setDryRun(testing).call();
150158
Collection<TrackingRefUpdate> refUpdates = result.getTrackingRefUpdates();
151159
if (refUpdates.size() > 0) {
152160
ReceiveCommand ticketBranchCmd = null;

0 commit comments

Comments
 (0)