Make RepositoryState.REBASING_MERGE reachable again.
If a non interactive rebase is launched, stopping after a conflict should set the repository state to RepositoryState.REBASING_MERGE instead of RepositoryState.REBASING_INTERACTIVE. Bug: 452623 Change-Id: Ie885aab6d71dabd158a718af0d14fff643c9b850 Also-by: Arthur Daussy <arthur.daussy@obeo.fr> Signed-off-by: Laurent Delaigue <laurent.delaigue@obeo.fr> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
2bd3556e7e
commit
a5c40a3862
|
@ -180,7 +180,7 @@ public void testPullConflict() throws Exception {
|
||||||
+ remoteUri
|
+ remoteUri
|
||||||
+ "\nSource change\n=======\nTarget change\n>>>>>>> 42453fd Target change in local\n";
|
+ "\nSource change\n=======\nTarget change\n>>>>>>> 42453fd Target change in local\n";
|
||||||
assertFileContentsEqual(targetFile, result);
|
assertFileContentsEqual(targetFile, result);
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE, target
|
assertEquals(RepositoryState.REBASING_MERGE, target
|
||||||
.getRepository().getRepositoryState());
|
.getRepository().getRepositoryState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ public void testPullLocalConflict() throws Exception {
|
||||||
String result = "<<<<<<< Upstream, based on branch 'master' of local repository\n"
|
String result = "<<<<<<< Upstream, based on branch 'master' of local repository\n"
|
||||||
+ "Master change\n=======\nSlave change\n>>>>>>> 4049c9e Source change in based on master\n";
|
+ "Master change\n=======\nSlave change\n>>>>>>> 4049c9e Source change in based on master\n";
|
||||||
assertFileContentsEqual(targetFile, result);
|
assertFileContentsEqual(targetFile, result);
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE, target
|
assertEquals(RepositoryState.REBASING_MERGE, target
|
||||||
.getRepository().getRepositoryState());
|
.getRepository().getRepositoryState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -824,7 +824,7 @@ public void testStopOnConflict() throws Exception {
|
||||||
"<<<<<<< Upstream, based on master\n1master\n=======\n1topic",
|
"<<<<<<< Upstream, based on master\n1master\n=======\n1topic",
|
||||||
">>>>>>> e0d1dea change file1 in topic\n2\n3\ntopic4");
|
">>>>>>> e0d1dea change file1 in topic\n2\n3\ntopic4");
|
||||||
|
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE, db
|
assertEquals(RepositoryState.REBASING_MERGE, db
|
||||||
.getRepositoryState());
|
.getRepositoryState());
|
||||||
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
||||||
// the first one should be included, so we should have left two picks in
|
// the first one should be included, so we should have left two picks in
|
||||||
|
@ -887,7 +887,7 @@ public void testStopOnConflictAndAbortWithDetachedHEAD() throws Exception {
|
||||||
"<<<<<<< Upstream, based on master\n1master\n=======\n1topic",
|
"<<<<<<< Upstream, based on master\n1master\n=======\n1topic",
|
||||||
">>>>>>> e0d1dea change file1 in topic\n2\n3\ntopic4");
|
">>>>>>> e0d1dea change file1 in topic\n2\n3\ntopic4");
|
||||||
|
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE,
|
assertEquals(RepositoryState.REBASING_MERGE,
|
||||||
db.getRepositoryState());
|
db.getRepositoryState());
|
||||||
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
||||||
// the first one should be included, so we should have left two picks in
|
// the first one should be included, so we should have left two picks in
|
||||||
|
@ -1009,7 +1009,7 @@ public void testStopOnConflictAndContinueWithNoDeltaToMaster()
|
||||||
res = git.rebase().setOperation(Operation.CONTINUE).call();
|
res = git.rebase().setOperation(Operation.CONTINUE).call();
|
||||||
assertNotNull(res);
|
assertNotNull(res);
|
||||||
assertEquals(Status.NOTHING_TO_COMMIT, res.getStatus());
|
assertEquals(Status.NOTHING_TO_COMMIT, res.getStatus());
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE,
|
assertEquals(RepositoryState.REBASING_MERGE,
|
||||||
db.getRepositoryState());
|
db.getRepositoryState());
|
||||||
|
|
||||||
git.rebase().setOperation(Operation.SKIP).call();
|
git.rebase().setOperation(Operation.SKIP).call();
|
||||||
|
@ -1300,7 +1300,7 @@ public void testStopOnConflictCommitAndContinue() throws Exception {
|
||||||
// user can decide what to do. if he accidentally committed, reset soft,
|
// user can decide what to do. if he accidentally committed, reset soft,
|
||||||
// and continue, if he really has nothing to commit, skip.
|
// and continue, if he really has nothing to commit, skip.
|
||||||
assertEquals(Status.NOTHING_TO_COMMIT, res.getStatus());
|
assertEquals(Status.NOTHING_TO_COMMIT, res.getStatus());
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE,
|
assertEquals(RepositoryState.REBASING_MERGE,
|
||||||
db.getRepositoryState());
|
db.getRepositoryState());
|
||||||
|
|
||||||
git.rebase().setOperation(Operation.SKIP).call();
|
git.rebase().setOperation(Operation.SKIP).call();
|
||||||
|
@ -1401,7 +1401,7 @@ public void testStopOnConflictFileCreationAndDeletion() throws Exception {
|
||||||
assertEquals(Status.STOPPED, res.getStatus());
|
assertEquals(Status.STOPPED, res.getStatus());
|
||||||
assertEquals(conflicting, res.getCurrentCommit());
|
assertEquals(conflicting, res.getCurrentCommit());
|
||||||
|
|
||||||
assertEquals(RepositoryState.REBASING_INTERACTIVE, db
|
assertEquals(RepositoryState.REBASING_MERGE, db
|
||||||
.getRepositoryState());
|
.getRepositoryState());
|
||||||
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
assertTrue(new File(db.getDirectory(), "rebase-merge").exists());
|
||||||
// the first one should be included, so we should have left two picks in
|
// the first one should be included, so we should have left two picks in
|
||||||
|
|
|
@ -1088,7 +1088,9 @@ else if (!isInteractive() && walk.isMergedInto(headCommit, upstream)) {
|
||||||
rebaseState.createFile(HEAD_NAME, headName);
|
rebaseState.createFile(HEAD_NAME, headName);
|
||||||
rebaseState.createFile(ONTO, upstreamCommit.name());
|
rebaseState.createFile(ONTO, upstreamCommit.name());
|
||||||
rebaseState.createFile(ONTO_NAME, upstreamCommitName);
|
rebaseState.createFile(ONTO_NAME, upstreamCommitName);
|
||||||
|
if (isInteractive()) {
|
||||||
rebaseState.createFile(INTERACTIVE, ""); //$NON-NLS-1$
|
rebaseState.createFile(INTERACTIVE, ""); //$NON-NLS-1$
|
||||||
|
}
|
||||||
rebaseState.createFile(QUIET, ""); //$NON-NLS-1$
|
rebaseState.createFile(QUIET, ""); //$NON-NLS-1$
|
||||||
|
|
||||||
ArrayList<RebaseTodoLine> toDoSteps = new ArrayList<RebaseTodoLine>();
|
ArrayList<RebaseTodoLine> toDoSteps = new ArrayList<RebaseTodoLine>();
|
||||||
|
|
Loading…
Reference in New Issue