Fix deprecation in DirCache caused by Instant based DirCacheEntry

Replace the two int variables smudge_s and smudge_ns by an Instant and
use the new method DirCacheEntry.mightBeRacilyClean(Instant).

Change-Id: Id70adbb0856a64909617acf65da1bae8e2ae934a
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Michael Keppler 2019-08-20 16:09:12 +02:00 committed by Matthias Sohn
parent 86a567f615
commit 6cb21049d7
1 changed files with 5 additions and 7 deletions

View File

@ -671,8 +671,7 @@ void writeTo(File dir, OutputStream os) throws IOException {
// Write the individual file entries.
final int smudge_s;
final int smudge_ns;
Instant smudge;
if (myLock != null) {
// For new files we need to smudge the index entry
// if they have been modified "now". Ideally we'd
@ -680,12 +679,10 @@ void writeTo(File dir, OutputStream os) throws IOException {
// so we use the current timestamp as a approximation.
myLock.createCommitSnapshot();
snapshot = myLock.getCommitSnapshot();
smudge_s = (int) (snapshot.lastModifiedInstant().getEpochSecond());
smudge_ns = snapshot.lastModifiedInstant().getNano();
smudge = snapshot.lastModifiedInstant();
} else {
// Used in unit tests only
smudge_ns = 0;
smudge_s = 0;
smudge = Instant.EPOCH;
}
// Check if tree is non-null here since calling updateSmudgedEntries
@ -697,8 +694,9 @@ void writeTo(File dir, OutputStream os) throws IOException {
for (int i = 0; i < entryCnt; i++) {
final DirCacheEntry e = sortedEntries[i];
if (e.mightBeRacilyClean(smudge_s, smudge_ns))
if (e.mightBeRacilyClean(smudge)) {
e.smudgeRacilyClean();
}
e.write(dos);
}