Merge branch 'stable-5.3' into stable-5.4
* stable-5.3: Prepare 5.3.4-SNAPSHOT builds JGit v5.3.3.201908210735-r 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: Ic3c8d3adf522b73f87c713538a14697eb690f508 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
commit
5c93bbd344
|
@ -657,8 +657,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
|
||||
|
@ -666,12 +665,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
|
||||
|
@ -683,8 +680,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