Package org.eclipse.egit.core.op

Examples of org.eclipse.egit.core.op.MergeOperation


    if (mergeTargetSelectionDialog.open() == IDialogConstants.OK_ID) {

      final String refName = mergeTargetSelectionDialog.getRefName();

      String jobname = NLS.bind(UIText.MergeAction_JobNameMerge, refName);
      final MergeOperation op = new MergeOperation(repository, refName);
      op.setSquash(mergeTargetSelectionDialog.isMergeSquash());
      op.setFastForwardMode(mergeTargetSelectionDialog.getFastForwardMode());
      op.setCommit(mergeTargetSelectionDialog.isCommit());
      Job job = new WorkspaceJob(jobname) {
        @Override
        public IStatus runInWorkspace(IProgressMonitor monitor) {
          try {
            op.execute(monitor);
          } catch (final CoreException e) {
            return e.getStatus();
          }
          return Status.OK_STATUS;
        }
      };
      job.setUser(true);
      job.setRule(op.getSchedulingRule());
      job.addJobChangeListener(new JobChangeAdapter() {
        @Override
        public void done(IJobChangeEvent cevent) {
          IStatus result = cevent.getJob().getResult();
          if (result.getSeverity() == IStatus.CANCEL)
            Display.getDefault().asyncExec(new Runnable() {
              public void run() {
                // don't use getShell(event) here since
                // the active shell has changed since the
                // execution has been triggered.
                Shell shell = PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow().getShell();
                MessageDialog
                    .openInformation(
                        shell,
                        UIText.MergeAction_MergeCanceledTitle,
                        UIText.MergeAction_MergeCanceledMessage);
              }
            });
          else if (!result.isOK())
            Activator.handleError(result.getMessage(), result
                .getException(), true);
          else
            Display.getDefault().asyncExec(new Runnable() {
              public void run() {
                Shell shell = PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow().getShell();
                MergeResultDialog.getDialog(shell, repository, op
                    .getResult()).open();
              }
            });
        }
      });
View Full Code Here


      throws Exception {
    IPath path = new Path(PROJ1).append("folder/test.txt");
    testRepository.branch("stable").commit().add(path.toString(), "stable")
        .create();
    touchAndSubmit("master", "master");
    MergeOperation mergeOp = new MergeOperation(
        testRepository.getRepository(), "stable");
    mergeOp.execute(null);
    MergeResult mergeResult = mergeOp.getResult();
    assertThat(mergeResult.getMergeStatus(), is(MergeStatus.CONFLICTING));
    assertThat(mergeResult.getConflicts().keySet(),
        hasItem(path.toString()));

    IndexDiffCache cache = Activator.getDefault().getIndexDiffCache();
View Full Code Here

      targetRef = ((TagNode) node).getObject().getName();
    else
      targetRef = null;

    final String refName;
    final MergeOperation op;

    if (targetRef != null) {
      refName = targetRef;
      op = new MergeOperation(repository, refName);
    } else {
      MergeTargetSelectionDialog mergeTargetSelectionDialog = new MergeTargetSelectionDialog(
          getShell(event), repository);
      if (mergeTargetSelectionDialog.open() != IDialogConstants.OK_ID)
        return null;

      refName = mergeTargetSelectionDialog.getRefName();
      op = new MergeOperation(repository, refName);
      op.setSquash(mergeTargetSelectionDialog.isMergeSquash());
      op.setFastForwardMode(mergeTargetSelectionDialog
          .getFastForwardMode());
      op.setCommit(mergeTargetSelectionDialog.isCommit());
    }

    String jobname = NLS.bind(UIText.MergeAction_JobNameMerge, refName);
    Job job = new WorkspaceJob(jobname) {

      @Override
      public IStatus runInWorkspace(IProgressMonitor monitor) {
        try {
          op.execute(monitor);
        } catch (final CoreException e) {
          return e.getStatus();
        }
        return Status.OK_STATUS;
      }
    };
    job.setUser(true);
    job.setRule(op.getSchedulingRule());
    job.addJobChangeListener(new JobChangeAdapter() {
      @Override
      public void done(IJobChangeEvent jobEvent) {
        IStatus result = jobEvent.getJob().getResult();
        if (result.getSeverity() == IStatus.CANCEL)
          Display.getDefault().asyncExec(new Runnable() {
            public void run() {
              // don't use getShell(event) here since
              // the active shell has changed since the
              // execution has been triggered.
              Shell shell = PlatformUI.getWorkbench()
                  .getActiveWorkbenchWindow().getShell();
              MessageDialog.openInformation(shell,
                  UIText.MergeAction_MergeCanceledTitle,
                  UIText.MergeAction_MergeCanceledMessage);
            }
          });
        else if (!result.isOK())
          Activator.handleError(result.getMessage(), result
              .getException(), true);
        else
          Display.getDefault().asyncExec(new Runnable() {
            public void run() {
              Shell shell = PlatformUI.getWorkbench()
                  .getActiveWorkbenchWindow().getShell();
              MergeResultDialog.getDialog(shell, repository, op.getResult()).open();
            }
          });
      }
    });
    job.schedule();
View Full Code Here

        refName = dlg.getSelectedNode().getObject().getName();
      else
        return null;
    }
    String jobname = NLS.bind(UIText.MergeAction_JobNameMerge, refName);
    final MergeOperation op = new MergeOperation(repository, refName);
    Job job = new WorkspaceJob(jobname) {

      @Override
      public IStatus runInWorkspace(IProgressMonitor monitor) {
        try {
          op.execute(monitor);
        } catch (final CoreException e) {
          return e.getStatus();
        }
        return Status.OK_STATUS;
      }
    };
    job.setUser(true);
    job.setRule(op.getSchedulingRule());
    job.addJobChangeListener(new JobChangeAdapter() {
      @Override
      public void done(IJobChangeEvent cevent) {
        IStatus result = cevent.getJob().getResult();
        if (result.getSeverity() == IStatus.CANCEL)
          Display.getDefault().asyncExec(new Runnable() {
            public void run() {
              // don't use getShell(event) here since
              // the active shell has changed since the
              // execution has been triggered.
              Shell shell = PlatformUI.getWorkbench()
                  .getActiveWorkbenchWindow().getShell();
              MessageDialog
                  .openInformation(
                      shell,
                      UIText.MergeAction_MergeCanceledTitle,
                      UIText.MergeAction_MergeCanceledMessage);
            }
          });
        else if (!result.isOK())
          Activator.handleError(result.getMessage(), result
              .getException(), true);
        else
          Display.getDefault().asyncExec(new Runnable() {
            public void run() {
              Shell shell = PlatformUI.getWorkbench()
                  .getActiveWorkbenchWindow().getShell();
              MergeResultDialog.getDialog(shell, repository, op
                  .getResult()).open();
            }
          });
      }
    });
View Full Code Here

    super.tearDown();
  }

  @Test
  public void testMergeFF() throws Exception {
    MergeOperation operation = new MergeOperation(
        testRepository.getRepository(), MASTER);
    operation.execute(new NullProgressMonitor());

    assertTrue(testRepository.getRepository().resolve(SIDE).equals(secondCommit));
    assertEquals(2, countCommitsInHead());
  }
View Full Code Here

  @Test
  public void testMergeoptionsNoFF() throws Exception {
    setMergeOptions("side", FastForwardMode.NO_FF);

    MergeOperation operation = new MergeOperation(
        testRepository.getRepository(), MASTER);
    operation.execute(new NullProgressMonitor());

    assertEquals(3, countCommitsInHead());
  }
View Full Code Here

    File file2 = testRepository.createFile(project.getProject(), "file2");
    testRepository.appendFileContent(file2, "file2-1");
    RevCommit commit = testRepository.addAndCommit(project.getProject(), file2,
        "side commit 1");

    MergeOperation operation = new MergeOperation(
        testRepository.getRepository(), MASTER);
    operation.execute(new NullProgressMonitor());

    assertTrue(testRepository.getRepository().resolve(SIDE).equals(commit));
  }
View Full Code Here

  @Test
  public void testMergeNoFF() throws Exception {
    setMerge(FastForwardMode.NO_FF);

    MergeOperation operation = new MergeOperation(
        testRepository.getRepository(), MASTER);
    operation.execute(new NullProgressMonitor());

    assertEquals(3, countCommitsInHead());
  }
View Full Code Here

    File file2 = testRepository.createFile(project.getProject(), "file2");
    testRepository.appendFileContent(file2, "file2-1");
    RevCommit commit = testRepository.addAndCommit(project.getProject(), file2,
        "side commit 1");

    MergeOperation operation = new MergeOperation(
        testRepository.getRepository(), MASTER);
    operation.execute(new NullProgressMonitor());

    assertTrue(testRepository.getRepository().resolve(SIDE).equals(commit));
  }
View Full Code Here

TOP

Related Classes of org.eclipse.egit.core.op.MergeOperation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.