Merge branch 'stable-5.1' into stable-5.2
* stable-5.1: Add missing @since tag on FileTreeIterator#getLastModifiedInstant Prepare 5.1.10-SNAPSHOT builds JGit v5.1.9.201908210455-r Avoid sign extension when comparing mtime with Instant#getEpochSecond Fix deprecation in DirCache caused by Instant based DirCacheEntry Change-Id: Id824c0b8b14dad5947ae9da1f90c3471e07b400f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
commit
7ac3a63e7f
|
@ -671,8 +671,7 @@ void writeTo(File dir, OutputStream os) throws IOException {
|
||||||
|
|
||||||
// Write the individual file entries.
|
// Write the individual file entries.
|
||||||
|
|
||||||
final int smudge_s;
|
Instant smudge;
|
||||||
final int smudge_ns;
|
|
||||||
if (myLock != null) {
|
if (myLock != null) {
|
||||||
// For new files we need to smudge the index entry
|
// For new files we need to smudge the index entry
|
||||||
// if they have been modified "now". Ideally we'd
|
// 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.
|
// so we use the current timestamp as a approximation.
|
||||||
myLock.createCommitSnapshot();
|
myLock.createCommitSnapshot();
|
||||||
snapshot = myLock.getCommitSnapshot();
|
snapshot = myLock.getCommitSnapshot();
|
||||||
smudge_s = (int) (snapshot.lastModifiedInstant().getEpochSecond());
|
smudge = snapshot.lastModifiedInstant();
|
||||||
smudge_ns = snapshot.lastModifiedInstant().getNano();
|
|
||||||
} else {
|
} else {
|
||||||
// Used in unit tests only
|
// Used in unit tests only
|
||||||
smudge_ns = 0;
|
smudge = Instant.EPOCH;
|
||||||
smudge_s = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if tree is non-null here since calling updateSmudgedEntries
|
// 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++) {
|
for (int i = 0; i < entryCnt; i++) {
|
||||||
final DirCacheEntry e = sortedEntries[i];
|
final DirCacheEntry e = sortedEntries[i];
|
||||||
if (e.mightBeRacilyClean(smudge_s, smudge_ns))
|
if (e.mightBeRacilyClean(smudge)) {
|
||||||
e.smudgeRacilyClean();
|
e.smudgeRacilyClean();
|
||||||
|
}
|
||||||
e.write(dos);
|
e.write(dos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -378,7 +378,7 @@ public final boolean mightBeRacilyClean(Instant smudge) {
|
||||||
//
|
//
|
||||||
final int base = infoOffset + P_MTIME;
|
final int base = infoOffset + P_MTIME;
|
||||||
final int mtime = NB.decodeInt32(info, base);
|
final int mtime = NB.decodeInt32(info, base);
|
||||||
if (smudge.getEpochSecond() == mtime) {
|
if ((int) smudge.getEpochSecond() == mtime) {
|
||||||
return smudge.getNano() <= NB.decodeInt32(info, base + 4);
|
return smudge.getNano() <= NB.decodeInt32(info, base + 4);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -412,6 +412,9 @@ public long getLastModified() {
|
||||||
return attributes.getLastModifiedInstant().toEpochMilli();
|
return attributes.getLastModifiedInstant().toEpochMilli();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since 5.1.9
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Instant getLastModifiedInstant() {
|
public Instant getLastModifiedInstant() {
|
||||||
return attributes.getLastModifiedInstant();
|
return attributes.getLastModifiedInstant();
|
||||||
|
|
Loading…
Reference in New Issue