diff options
author | Dariusz Luksza <dariusz.luksza@gmail.com> | 2023-11-20 11:00:51 +0000 |
---|---|---|
committer | Dariusz Luksza <dariusz.luksza@gmail.com> | 2024-01-29 09:33:36 +0000 |
commit | ca54c517647957685aa3401e097871aaebf250e3 (patch) | |
tree | 38702b3562dfab935f7a62ae440e71e033d952d5 /org.eclipse.jgit.ssh.apache.test | |
parent | 60af389b49fe1d05753a4a2b9146d1b925c71e23 (diff) | |
download | jgit-ca54c517647957685aa3401e097871aaebf250e3.tar.gz jgit-ca54c517647957685aa3401e097871aaebf250e3.zip |
Fix handling of missing pack index file
As demonstrated in
`UploadPackHandleDeletedPackFile.testV2IdxFileRemovedDuringUploadPack`
the fetch operation will fail when the pack index file is removed.
This is due to a wrapping of `FileNotFoundException` (which is a
subclass of `IOExeption`) in an `IOException` at PackIndex L#68. This
is then changing the behaviour of error handling in
`Pack.file.getBitmapIndex()` where the `FileNotFoundException` is
swallowed and allows the fetch process to continue. With FNFE being
wrapped in IOE, this blows up and breaks the fetch operation.
Simply rethrowing `FileNotFoundException` from `PackFile.open()` fixes
the broken fetch operation. This will also mark the whole pack as
invalid in the `IOException` handler in `Pack.idx()` method.
Change-Id: Ibe321aa1af21d26500e1cb2eb3464cc99a6dbc62
Signed-off-by: Dariusz Luksza <dariusz.luksza@gmail.com>
(cherry picked from commit e0910eda3ea1c474b4cf9b00ac698f739a982f8c)
Diffstat (limited to 'org.eclipse.jgit.ssh.apache.test')
0 files changed, 0 insertions, 0 deletions