Quellcode durchsuchen

PackFile: report correct message for checksum mismatch

When the packfile checksum does not match the expected one
report the correct checksum error instead of reporting that
the number of objects is incorrect.

Change-Id: I040f36dacc4152ae05453e7acbf8dfccceb46e0d
Signed-off-by: Luca Milanesio <luca.milanesio@gmail.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
(cherry picked from commit 436c99ce59)
tags/v5.3.0.201903061415-rc1
Luca Milanesio vor 5 Jahren
Ursprung
Commit
daefa69502

+ 1
- 1
org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties Datei anzeigen

operationCanceled=Operation {0} was canceled operationCanceled=Operation {0} was canceled
outputHasAlreadyBeenStarted=Output has already been started. outputHasAlreadyBeenStarted=Output has already been started.
overflowedReftableBlock=Overflowed reftable block overflowedReftableBlock=Overflowed reftable block
packChecksumMismatch=Pack checksum mismatch detected for pack file {0}
packChecksumMismatch=Pack checksum mismatch detected for pack file {0}: .pack has {1} whilst .idx has {2}
packCorruptedWhileWritingToFilesystem=Pack corrupted while writing to filesystem packCorruptedWhileWritingToFilesystem=Pack corrupted while writing to filesystem
packDoesNotMatchIndex=Pack {0} does not match index packDoesNotMatchIndex=Pack {0} does not match index
packedRefsHandleIsStale=packed-refs handle is stale, {0}. retry packedRefsHandleIsStale=packed-refs handle is stale, {0}. retry

+ 6
- 5
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java Datei anzeigen

} else if (!Arrays.equals(packChecksum, idx.packChecksum)) { } else if (!Arrays.equals(packChecksum, idx.packChecksum)) {
throw new PackMismatchException(MessageFormat.format( throw new PackMismatchException(MessageFormat.format(
JGitText.get().packChecksumMismatch, JGitText.get().packChecksumMismatch,
packFile.getPath()));
packFile.getPath(), packChecksum,
idx.packChecksum));
} }
loadedIdx = idx; loadedIdx = idx;
} catch (InterruptedIOException e) { } catch (InterruptedIOException e) {
fd.readFully(buf, 0, 20); fd.readFully(buf, 0, 20);
if (!Arrays.equals(buf, packChecksum)) { if (!Arrays.equals(buf, packChecksum)) {
throw new PackMismatchException(MessageFormat.format( throw new PackMismatchException(MessageFormat.format(
JGitText.get().packObjectCountMismatch
, ObjectId.fromRaw(buf).name()
, ObjectId.fromRaw(idx.packChecksum).name()
, getPackFile()));
JGitText.get().packChecksumMismatch,
getPackFile(),
ObjectId.fromRaw(buf).name(),
ObjectId.fromRaw(idx.packChecksum).name()));
} }
} }



Laden…
Abbrechen
Speichern