Use branch tip, not newest date to choose 'latest' in BranchList._mksubs().
Use branch tip, not newest date to choose 'latest' in BranchList._mksubs().

Previously 'latest' was chosen in the VFS by taking max(revs), which
would pick the most recent commit by rev_list date, which only has a
resolution of integer seconds.

That approach could fail if two commits (i.e. two "bup save" runs)
executed close enough together that both commits ended up with the
same rev_list date.  In that case, the sort order was determined by
the commit hash, which is effectively random.

Since I couldn't think of a case where you wouldn't want 'latest' to
refer to the most recent commit (save) to the relevant branch,
'latest' is now computed as revs[0], i.e. the first commit returned by
rev_list.

Thanks to Zoran and Gabriel for some helpful sanity checks while
tracking this down.

Signed-off-by: Rob Browning <1dc5917c2adeeba13d1ef33dbb40691a1b67cc65@defaultvalue.org>

tjanez/bup,tjanez/bup,gevaerts/bup,apenwarr/bup,jbaber/bup,mhoeher/bup,ToxicFrog/bup,mhoeher/bup,apenwarr/bup,gevaerts/bup,mhoeher/bup,jbaber/bup,apenwarr/bup,mhoeher/bup,pombredanne/bup,jbaber/bup,pombredanne/bup,mhoeher/bup,tjanez/bup,apenwarr/bup,tjanez/bup,pombredanne/bup,pombredanne/bup,gevaerts/bup,ToxicFrog/bup,gevaerts/bup,ToxicFrog/bup,tjanez/bup,gevaerts/bup,ToxicFrog/bup,jbaber/bup,jbaber/bup,mhoeher/bup,jbaber/bup,pombredanne/bup,ToxicFrog/bup,tjanez/bup,pombredanne/bup