summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/src
diff options
context:
space:
mode:
authorHiroshi Tomita <tomykaira@gmail.com>2013-07-01 01:07:10 +0900
committerHiroshi Tomita <tomykaira@gmail.com>2013-07-01 22:37:48 +0900
commit6845bb5b3e46785f940d1830e08645711ffc1273 (patch)
treead3506bbd592d35e9f234d2dfb0485395be6c316 /org.eclipse.jgit/src
parenta2e5653d5af56e190102624159d734efd0a4f4c0 (diff)
downloadjgit-6845bb5b3e46785f940d1830e08645711ffc1273.tar.gz
jgit-6845bb5b3e46785f940d1830e08645711ffc1273.zip
Update HEAD in cherry-picking several commits
Without update, index is wrongly detected to be dirty when picking the second commit. Change-Id: Idf47ecb33e8bd38340d760806d629f67be92d2d5 Signed-off-by: Hiroshi Tomita <tomykaira@gmail.com> Bug: 411963
Diffstat (limited to 'org.eclipse.jgit/src')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java
index d5d9559296..2ebff14f9c 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java
@@ -122,9 +122,8 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> {
if (headRef == null)
throw new NoHeadException(
JGitText.get().commitOnRepoWithoutHEADCurrentlyNotSupported);
- RevCommit headCommit = revWalk.parseCommit(headRef.getObjectId());
- newHead = headCommit;
+ newHead = revWalk.parseCommit(headRef.getObjectId());
// loop through all refs to be cherry-picked
for (Ref src : commits) {
@@ -156,12 +155,12 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> {
merger.setBase(srcParent.getTree());
merger.setCommitNames(new String[] { "BASE", ourName,
cherryPickName });
- if (merger.merge(headCommit, srcCommit)) {
- if (AnyObjectId.equals(headCommit.getTree().getId(), merger
+ if (merger.merge(newHead, srcCommit)) {
+ if (AnyObjectId.equals(newHead.getTree().getId(), merger
.getResultTreeId()))
continue;
DirCacheCheckout dco = new DirCacheCheckout(repo,
- headCommit.getTree(), repo.lockDirCache(),
+ newHead.getTree(), repo.lockDirCache(),
merger.getResultTreeId());
dco.setFailOnConflict(true);
dco.checkout();