If a pack isn't found on disk remove it from pack list
If accessing a pack throws FileNotFoundException the pack was deleted and we need to remove it from the pack list. This can be caused e.g. by git gc. Change-Id: I5d10f87f364dadbbdbfb61b6b2cbdee9c7457f3d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
66cbf9255c
commit
f5936405a3
|
@ -392,6 +392,7 @@ packObjectCountMismatch=Pack object count mismatch: pack {0} index {1}: {2}
|
|||
packRefs=Pack refs
|
||||
packSizeNotSetYet=Pack size not yet set since it has not yet been received
|
||||
packTooLargeForIndexVersion1=Pack too large for index version 1
|
||||
packWasDeleted=Pack file {0} was deleted, removing it from pack list
|
||||
packWriterStatistics=Total {0,number,#0} (delta {1,number,#0}), reused {2,number,#0} (delta {3,number,#0})
|
||||
panicCantRenameIndexFile=Panic: index file {0} must be renamed to replace {1}; until then repository is corrupt
|
||||
patchApplyException=Cannot apply: {0}
|
||||
|
|
|
@ -451,6 +451,7 @@ public static JGitText get() {
|
|||
/***/ public String packRefs;
|
||||
/***/ public String packSizeNotSetYet;
|
||||
/***/ public String packTooLargeForIndexVersion1;
|
||||
/***/ public String packWasDeleted;
|
||||
/***/ public String packWriterStatistics;
|
||||
/***/ public String panicCantRenameIndexFile;
|
||||
/***/ public String patchApplyException;
|
||||
|
|
|
@ -557,6 +557,9 @@ private void handlePackError(IOException e, PackFile p) {
|
|||
tmpl = JGitText.get().corruptPack;
|
||||
// Assume the pack is corrupted, and remove it from the list.
|
||||
removePack(p);
|
||||
} else if (e instanceof FileNotFoundException) {
|
||||
tmpl = JGitText.get().packWasDeleted;
|
||||
removePack(p);
|
||||
} else {
|
||||
tmpl = JGitText.get().exceptionWhileReadingPack;
|
||||
// Don't remove the pack from the list, as the error may be
|
||||
|
|
Loading…
Reference in New Issue