We had nearly ten separate functions implementing about five different ways of calling a subprocess. This series cleans it up. The aggregate diffstat looks scary, but that's mostly because these functions were called in a bajillion different places. If you choose to pull from my repository (which I highly recommend!), note that this series is built on top of the misc fixes, so you get those as well. The following changes since commit 216a1524c4acbd9952ffaeec054e30cf14dde5fc: Karl Hasselström (1): Compile regexp just once are available in the git repository at: git://repo.or.cz/stgit/kha.git run Karl Hasselström (4): Refactor output handling to break circular dependency Refactor subprocess creation Assert that the argument to Run is a sequence of strings Add optional logging of subprocess execution stgit/basedir.py | 13 +- stgit/commands/applied.py | 1 + stgit/commands/assimilate.py | 1 + stgit/commands/branch.py | 1 + stgit/commands/clean.py | 1 + stgit/commands/commit.py | 1 + stgit/commands/common.py | 1 + stgit/commands/delete.py | 1 + stgit/commands/diff.py | 1 + stgit/commands/export.py | 10 +- stgit/commands/files.py | 1 + stgit/commands/fold.py | 1 + stgit/commands/hide.py | 1 + stgit/commands/id.py | 1 + stgit/commands/imprt.py | 1 + stgit/commands/log.py | 1 + stgit/commands/mail.py | 1 + stgit/commands/patches.py | 1 + stgit/commands/pick.py | 1 + stgit/commands/pull.py | 1 + stgit/commands/push.py | 1 + stgit/commands/refresh.py | 1 + stgit/commands/rename.py | 1 + stgit/commands/series.py | 1 + stgit/commands/sync.py | 1 + stgit/commands/top.py | 1 + stgit/commands/unapplied.py | 1 + stgit/commands/uncommit.py | 1 + stgit/commands/unhide.py | 1 + stgit/config.py | 56 ++----- stgit/git.py | 331 +++++++++++++++++------------------------- stgit/gitmergeonefile.py | 21 +-- stgit/main.py | 2 +- stgit/out.py | 100 +++++++++++++ stgit/run.py | 141 ++++++++++++++++++ stgit/stack.py | 1 + stgit/utils.py | 81 +---------- 37 files changed, 436 insertions(+), 347 deletions(-) create mode 100644 stgit/out.py create mode 100644 stgit/run.py -- Karl Hasselström, kha@xxxxxxxxxxx www.treskal.com/kalle - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html