The way the progressive batch processing is handled make it extremely difficult to run the batch api outside the drupal http environment. Being able to use a different progress bar or in the case of shell no progress bar is impossible to use in the progressive mode.
In the case of the update.sh (Yet to be submitted) because of the use of the drupal_goto() using progressive mode is impossible as everything is needed to be run inside a php execution. Or if you are to embed the progress bar inside another update system it is not possible to replace the progressive implementation.
Basically what this patch does it allow the passing of a different callback instead of drupal_goto() to use so a different progressive system can be used.
So in the case of my update.sh I can pass a different callback to process the progressive batch API. This means that update.sh can progressively display the progress on the shell without having to do a whole heap and crap stuff.
Passed: 13653 passes, 0 fails, 0 exceptions