You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2011/09/16 15:33:30 UTC
svn commit: r1171547 - in
/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk:
MicroKernelImpl.java store/CommitBuilder.java
Author: stefan
Date: Fri Sep 16 13:33:30 2011
New Revision: 1171547
URL: http://svn.apache.org/viewvc?rev=1171547&view=rev
Log:
avoid bumping head revision for 'empty' commits
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java?rev=1171547&r1=1171546&r2=1171547&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java Fri Sep 16 13:33:30 2011
@@ -407,6 +407,10 @@ public class MicroKernelImpl implements
}
}
String newHead = cb.doCommit();
+ if (newHead.equals(revisionId)) {
+ // 'empty' commit
+ return newHead;
+ }
gate.commit(newHead);
return newHead;
} catch (Exception e) {
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java?rev=1171547&r1=1171546&r2=1171547&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java Fri Sep 16 13:33:30 2011
@@ -198,6 +198,11 @@ public class CommitBuilder {
baseRevId = currentHead;
}
+ if (rep.getCommit(currentHead).getRootNodeId().equals(rootNodeId)) {
+ // the commit didn't cause any changes,
+ // no need to create new commit object/update head revision
+ return currentHead;
+ }
MutableCommit newCommit = new MutableCommit();
newCommit.setParentId(baseRevId);
newCommit.setCommitTS(System.currentTimeMillis());