Your comments

Because then users will blame the tool for becoming slow.

In the installation directory (at least on Windows) you can find a smartgit.vmoptions.

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.