Search in sources :

Example 1 with FeatureStartOperation

use of org.eclipse.egit.gitflow.op.FeatureStartOperation in project egit by eclipse.

the class GitFlowRepositoryTest method testIsOnDevelop.

@Test
public void testIsOnDevelop() throws Exception {
    Repository repository = repository1.getRepository();
    GitFlowRepository gfRepo = new GitFlowRepository(repository);
    InitParameters initParameters = new InitParameters();
    initParameters.setDevelop(DEVELOP);
    initParameters.setMaster(GitFlowDefaults.MASTER);
    initParameters.setFeature(FEATURE_PREFIX);
    initParameters.setRelease(RELEASE_PREFIX);
    initParameters.setHotfix(HOTFIX_PREFIX);
    initParameters.setVersionTag(VERSION_TAG);
    repository1.checkoutBranch(gfRepo.getConfig().getDevelop());
    RevCommit developBranchCommit = repository1.commit("develop branch commit");
    assertTrue(gfRepo.isOnDevelop(developBranchCommit));
    new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
    RevCommit featureBranchCommit = repository1.commit("feature branch commit");
    assertFalse(gfRepo.isOnDevelop(featureBranchCommit));
    // the initial commit was made on master, but is also on develop
    assertTrue(gfRepo.isOnDevelop(initialCommit));
}
Also used : TestRepository(org.eclipse.egit.core.test.TestRepository) Repository(org.eclipse.jgit.lib.Repository) FeatureStartOperation(org.eclipse.egit.gitflow.op.FeatureStartOperation) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 2 with FeatureStartOperation

use of org.eclipse.egit.gitflow.op.FeatureStartOperation in project egit by eclipse.

the class FeatureStartHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    final GitFlowRepository gfRepo = GitFlowHandlerUtil.getRepository(event);
    InputDialog inputDialog = new InputDialog(HandlerUtil.getActiveShell(event), UIText.FeatureStartHandler_provideFeatureName, UIText.FeatureStartHandler_pleaseProvideANameForTheNewFeature, // $NON-NLS-1$
    "", new FeatureNameValidator(gfRepo));
    if (inputDialog.open() != Window.OK) {
        return null;
    }
    final String featureName = inputDialog.getValue();
    FeatureStartOperation featureStartOperation = new FeatureStartOperation(gfRepo, featureName);
    JobUtil.scheduleUserWorkspaceJob(featureStartOperation, UIText.FeatureStartHandler_startingNewFeature, JobFamilies.GITFLOW_FAMILY);
    return null;
}
Also used : InputDialog(org.eclipse.jface.dialogs.InputDialog) FeatureStartOperation(org.eclipse.egit.gitflow.op.FeatureStartOperation) FeatureNameValidator(org.eclipse.egit.gitflow.ui.internal.validation.FeatureNameValidator) GitFlowRepository(org.eclipse.egit.gitflow.GitFlowRepository)

Example 3 with FeatureStartOperation

use of org.eclipse.egit.gitflow.op.FeatureStartOperation in project egit by eclipse.

the class BranchNameValidatorTest method testFeatureExists.

@Test
public void testFeatureExists() throws Exception {
    testRepository.createInitialCommit("testInitOperation\n\nfirst commit\n");
    Repository repository = testRepository.getRepository();
    new InitOperation(repository).execute(null);
    GitFlowRepository gfRepo = new GitFlowRepository(repository);
    new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
    assertTrue(featureExists(gfRepo, MY_FEATURE));
}
Also used : Repository(org.eclipse.jgit.lib.Repository) InitOperation(org.eclipse.egit.gitflow.op.InitOperation) FeatureStartOperation(org.eclipse.egit.gitflow.op.FeatureStartOperation) Test(org.junit.Test) AbstractGitFlowOperationTest(org.eclipse.egit.gitflow.op.AbstractGitFlowOperationTest)

Example 4 with FeatureStartOperation

use of org.eclipse.egit.gitflow.op.FeatureStartOperation in project egit by eclipse.

the class GitFlowRepositoryTest method testGetFeatureBranchName.

@Test
public void testGetFeatureBranchName() throws Exception {
    repository1.createInitialCommit("testGetFeatureBranchName\n\nfirst commit\n");
    Repository repository = repository1.getRepository();
    GitFlowRepository gfRepo = new GitFlowRepository(repository);
    InitParameters initParameters = new InitParameters();
    initParameters.setDevelop(DEVELOP);
    initParameters.setMaster(GitFlowDefaults.MASTER);
    initParameters.setFeature(FEATURE_PREFIX);
    initParameters.setRelease(RELEASE_PREFIX);
    initParameters.setHotfix(HOTFIX_PREFIX);
    initParameters.setVersionTag(VERSION_TAG);
    new InitOperation(repository, initParameters).execute(null);
    assertTrue(gfRepo.getFeatureBranches().isEmpty());
    new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
    Ref actualFeatureRef = repository.exactRef(R_HEADS + gfRepo.getConfig().getFeaturePrefix() + MY_FEATURE);
    assertEquals(MY_FEATURE, gfRepo.getFeatureBranchName(actualFeatureRef));
}
Also used : TestRepository(org.eclipse.egit.core.test.TestRepository) Repository(org.eclipse.jgit.lib.Repository) Ref(org.eclipse.jgit.lib.Ref) InitOperation(org.eclipse.egit.gitflow.op.InitOperation) FeatureStartOperation(org.eclipse.egit.gitflow.op.FeatureStartOperation) Test(org.junit.Test)

Example 5 with FeatureStartOperation

use of org.eclipse.egit.gitflow.op.FeatureStartOperation in project egit by eclipse.

the class GitFlowRepositoryTest method testGetFeatureBranches.

@Test
public void testGetFeatureBranches() throws Exception {
    repository1.createInitialCommit("testGetFeatureBranches\n\nfirst commit\n");
    Repository repository = repository1.getRepository();
    GitFlowRepository gfRepo = new GitFlowRepository(repository);
    new InitOperation(repository).execute(null);
    assertTrue(gfRepo.getFeatureBranches().isEmpty());
    new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null);
    assertEquals(R_HEADS + gfRepo.getConfig().getFeaturePrefix() + MY_FEATURE, gfRepo.getFeatureBranches().get(0).getName());
}
Also used : TestRepository(org.eclipse.egit.core.test.TestRepository) Repository(org.eclipse.jgit.lib.Repository) InitOperation(org.eclipse.egit.gitflow.op.InitOperation) FeatureStartOperation(org.eclipse.egit.gitflow.op.FeatureStartOperation) Test(org.junit.Test)

Aggregations

FeatureStartOperation (org.eclipse.egit.gitflow.op.FeatureStartOperation)5 Repository (org.eclipse.jgit.lib.Repository)4 Test (org.junit.Test)4 TestRepository (org.eclipse.egit.core.test.TestRepository)3 InitOperation (org.eclipse.egit.gitflow.op.InitOperation)3 GitFlowRepository (org.eclipse.egit.gitflow.GitFlowRepository)1 AbstractGitFlowOperationTest (org.eclipse.egit.gitflow.op.AbstractGitFlowOperationTest)1 FeatureNameValidator (org.eclipse.egit.gitflow.ui.internal.validation.FeatureNameValidator)1 InputDialog (org.eclipse.jface.dialogs.InputDialog)1 Ref (org.eclipse.jgit.lib.Ref)1 RevCommit (org.eclipse.jgit.revwalk.RevCommit)1