Refactor transactions
Instead of creating one transaction for all operations and calling a method on that transaction to add installs or removes, the operation methods are constructors for transactions, and a transaction represents the temprorary state on the filesystem of an operation on an individual package or pair of packages. Probably some convenience methods should be implemented for Vec<Transaction> for easy comitting, but the idea is to expose the stateful nature of the transactions to library users so that they can do all the expensive parts of a large operation and commit all package changes at once.
Loading
Please register or sign in to comment