Your comments

In Git a branch is nothing else than a named pointer to a commit. The commits themselves don't have any branch information. With that information how do you think this request could be implemented?

Beside that, SmartGit always lays out the log history structure starting from the top. Hence the top-most visible commit is always left-most. This is a rather complex algorithm to keep the width as narrow as possible even for large and complex repositories.

Local | Toggle "Assume Unchanged" and Local | Toggle "Skip Worktree" already do what you want.

OK, then I change this topic to be Mercurial-specific.

This is no purely local operation and hence would take a significant time.

Just clone the repository without submodules. Then you can initialize them selectively.

This could take some time and the refresh performance would become worse.