This file contains a fork of the Drupal Batch API that has been drastically
simplified and tailored to Drush's unique use case.

The existing API is very targeted towards environments that are web accessible,
and would frequently attempt to redirect the user which would result in the
drush process being completely destroyed with no hope of recovery.

While the original API does offer a 'non progressive' mode which simply
calls each operation in sequence within the current process, in most
implementations (D6), it would still attempt to redirect
unless very specific conditions were met.

When operating in 'non progressive' mode, Drush would experience the problems
that the API was written to solve in the first place, specifically that processes
would exceed the available memory and exit with an error.

Each major release of Drupal has also had slightly different implementations
of the batch API, and this provides a uniform interface to all of these
implementations.