graceful ctrl c interrupt handling - #688
Conversation
|
Thanks for the contribution! Before we can review this PR, we need to clarify a licensing point. To meet the needs of our government partners, we’re considering moving to a dual-license model (AGPL-3.0 / Apache-2.0) in the future. Because of that, we need confirmation that your contribution can be relicensed under Apache 2.0 as part of this dual-license setup if/when it happens. If that works for you, let us know and we'll proceed with review and merging. If not, that's totally fine, we'll close the PR. Thanks for understanding. |
|
Hi @AnthonyPFAVG, we've made it very easy to sign out Contributor License Agreement now. If you feel comfortable with that, we'll be happy to finally review and merge your PR. In any case, thanks for your interest in the project! |
|
|
Description (e.g. "Related to ...", etc.)
This PR adds graceful SIGINT (Ctrl+C) handling to update_repository. Updates can be interrupted safely without leaving repositories in a half-way/undefined state. Previously, a KeyboardInterrupt raised during update execution could cause undefined behavior. Now, the update_respository() function catches the interrupt, logs it, and raises an UpdateFailedError.
A new unit test, test_update_repository_interrupts_gracefully, simulates a (Ctrl+C) interrupt to verify this behavior.
Code review checklist (for code reviewer to complete)