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.
|
// 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
|
||||||
|
@ -666,12 +665,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
|
||||||
|
@ -683,8 +680,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