convert: don't drop commits that are empty in the source when using --filemap
I ran into this when using `hg lfconvert --to-normal` (which uses the filemap
class internally), and saw that commits with nothing but a branch change were
dropped. We could put in an option that only lfconvert uses internally. But
silently dropping anything other than a commit where all changes were excluded
seems unintended. For example, there's a message in mercurial_sink.putcommit()
if it drops an empty commit. (And the reason that isn't kicking in here is
because lfconvert isn't passing --filemap, so the self.filemapmode conditional
there is always False.)
The naive change of `return not files` broke test-convert-filemap.t, so this is
a little more elaborate than needed for converting from largefiles.
$ rm -rf a
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Am0
adding a
$ hg tag t1 # 1
$ hg tag --remove t1 # 2
$ hg co 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg tag -f -r0 t1
$ hg tags
tip 3:a49829c4fc11
t1 0:f7b1eb17ad24
$ cd ..