Search in sources :

Example 41 with GitSynchronizeData

use of org.eclipse.egit.core.synchronize.dto.GitSynchronizeData in project egit by eclipse.

the class GitSyncCache method mergeAllDataIntoCache.

public static void mergeAllDataIntoCache(Map<GitSynchronizeData, Collection<String>> updateRequests, IProgressMonitor monitor, GitSyncCache cache) {
    SubMonitor m = SubMonitor.convert(monitor, updateRequests.size());
    for (Entry<GitSynchronizeData, Collection<String>> entry : updateRequests.entrySet()) {
        Collection<String> paths = entry.getValue();
        GitSyncCache partialCache = getAllData(entry.getKey(), paths);
        cache.merge(partialCache, new HashSet<String>(paths));
        m.worked(1);
    }
    m.done();
}
Also used : GitSynchronizeData(org.eclipse.egit.core.synchronize.dto.GitSynchronizeData) SubMonitor(org.eclipse.core.runtime.SubMonitor) Collection(java.util.Collection)

Example 42 with GitSynchronizeData

use of org.eclipse.egit.core.synchronize.dto.GitSynchronizeData in project egit by eclipse.

the class SynchronizeWorkspaceActionHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    IResource[] resources = getSelectedResources(event);
    Map<Repository, Set<IResource>> containerMap = mapContainerResources(resources);
    if (containerMap.isEmpty())
        return null;
    boolean launchFetch = Activator.getDefault().getPreferenceStore().getBoolean(UIPreferences.SYNC_VIEW_FETCH_BEFORE_LAUNCH);
    GitSynchronizeDataSet gsdSet = new GitSynchronizeDataSet();
    for (Entry<Repository, Set<IResource>> entry : containerMap.entrySet()) try {
        Repository repo = entry.getKey();
        String dstRef = getDstRef(repo, launchFetch);
        GitSynchronizeData data = new GitSynchronizeData(repo, HEAD, dstRef, true);
        Set<IResource> containers = entry.getValue();
        if (!containers.isEmpty())
            data.setIncludedResources(containers);
        gsdSet.add(data);
    } catch (IOException e) {
        Activator.handleError(e.getMessage(), e, true);
    }
    GitModelSynchronize.launch(gsdSet, getSelectedResources(event));
    return null;
}
Also used : GitSynchronizeData(org.eclipse.egit.core.synchronize.dto.GitSynchronizeData) Repository(org.eclipse.jgit.lib.Repository) HashSet(java.util.HashSet) GitSynchronizeDataSet(org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet) Set(java.util.Set) GitSynchronizeDataSet(org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet) IOException(java.io.IOException) IResource(org.eclipse.core.resources.IResource)

Aggregations

GitSynchronizeData (org.eclipse.egit.core.synchronize.dto.GitSynchronizeData)42 GitSynchronizeDataSet (org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet)26 Test (org.junit.Test)15 Repository (org.eclipse.jgit.lib.Repository)14 IResource (org.eclipse.core.resources.IResource)13 IFile (org.eclipse.core.resources.IFile)10 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)9 IResourceVariant (org.eclipse.team.core.variants.IResourceVariant)9 IOException (java.io.IOException)8 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)8 HashSet (java.util.HashSet)7 IProject (org.eclipse.core.resources.IProject)7 ByteArrayInputStream (java.io.ByteArrayInputStream)6 IStorage (org.eclipse.core.resources.IStorage)6 ResourceMapping (org.eclipse.core.resources.mapping.ResourceMapping)5 RepositoryMapping (org.eclipse.egit.core.project.RepositoryMapping)4 File (java.io.File)3 ArrayList (java.util.ArrayList)3 GitResourceVariantTreeSubscriber (org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber)3 GitSubscriberResourceMappingContext (org.eclipse.egit.core.synchronize.GitSubscriberResourceMappingContext)3