Use bearer tokens to authenticate hg hook callbacks

This commit is contained in:
René Pfeuffer
2019-03-28 08:40:56 +01:00
parent daaa50f08c
commit cc4bd6ddd1
22 changed files with 232 additions and 191 deletions

View File

@@ -4,26 +4,20 @@ import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.ScmTransportProtocol;
import org.eclipse.jgit.util.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.repository.GitWorkdirFactory;
import sonia.scm.repository.InternalRepositoryException;
import sonia.scm.repository.util.SimpleWorkdirFactory;
import sonia.scm.repository.util.WorkingCopy;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
public class SimpleGitWorkdirFactory extends SimpleWorkdirFactory<Repository, GitContext> implements GitWorkdirFactory {
public SimpleGitWorkdirFactory() {
super(null, new GitCloneProvider());
super(new GitCloneProvider());
}
public SimpleGitWorkdirFactory(File poolDirectory) {
super(poolDirectory, null, new GitCloneProvider());
super(poolDirectory, new GitCloneProvider());
}
private static class GitCloneProvider implements CloneProvider<Repository, GitContext> {
@@ -45,4 +39,9 @@ public class SimpleGitWorkdirFactory extends SimpleWorkdirFactory<Repository, Gi
return ScmTransportProtocol.NAME + "://" + bareRepository.getAbsolutePath();
}
}
@Override
protected sonia.scm.repository.Repository getRepository(GitContext context) {
return context.getRepository();
}
}