Generalized Merge Failure Handling
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Tarmac |
Fix Released
|
High
|
dobey |
Bug Description
Currently, there are several cases where a merge can fail, due to being a pointless merge, having additional revisions after the approved revision, test failures, etc... These failures can also be extended by adding more plug-ins that fail. It would be nice if
there was a general exception class which all these failures inherited from, that had some attributes, such as the comment to add in Launchpad on the merge proposal. This way, any new plug-ins could simply create a new exception class, or use an existing one, and simply set the appropriate attributes in the exception's creation.
These exceptions could all be handled by checking that the exception type is a subclass of the generalized exception. This would simplify the handler code, and the code that needs to raise the exceptions.
I'll have a branch which does this, sometime today.
Related branches
- Paul Hummer: Pending requested
-
Diff: 347 lines (+111/-59)7 files modifieddocs/writingplugins.txt (+45/-0)
tarmac/bin/commands.py (+27/-39)
tarmac/branch.py (+10/-4)
tarmac/exceptions.py (+10/-2)
tarmac/plugins/command.py (+9/-7)
tarmac/plugins/tests/test_votes.py (+2/-2)
tarmac/plugins/votes.py (+8/-5)
Changed in tarmac: | |
status: | In Progress → Fix Committed |
Changed in tarmac: | |
status: | Fix Committed → Fix Released |