Skip to content

graceful ctrl c interrupt handling#688

Open
AnthonyPFAVG wants to merge 1 commit intoopenlawlibrary:masterfrom
AnthonyPFAVG:graceful-update-interrupt
Open

graceful ctrl c interrupt handling#688
AnthonyPFAVG wants to merge 1 commit intoopenlawlibrary:masterfrom
AnthonyPFAVG:graceful-update-interrupt

Conversation

@AnthonyPFAVG
Copy link
Copy Markdown

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)

  • Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
  • Title summarizes what is changing
  • Commit messages are meaningful (see this for details)
  • Tests have been included and/or updated, as appropriate
  • Docstrings have been included and/or updated, as appropriate
  • Changelog has been updated, as needed (see CHANGELOG.md)

@n-dusan
Copy link
Copy Markdown
Contributor

n-dusan commented Dec 22, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants