Currently the head revision in the sync collection is also updated for branch commits. This makes some commands more complicated (e.g. FetchHeadRevisionIdAction must check for branch commits). With the current implementation it may also happen that a commit is exposed, which is later marked as failed. This happens when the head revision is set to a higher value (because of a branch commit) than the current head revision of the trunk. Now it may happen that a commit with revision R to trunk with head-of-trunk < R < head-of-branch is exposed as valid commit for some time but may later marked failed.