That is correct: magit has two classes of git execution, synchronous for (mostly) status updating and asynchronous for (mostly) user initiated actions. There is a somewhat confusing pull request open at
https://github.com/magit/magit/pull/516 to add a command log, but the attached patch(es) do not implement the synchronous logging needed for status updating.
I use magit to interact with
github.com/mozilla/mozilla-central, a fairly large repository, and I have several patches under development to make this more performant. I would love testers and reviewers, if people are interested. For example,
https://github.com/magit/magit/pull/636 speeds up branch-guessing significantly for me.
I also have patches in the works to
* add a mode-line indicator during refresh;
* cache frequent git invocations;
* make displaying tree-graph output in logs an option (this is very slow on large repositories);
* log git invocations, outputs, and record running times (so that we can profile magit more effectively);
* make sections not be refreshed automatically.
These almost make magit useable with mozilla-central.
Yours,
Nick Alexander