This is something which has bothered me for a while:

"A", "B" and "C" check out a repo.  "B" and "C" make changes.  "B" checks in on a new branch, "C" checks in on the original branch.  Now, when "A" does <tt>fossil update</tt>, he gets a nice informational message about the two descendant branches, but fossil does not get anything unless told which branch to get.

My suggestion is that <tt>fossil update</tt> should <i>always</i> get the branch it was on originally unless told otherwise.  It should also inform the user if there are new branches in the meantime, but the existence of new branches should be informative and not an obstacle.