Do not cherry-pick or revert commit more than once
Instead just return success. In the case that no commit has been cherry-picked or reverted, just return the old HEAD. Bug: 333814 Change-Id: I67db2b77b52c43932436d22a8daa5a6556423484 Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
This commit is contained in:
parent
7cd812940d
commit
2058f9272b
|
@ -114,6 +114,8 @@ public RevCommit call() throws GitAPIException {
|
|||
JGitText.get().commitOnRepoWithoutHEADCurrentlyNotSupported);
|
||||
RevCommit headCommit = revWalk.parseCommit(headRef.getObjectId());
|
||||
|
||||
newHead = headCommit;
|
||||
|
||||
// loop through all refs to be cherry-picked
|
||||
for (Ref src : commits) {
|
||||
// get the commit to be cherry-picked
|
||||
|
@ -137,6 +139,9 @@ public RevCommit call() throws GitAPIException {
|
|||
merger.setBase(srcParent.getTree());
|
||||
|
||||
if (merger.merge(headCommit, srcCommit)) {
|
||||
if (AnyObjectId.equals(headCommit.getTree().getId(), merger
|
||||
.getResultTreeId()))
|
||||
continue;
|
||||
DirCacheCheckout dco = new DirCacheCheckout(repo,
|
||||
headCommit.getTree(), repo.lockDirCache(),
|
||||
merger.getResultTreeId());
|
||||
|
|
|
@ -113,6 +113,8 @@ public RevCommit call() throws GitAPIException {
|
|||
JGitText.get().commitOnRepoWithoutHEADCurrentlyNotSupported);
|
||||
RevCommit headCommit = revWalk.parseCommit(headRef.getObjectId());
|
||||
|
||||
newHead = headCommit;
|
||||
|
||||
// loop through all refs to be reverted
|
||||
for (Ref src : commits) {
|
||||
// get the commit to be reverted
|
||||
|
@ -136,6 +138,9 @@ public RevCommit call() throws GitAPIException {
|
|||
merger.setBase(srcCommit.getTree());
|
||||
|
||||
if (merger.merge(headCommit, srcParent)) {
|
||||
if (AnyObjectId.equals(headCommit.getTree().getId(), merger
|
||||
.getResultTreeId()))
|
||||
continue;
|
||||
DirCacheCheckout dco = new DirCacheCheckout(repo,
|
||||
headCommit.getTree(), repo.lockDirCache(),
|
||||
merger.getResultTreeId());
|
||||
|
|
Loading…
Reference in New Issue