]> source.dussan.org Git - jgit.git/commit
Define MonotonicClock interface for advanced timestamps 06/85106/9
authorShawn Pearce <spearce@spearce.org>
Wed, 16 Nov 2016 01:34:07 +0000 (17:34 -0800)
committerShawn Pearce <spearce@spearce.org>
Mon, 21 Nov 2016 19:34:14 +0000 (11:34 -0800)
commit81f9c18433f9d53a64498b07c90c4fc73654d942
treea664218e45862de9de923e16875a6b19764b867a
parent608e31126e3ef0ff4d02e048dc5eefdb28f0b7c4
Define MonotonicClock interface for advanced timestamps

MonotonicClock can be implemented to provide more certainity about
time than the standard System.currentTimeMillis() can provide. This
can be used by classes such as PersonIdent and Ketch to rely on
more certainity about time moving in a strictly ascending order.

Gerrit Code Review can also leverage this interface through its
embedding of JGit and use MonotonicClock and ProposedTimestamp to
provide stronger assurance that NoteDb time is moving forward.

Change-Id: I1a3cbd49a39b150a0d49b36d572da113ca83a786
20 files changed:
org.eclipse.jgit.junit/META-INF/MANIFEST.MF
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/time/MonotonicFakeClock.java [new file with mode: 0644]
org.eclipse.jgit/META-INF/MANIFEST.MF
org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/ElectionRound.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/KetchSystem.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/LocalReplica.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/Proposal.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/ProposalRound.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/Round.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/TimeIsUncertainException.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/lib/BatchRefUpdate.java
org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java
org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java
org.eclipse.jgit/src/org/eclipse/jgit/util/time/MonotonicClock.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/util/time/MonotonicSystemClock.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/util/time/ProposedTimestamp.java [new file with mode: 0644]