Hey guys,
I would *love* it if someone could take this patch and run with it. I really just wanted to hash out a possible fix, but unfortunately it isn't easy for two reasons: our code structure is a bit rough, and we really don't have a hard-and-fast set of rules for continuing or failing immediately. If anyone wants to attack the problem further, you are more than welcome. Although this patch doesn't cause any pactests to fail, I'm a bit wary of applying it as-is, especially to maint.
-Dan
1. The first part of the patch is just a code clean-up, right? 2. The add_commit part: There is something I don't understand: We have trans->state and handle->trans->state. This is intentional? Probably you wanted to set handle->trans->state. (handle->trans != trans in case of sync transaction.) Btw, our transaction system is a nightmare, we should have *one* transaction at every moment... I don't know if this immediate stop is better. If we choose this way, we should give a BIG warning: Some packages were installed some packages were not. So your system probably became inconsistent (broken dependencies etc.) Bye P.S.: Transaction rollback would be the ideal solution. (Which is not an easy game.)