Libzypp/Refactoring/Commit

From openSUSE

Commit requirements

Extensible strategies both for PoolItem and Pool

This means the program should be able to create a commit strategy based on Pool strategies (how to iterate the items, order, filtering multiple items) and strategies based on individual PoolItems (like logging each one, installing it, insert a log into the transaction log for rollback).

Testeable

Commit should be usable without any ZYpp static context.

with Extensible strategies the following features should be easy to implement:

  • Commit that only downloads to a directory
  • Commit that logs in a file or a journal for rollback