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.
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -378,7 +378,7 @@ public final boolean mightBeRacilyClean(Instant smudge) {
|
|||
//
|
||||
final int base = infoOffset + P_MTIME;
|
||||
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 false;
|
||||
|
|
|
@ -412,6 +412,9 @@ public long getLastModified() {
|
|||
return attributes.getLastModifiedInstant().toEpochMilli();
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 5.1.9
|
||||
*/
|
||||
@Override
|
||||
public Instant getLastModifiedInstant() {
|
||||
return attributes.getLastModifiedInstant();
|
||||
|
|
Loading…
Reference in New Issue