summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Milanesio <luca.milanesio@gmail.com>2019-02-23 21:57:09 +0000
committerMatthias Sohn <matthias.sohn@sap.com>2019-03-03 17:52:33 +0100
commit436c99ce5946f31f06b8704b1fd33136f39dc814 (patch)
tree279fe3b86af8b5757dd41626dd98949d5eb8529a
parent9665d86ba1dd2937ca26f6aba63bb16aa277f888 (diff)
downloadjgit-436c99ce5946f31f06b8704b1fd33136f39dc814.tar.gz
jgit-436c99ce5946f31f06b8704b1fd33136f39dc814.zip
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>
-rw-r--r--org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java11
2 files changed, 7 insertions, 6 deletions
diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
index 8ecc5fd698..c535bf50f3 100644
--- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
+++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
@@ -509,7 +509,7 @@ openingConnection=Opening connection
operationCanceled=Operation {0} was canceled
outputHasAlreadyBeenStarted=Output has already been started.
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
packDoesNotMatchIndex=Pack {0} does not match index
packedRefsHandleIsStale=packed-refs handle is stale, {0}. retry
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
index 71f64ae11f..e85d85cbdc 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
@@ -187,7 +187,8 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
} else if (!Arrays.equals(packChecksum, idx.packChecksum)) {
throw new PackMismatchException(MessageFormat.format(
JGitText.get().packChecksumMismatch,
- packFile.getPath()));
+ packFile.getPath(), packChecksum,
+ idx.packChecksum));
}
loadedIdx = idx;
} catch (InterruptedIOException e) {
@@ -753,10 +754,10 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
fd.readFully(buf, 0, 20);
if (!Arrays.equals(buf, packChecksum)) {
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()));
}
}