Your comments

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.

There is no way to determine from the locally available information whether a tag is local only or exists in a remote as well.

Changing the default behavior in an application with >100k business users would be a bad choice.