Nguyen Thai Ngoc Duy [off-list ref] writes:
I need someone to enlighten me again. Why do we need ":" for "no
pathspec" when we can simply specify no pathspec for the same effect?
Futureproofing. Currently "log" family defaults to "tree-wide" when there
is no pathspec, but imagine what happens when a command like "log" that
knows how to simplify history defaults to "current directory". You cannot
override it by "git that-cmd :/", which would give it a single tree-wide
pathspec, not "no pathspec". It will still cull empty commits.