| | |
| | | import java.io.IOException;
|
| | | import java.io.InputStream;
|
| | | import java.io.OutputStream;
|
| | | import java.nio.charset.Charset;
|
| | | import java.text.MessageFormat;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Arrays;
|
| | |
| | | import org.eclipse.jgit.api.CloneCommand;
|
| | | import org.eclipse.jgit.api.FetchCommand;
|
| | | import org.eclipse.jgit.api.Git;
|
| | | import org.eclipse.jgit.api.errors.GitAPIException;
|
| | | import org.eclipse.jgit.diff.DiffEntry;
|
| | | import org.eclipse.jgit.diff.DiffEntry.ChangeType;
|
| | | import org.eclipse.jgit.diff.DiffFormatter;
|
| | |
| | | * @return Repository
|
| | | */
|
| | | public static Repository createRepository(File repositoriesFolder, String name) {
|
| | | Git git = Git.init().setDirectory(new File(repositoriesFolder, name)).setBare(true).call();
|
| | | return git.getRepository();
|
| | | try {
|
| | | Git git = Git.init().setDirectory(new File(repositoriesFolder, name)).setBare(true).call();
|
| | | return git.getRepository();
|
| | | } catch (GitAPIException e) {
|
| | | throw new RuntimeException(e);
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | if (onlyBare && gitDir.getName().equals(".git")) {
|
| | | continue;
|
| | | }
|
| | | // determine repository name relative to base path
|
| | | String repository = FileUtils.getRelativePath(baseFile, file);
|
| | | list.add(repository);
|
| | | if (gitDir.equals(file) || gitDir.getParentFile().equals(file)) {
|
| | | // determine repository name relative to base path
|
| | | String repository = FileUtils.getRelativePath(baseFile, file);
|
| | | list.add(repository);
|
| | | } else if (searchSubfolders && file.canRead()) {
|
| | | // look for repositories in subfolders
|
| | | list.addAll(getRepositoryList(basePath, file, onlyBare, searchSubfolders));
|
| | | }
|
| | | } else if (searchSubfolders && file.canRead()) {
|
| | | // look for repositories in subfolders
|
| | | list.addAll(getRepositoryList(basePath, file, onlyBare, searchSubfolders));
|
| | |
| | | * @param tree
|
| | | * if null, the RevTree from HEAD is assumed.
|
| | | * @param blobPath
|
| | | * @param charsets optional
|
| | | * @return UTF-8 string content
|
| | | */
|
| | | public static String getStringContent(Repository repository, RevTree tree, String blobPath) {
|
| | | public static String getStringContent(Repository repository, RevTree tree, String blobPath, String... charsets) {
|
| | | byte[] content = getByteContent(repository, tree, blobPath);
|
| | | if (content == null) {
|
| | | return null;
|
| | | }
|
| | | return new String(content, Charset.forName(Constants.CHARACTER_ENCODING));
|
| | | return StringUtils.decodeString(content, charsets);
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | *
|
| | | * @param repository
|
| | | * @param objectId
|
| | | * @param charsets optional
|
| | | * @return UTF-8 string content
|
| | | */
|
| | | public static String getStringContent(Repository repository, String objectId) {
|
| | | public static String getStringContent(Repository repository, String objectId, String... charsets) {
|
| | | byte[] content = getByteContent(repository, objectId);
|
| | | if (content == null) {
|
| | | return null;
|
| | | }
|
| | | return new String(content, Charset.forName(Constants.CHARACTER_ENCODING));
|
| | | return StringUtils.decodeString(content, charsets);
|
| | | }
|
| | |
|
| | | /**
|