当前位置: 首页>>代码示例>>Java>>正文


Java TrackingRefUpdate类代码示例

本文整理汇总了Java中org.eclipse.jgit.transport.TrackingRefUpdate的典型用法代码示例。如果您正苦于以下问题:Java TrackingRefUpdate类的具体用法?Java TrackingRefUpdate怎么用?Java TrackingRefUpdate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TrackingRefUpdate类属于org.eclipse.jgit.transport包,在下文中一共展示了TrackingRefUpdate类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: fetchAndCreateNewRevsWalk

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的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;
}
 
开发者ID:aserg-ufmg,项目名称:RefDiff,代码行数:24,代码来源:GitHelper.java

示例2: fetch

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
private List<TrackingRefUpdate> fetch(Repository repository) throws Exception {
       logger.info("Fetching changes of repository {}", repository.getDirectory().toString());
       try (Git git = new Git(repository)) {
   		FetchResult result = git.fetch().call();
   		
   		Collection<TrackingRefUpdate> updates = result.getTrackingRefUpdates();
   		List<TrackingRefUpdate> remoteRefsChanges = new ArrayList<TrackingRefUpdate>();
   		for (TrackingRefUpdate update : updates) {
   			String refName = update.getLocalName();
   			if (refName.startsWith(REMOTE_REFS_PREFIX)) {
   				ObjectId newObjectId = update.getNewObjectId();
   				logger.info("{} is now at {}", refName, newObjectId.getName());
   				remoteRefsChanges.add(update);
   			}
   		}
   		if (updates.isEmpty()) {
   			logger.info("Nothing changed");
   		}
   		return remoteRefsChanges;
       }
}
 
开发者ID:aserg-ufmg,项目名称:RefDiff,代码行数:22,代码来源:GitServiceImpl.java

示例3: fetchAndCreateNewRevsWalk

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的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;
}
 
开发者ID:aserg-ufmg,项目名称:RefDiff,代码行数:24,代码来源:GitServiceImpl.java

示例4: GitTransportUpdate

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
GitTransportUpdate (URIish uri, TrackingRefUpdate update) {
    this.localName = stripRefs(update.getLocalName());
    this.remoteName = stripRefs(update.getRemoteName());
    this.oldObjectId = update.getOldObjectId() == null || ObjectId.zeroId().equals(update.getOldObjectId()) ? null : update.getOldObjectId().getName();
    this.newObjectId = update.getNewObjectId() == null || ObjectId.zeroId().equals(update.getNewObjectId()) ? null : update.getNewObjectId().getName();
    this.result = GitRefUpdateResult.valueOf((update.getResult() == null 
            ? RefUpdate.Result.NOT_ATTEMPTED 
            : update.getResult()).name());
    this.uri = uri.toString();
    this.type = getType(update.getLocalName());
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:GitTransportUpdate.java

示例5: fetch

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
private List<TrackingRefUpdate> fetch(Repository repository) throws Exception {
	try (Git git = new Git(repository)) {
		FetchResult result = git.fetch().call();
		
		Collection<TrackingRefUpdate> updates = result.getTrackingRefUpdates();
		List<TrackingRefUpdate> remoteRefsChanges = new ArrayList<TrackingRefUpdate>();
		for (TrackingRefUpdate update : updates) {
			String refName = update.getLocalName();
			if (refName.startsWith(REMOTE_REFS_PREFIX)) {
				remoteRefsChanges.add(update);
			}
		}
		return remoteRefsChanges;
	}
}
 
开发者ID:aserg-ufmg,项目名称:RefDiff,代码行数:16,代码来源:GitHelper.java

示例6: fetch

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
public FetchResult fetch(String remote, Collection<RefSpec> toFetch) {
    Log.d(TAG, "About to run fetch : " + remote);

    for (Map.Entry<String,Ref> entry : git.getRepository().getAllRefs().entrySet()) {
        Log.d(TAG, entry.getKey()+" = "+entry.getValue());
    }
    FetchResult fetchResult = null;
    try {
        fetchResult = git.fetch()
                .setRemote(remote)
                .setRefSpecs(toFetch == null ? Collections.<RefSpec>emptyList() : newArrayList(toFetch))
                .setProgressMonitor(messagingProgressMonitor)
                .setTransportConfigCallback(transportConfigCallback)
                .setCredentialsProvider(credentialsProvider)
                .call();
    } catch (GitAPIException e) {
        throw exceptionWithFriendlyMessageFor(e);
    }
    Log.d(TAG, "Fetch complete with : " + fetchResult+" messages="+fetchResult.getMessages());
    for (Ref ref : fetchResult.getAdvertisedRefs()) {
        Log.d(TAG, "AdvertisedRef : " + ref.getName()+" objectId="+ref.getObjectId());
    }
    for (TrackingRefUpdate update : fetchResult.getTrackingRefUpdates()) {
        Log.d(TAG, "TrackingRefUpdate : " + update.getLocalName() + " old=" + update.getOldObjectId() + " new=" + update.getNewObjectId());
    }
    repoUpdateBroadcaster.broadcastUpdate();
    return fetchResult;
}
 
开发者ID:m4rzEE1,项目名称:ninja_chic-,代码行数:29,代码来源:GitFetchService.java

示例7: doApply

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
@Override
public Context doApply(Context context) throws Throwable {
    final Repository repository = new FileRepositoryBuilder()
        .setGitDir(context.getProjectPath())
            // scan environment GIT_* variables
        .readEnvironment()
        .findGitDir()
        .setMustExist(true)
        .build();
    context.setRepository(repository);

    logger.info("Fetching '{}' repository at path: '{}'", context.getName(), context.getProjectPath());

    Git git = new Git(repository);

    FetchResult fetchResult = git.fetch()
        .setProgressMonitor(new LoggingProgressMonitor(logger))
        .call();

    Collection<Ref> refs = FluentIterable
        .from(fetchResult.getTrackingRefUpdates())
        .filter(Predicates.not(new Predicate<TrackingRefUpdate>() {
            @Override
            public boolean apply(TrackingRefUpdate input) {
                return NO_CHANGE.equals(input.getResult());
            }
        }))
        .transform(new TrackingRefUpdateToRef(repository))
        .toList();

    context.setRefs(refs);
    logger.info("Found {} refs to process.", refs.size());
    return context;
}
 
开发者ID:obazoud,项目名称:elasticsearch-river-git,代码行数:35,代码来源:FetchRepositoryFunction.java

示例8: validateTrackingRefUpdates

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
/**
 * Check references updates for any errors
 *
 * @param errorPrefix The error prefix for any error message
 * @param refUpdates A collection of tracking references updates
 */
public static void validateTrackingRefUpdates(String errorPrefix, Collection<TrackingRefUpdate> refUpdates) {
        for (TrackingRefUpdate refUpdate : refUpdates) {
                RefUpdate.Result result = refUpdate.getResult();

                if (result == RefUpdate.Result.IO_FAILURE ||
                    result == RefUpdate.Result.LOCK_FAILURE ||
                    result == RefUpdate.Result.REJECTED ||
                    result == RefUpdate.Result.REJECTED_CURRENT_BRANCH ) {
                        throw new BuildException(String.format("%s - Status '%s'", errorPrefix, result.name()));
                }
        }
}
 
开发者ID:rimerosolutions,项目名称:ant-git-tasks,代码行数:19,代码来源:GitTaskUtils.java

示例9: createTransportUpdate

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
@Override
public GitTransportUpdate createTransportUpdate (URIish urI, TrackingRefUpdate update) {
    return new GitTransportUpdate(urI, update);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:5,代码来源:GitClassFactoryImpl.java

示例10: testPushRejectNonFastForward

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
public void testPushRejectNonFastForward () throws Exception {
    String remoteUri = getRemoteRepository().getWorkTree().toURI().toString();
    assertEquals(0, getClient(workDir).listRemoteBranches(remoteUri, NULL_PROGRESS_MONITOR).size());
    File f = new File(workDir, "f");
    add(f);
    String id = getClient(workDir).commit(new File[] { f }, "bbb", null, null, NULL_PROGRESS_MONITOR).getRevision();
    Map<String, GitTransportUpdate> updates = getClient(workDir).push(remoteUri, Arrays.asList(new String[] { "refs/heads/master:refs/heads/master" }), Collections.<String>emptyList(), NULL_PROGRESS_MONITOR).getRemoteRepositoryUpdates();
    Map<String, GitBranch> remoteBranches = getClient(workDir).listRemoteBranches(remoteUri, NULL_PROGRESS_MONITOR);
    assertEquals(1, remoteBranches.size());
    assertEquals(id, remoteBranches.get("master").getId());
    assertEquals(1, updates.size());
    assertUpdate(updates.get("master"), "master", "master", id, null, new URIish(remoteUri).toString(), Type.BRANCH, GitRefUpdateResult.OK);

    // modification
    write(f, "huhu");
    add(f);
    String newid = getClient(workDir).commit(new File[] { f }, "bbb", null, null, NULL_PROGRESS_MONITOR).getRevision();
    updates = getClient(workDir).push(remoteUri, Arrays.asList(new String[] { "refs/heads/master:refs/heads/master" }), Collections.<String>emptyList(), NULL_PROGRESS_MONITOR).getRemoteRepositoryUpdates();
    remoteBranches = getClient(workDir).listRemoteBranches(remoteUri, NULL_PROGRESS_MONITOR);
    assertEquals(1, remoteBranches.size());
    assertEquals(newid, remoteBranches.get("master").getId());
    assertEquals(1, updates.size());
    assertUpdate(updates.get("master"), "master", "master", newid, id, new URIish(remoteUri).toString(), Type.BRANCH, GitRefUpdateResult.OK);
    
    getClient(workDir).createBranch("localbranch", id, NULL_PROGRESS_MONITOR);
    getClient(workDir).checkoutRevision("localbranch", true, NULL_PROGRESS_MONITOR);
    write(f, "huhu2");
    add(f);
    id = getClient(workDir).commit(new File[] { f }, "some change before merge", null, null, NULL_PROGRESS_MONITOR).getRevision();
    updates = getClient(workDir).push(remoteUri, Arrays.asList(new String[] { "+refs/heads/localbranch:refs/heads/master" }), Collections.<String>emptyList(), NULL_PROGRESS_MONITOR).getRemoteRepositoryUpdates();
    remoteBranches = getClient(workDir).listRemoteBranches(remoteUri, NULL_PROGRESS_MONITOR);
    assertEquals(1, remoteBranches.size());
    assertEquals(newid, remoteBranches.get("master").getId());
    assertEquals(1, updates.size());
    assertUpdate(updates.get("master"), "localbranch", "master", id, newid, new URIish(remoteUri).toString(), Type.BRANCH, GitRefUpdateResult.REJECTED_NONFASTFORWARD);
    
    updates = getClient(workDir).push(remoteUri, Arrays.asList(new String[] { "refs/heads/localbranch:refs/heads/master" }), Arrays.asList(new String[] { "+refs/heads/master:refs/remotes/origin/master" }), NULL_PROGRESS_MONITOR).getRemoteRepositoryUpdates();
    remoteBranches = getClient(workDir).listRemoteBranches(remoteUri, NULL_PROGRESS_MONITOR);
    assertEquals(1, remoteBranches.size());
    assertEquals(newid, remoteBranches.get("master").getId());
    assertEquals(1, updates.size());
    assertUpdate(updates.get("master"), "localbranch", "master", id, newid, new URIish(remoteUri).toString(), Type.BRANCH, GitRefUpdateResult.REJECTED_NONFASTFORWARD);
    
    // if starts failing, the WA at GitTransportUpdate.(URIish uri, TrackingRefUpdate update) should be removed
    // this.result = GitRefUpdateResult.valueOf((update.getResult() == null ? RefUpdate.Result.NOT_ATTEMPTED : update.getResult()).name());
    Transport transport = Transport.open(getRepository(getClient(workDir)), new URIish(remoteUri));
    transport.setDryRun(false);
    transport.setPushThin(true);
    PushResult pushResult = transport.push(new DelegatingProgressMonitor(NULL_PROGRESS_MONITOR),
            Transport.findRemoteRefUpdatesFor(getRepository(getClient(workDir)),
            Collections.singletonList(new RefSpec("refs/heads/localbranch:refs/heads/master")),
            Collections.singletonList(new RefSpec("refs/heads/master:refs/remotes/origin/master"))));
    assertEquals(1, pushResult.getTrackingRefUpdates().size());
    for (TrackingRefUpdate update : pushResult.getTrackingRefUpdates()) {
        // null but not NOT_ATTEMPTED, probably a bug
        // remove the WA if it starts failing here
        assertNull(update.getResult());
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:60,代码来源:PushTest.java

示例11: doApply

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
@Override
public Ref doApply(TrackingRefUpdate input) throws Throwable {
    return repository.getRef(input.getLocalName());
}
 
开发者ID:obazoud,项目名称:elasticsearch-river-git,代码行数:5,代码来源:TrackingRefUpdateToRef.java

示例12: createTransportUpdate

import org.eclipse.jgit.transport.TrackingRefUpdate; //导入依赖的package包/类
public abstract GitTransportUpdate createTransportUpdate (URIish urI, TrackingRefUpdate update); 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:2,代码来源:GitClassFactory.java


注:本文中的org.eclipse.jgit.transport.TrackingRefUpdate类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。