i was wondering why "stg push" takes so long to decide not to use fast-forward.
it turns out that when forward_patches() has not been able to fast- forward any patches, it still does a git.switch() and rewrites the unapplied file even though nothing has changed. on a big working directory, this 'no-op' can take a while.
following is a simple patch that addresses the problem. does this appear to be a reasonable optimization (in terms of correctness)?
-- Chuck Lever -- corporate: <cel at netapp dot com> personal: <chucklever at bigfoot dot com>