本文整理汇总了Java中org.eclipse.jgit.lib.Repository类的典型用法代码示例。如果您正苦于以下问题:Java Repository类的具体用法?Java Repository怎么用?Java Repository使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Repository类属于org.eclipse.jgit.lib包,在下文中一共展示了Repository类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: GitTool
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
public GitTool() {
File gitWorkDir = new File(".");
try {
Git git = Git.open(gitWorkDir);
Iterable<RevCommit> commits = git.log().all().call();
Repository repo = git.getRepository();
branch = repo.getBranch();
RevCommit latestCommit = commits.iterator().next();
name = latestCommit.getName();
message = latestCommit.getFullMessage();
} catch (Throwable e) {
name = "";
message = "";
branch = "";
}
}
示例2: delete
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
@Transactional
@Override
public void delete(Project project) {
Query query = getSession().createQuery("update Project set forkedFrom=null where forkedFrom=:forkedFrom");
query.setParameter("forkedFrom", project);
query.executeUpdate();
dao.remove(project);
dao.doAfterCommit(new Runnable() {
@Override
public void run() {
synchronized (repositoryCache) {
Repository repository = repositoryCache.remove(project.getId());
if (repository != null)
repository.close();
}
}
});
}
示例3: pull
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
@SneakyThrows
protected void pull() {
try (
Repository db = createRepository();
Git git = Git.wrap(db);
) {
String branchName = gitProperties.getBranchName();
try {
git.checkout().setName(branchName).call();
git.pull().setCredentialsProvider(createCredentialsProvider()).call();
} catch (RefNotFoundException e) {
log.info("Branch {} not found in local repository", branchName);
git.fetch().setCredentialsProvider(createCredentialsProvider()).call();
git.checkout()
.setCreateBranch(true)
.setName(branchName)
.setUpstreamMode(TRACK)
.setStartPoint(DEFAULT_REMOTE_NAME + "/" + branchName).
call();
git.pull().setCredentialsProvider(createCredentialsProvider()).call();
}
}
}
示例4: createAllRevsWalk
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
public RevWalk createAllRevsWalk(Repository repository, String branch) throws Exception {
List<ObjectId> currentRemoteRefs = new ArrayList<ObjectId>();
for (Ref ref : repository.getAllRefs().values()) {
String refName = ref.getName();
if (refName.startsWith(REMOTE_REFS_PREFIX)) {
if (branch == null || refName.endsWith("/" + branch)) {
currentRemoteRefs.add(ref.getObjectId());
}
}
}
RevWalk walk = new RevWalk(repository);
for (ObjectId newRef : currentRemoteRefs) {
walk.markStart(walk.parseCommit(newRef));
}
walk.setRevFilter(commitsFilter);
return walk;
}
示例5: commit
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
/**
*
* @param commitBuilder
* @param treeId
* @param repo
* @return
* @throws UnsupportedEncodingException
* @throws IOException
*/
public static ObjectId commit(CommitBuilder commitBuilder, ObjectId treeId, Repository repo) throws UnsupportedEncodingException, IOException {
commitBuilder.setTreeId(treeId);
commitBuilder.setMessage(System.currentTimeMillis() + ": My commit!\n");
PersonIdent person = new PersonIdent("Alex", "[email protected]");
commitBuilder.setAuthor(person);
commitBuilder.setCommitter(person);
commitBuilder.build();
ObjectInserter commitInserter = repo.newObjectInserter();
ObjectId commitId = commitInserter.insert(commitBuilder);
commitInserter.flush();
updateMasterRecord(repo, commitId);
System.out.println("Commit Object ID: " + commitId.getName());
return commitId;
}
示例6: fetchAndCreateNewRevsWalk
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
public RevWalk fetchAndCreateNewRevsWalk(Repository repository, String branch) throws Exception {
List<ObjectId> currentRemoteRefs = new ArrayList<ObjectId>();
for (Ref ref : repository.getAllRefs().values()) {
String refName = ref.getName();
if (refName.startsWith(REMOTE_REFS_PREFIX)) {
currentRemoteRefs.add(ref.getObjectId());
}
}
List<TrackingRefUpdate> newRemoteRefs = this.fetch(repository);
RevWalk walk = new RevWalk(repository);
for (TrackingRefUpdate newRef : newRemoteRefs) {
if (branch == null || newRef.getLocalName().endsWith("/" + branch)) {
walk.markStart(walk.parseCommit(newRef.getNewObjectId()));
}
}
for (ObjectId oldRef : currentRemoteRefs) {
walk.markUninteresting(walk.parseCommit(oldRef));
}
walk.setRevFilter(commitsFilter);
return walk;
}
示例7: assertDirCacheEntry
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
protected static void assertDirCacheEntry (Repository repository, File workDir, Collection<File> files) throws IOException {
DirCache cache = repository.lockDirCache();
for (File f : files) {
String relativePath = Utils.getRelativePath(workDir, f);
DirCacheEntry e = cache.getEntry(relativePath);
assertNotNull(e);
assertEquals(relativePath, e.getPathString());
if (f.lastModified() != e.getLastModified()) {
assertEquals((f.lastModified() / 1000) * 1000, (e.getLastModified() / 1000) * 1000);
}
try (InputStream in = new FileInputStream(f)) {
assertEquals(e.getObjectId(), repository.newObjectInserter().idFor(Constants.OBJ_BLOB, f.length(), in));
}
if (e.getLength() == 0 && f.length() != 0) {
assertTrue(e.isSmudged());
} else {
assertEquals(f.length(), e.getLength());
}
}
cache.unlock();
}
示例8: run
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
@Override
protected void run () throws GitException {
Repository repository = getRepository();
org.eclipse.jgit.api.BlameCommand cmd = new Git(repository).blame();
cmd.setFilePath(Utils.getRelativePath(getRepository().getWorkTree(), file));
if (revision != null) {
cmd.setStartCommit(Utils.findCommit(repository, revision));
} else if (repository.getConfig().get(WorkingTreeOptions.KEY).getAutoCRLF() != CoreConfig.AutoCRLF.FALSE) {
// work-around for autocrlf
cmd.setTextComparator(new AutoCRLFComparator());
}
cmd.setFollowFileRenames(true);
try {
BlameResult cmdResult = cmd.call();
if (cmdResult != null) {
result = getClassFactory().createBlameResult(cmdResult, repository);
}
} catch (GitAPIException ex) {
throw new GitException(ex);
}
}
示例9: fetchAndCreateNewRevsWalk
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
public RevWalk fetchAndCreateNewRevsWalk(Repository repository, String branch) throws Exception {
List<ObjectId> currentRemoteRefs = new ArrayList<ObjectId>();
for (Ref ref : repository.getAllRefs().values()) {
String refName = ref.getName();
if (refName.startsWith(REMOTE_REFS_PREFIX)) {
currentRemoteRefs.add(ref.getObjectId());
}
}
List<TrackingRefUpdate> newRemoteRefs = this.fetch(repository);
RevWalk walk = new RevWalk(repository);
for (TrackingRefUpdate newRef : newRemoteRefs) {
if (branch == null || newRef.getLocalName().endsWith("/" + branch)) {
walk.markStart(walk.parseCommit(newRef.getNewObjectId()));
}
}
for (ObjectId oldRef : currentRemoteRefs) {
walk.markUninteresting(walk.parseCommit(oldRef));
}
walk.setRevFilter(commitsFilter);
return walk;
}
示例10: test199443_GlobalIgnoreFile
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
public void test199443_GlobalIgnoreFile () throws Exception {
File f = new File(new File(workDir, "nbproject"), "file");
f.getParentFile().mkdirs();
f.createNewFile();
File ignoreFile = new File(workDir.getParentFile(), "globalignore");
write(ignoreFile, "nbproject");
Repository repo = getRepository(getLocalGitRepository());
StoredConfig cfg = repo.getConfig();
cfg.setString(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_EXCLUDESFILE, ignoreFile.getAbsolutePath());
cfg.save();
GitClient client = getClient(workDir);
assertEquals(Status.STATUS_IGNORED, client.getStatus(new File[] { f }, NULL_PROGRESS_MONITOR).get(f).getStatusIndexWC());
assertEquals(new File(workDir, Constants.GITIGNORE_FILENAME), client.unignore(new File[] { f }, NULL_PROGRESS_MONITOR)[0]);
write(new File(workDir, Constants.GITIGNORE_FILENAME), "/nbproject/file");
assertEquals(new File(workDir, Constants.GITIGNORE_FILENAME), client.unignore(new File[] { f }, NULL_PROGRESS_MONITOR)[0]);
assertEquals("!/nbproject/file", read(new File(workDir, Constants.GITIGNORE_FILENAME)));
}
示例11: updateMasterRecord
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
/**
*
* @param repo
* @param objectId
* @throws IOException
*/
public static void updateMasterRecord(Repository repo, ObjectId objectId) throws IOException {
RefUpdate refUpdate = repo.updateRef(Constants.HEAD);
refUpdate.setNewObjectId(objectId);
final RefUpdate.Result result = refUpdate.forceUpdate();
switch (result) {
case NEW:
System.out.println("New commit!\n");
break;
case FORCED:
System.out.println("Forced change commit!\n");
break;
default: {
System.out.println(result.name());
}
}
}
示例12: createGitServlet
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
private GitServlet createGitServlet() {
final GitServlet gitServlet = new GitServlet();
gitServlet.setRepositoryResolver((req, name) -> {
String trimmedName = name.endsWith(SUFFIX) ? name.substring(0, name.length() - SUFFIX.length()) : name;
trimmedName = trimmedName.substring(trimmedName.lastIndexOf('/') + 1);
if (repositories.containsKey(trimmedName)) {
final LazilyLoadedRepository lazilyLoadedRepository = repositories.get(trimmedName);
synchronized (gitServlet) {
lazilyLoadedRepository.cloneRepository();
final Repository repository = lazilyLoadedRepository.get();
enableInsecureReceiving(repository);
repository.incrementOpen();
return repository;
}
} else {
throw new RepositoryNotFoundException("Repository " + name + "does not exist");
}
});
gitServlet.addReceivePackFilter(new AfterReceivePackResetFilter(repositories.values()));
return gitServlet;
}
示例13: run
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
@Override
protected void run () throws GitException {
Repository repository = getRepository();
StoredConfig config = repository.getConfig();
config.unsetSection(ConfigConstants.CONFIG_REMOTE_SECTION, remote);
Set<String> subSections = config.getSubsections(ConfigConstants.CONFIG_BRANCH_SECTION);
for (String subSection : subSections) {
if (remote.equals(config.getString(ConfigConstants.CONFIG_BRANCH_SECTION, subSection, ConfigConstants.CONFIG_KEY_REMOTE))) {
config.unset(ConfigConstants.CONFIG_BRANCH_SECTION, subSection, ConfigConstants.CONFIG_KEY_REMOTE);
config.unset(ConfigConstants.CONFIG_BRANCH_SECTION, subSection, ConfigConstants.CONFIG_KEY_MERGE);
}
}
try {
config.save();
} catch (IOException ex) {
throw new GitException(ex);
}
}
示例14: deleteIfUnversioned
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
private void deleteIfUnversioned(DirCache cache, String path, WorkingTreeIterator f, Repository repository, TreeWalk treeWalk) throws IOException, NoWorkTreeException {
if (cache.getEntry(path) == null && // not in index
!f.isEntryIgnored() && // not ignored
!Utils.isFromNested(f.getEntryFileMode().getBits()))
{
File file = new File(repository.getWorkTree().getAbsolutePath() + File.separator + path);
if(file.isDirectory()) {
String[] s = file.list();
if(s != null && s.length > 0) { // XXX is there no better way to find out if empty?
// not empty
return;
}
}
file.delete();
listener.notifyFile(file, treeWalk.getPathString());
}
}
示例15: run
import org.eclipse.jgit.lib.Repository; //导入依赖的package包/类
@Override
protected void run () throws GitException {
Repository repository = getRepository();
File workTree = repository.getWorkTree();
org.eclipse.jgit.api.SubmoduleStatusCommand cmd = new Git(repository).submoduleStatus();
for (String path : Utils.getRelativePaths(workTree, roots)) {
cmd.addPath(path);
}
try {
Map<String, SubmoduleStatus> result = cmd.call();
GitClassFactory fac = getClassFactory();
for (Map.Entry<String, SubmoduleStatus> e : result.entrySet()) {
File root = new File(workTree, e.getKey());
statuses.put(root, fac.createSubmoduleStatus(e.getValue(), root));
}
} catch (GitAPIException | JGitInternalException ex) {
throw new GitException(ex);
}
}