Hm, the problem here is that, when I don't prepend a blank here, the default format would have to look like this (see GitLightweightDecorator):

PROJECT_FORMAT_DEFAULT ="{dirty:>} {name} [{repository} {branch} {branch_status}]";

(Notice the space between {branch} and {branch_status}.)

With this default format, there would always be a blank, even if the current branch isn't different from the remote tracking branch. It would then look like this:

project [repo branch ]

Is that acceptable? Or is there a way to avoid this?