git: correctly handle "nothing changed" commits
I guess localrepo.commit() actually returns an Optional[node], which
is a bit of a surprise to me.
Differential Revision: https://phab.mercurial-scm.org/D8995
localrepo: use functools.wraps() in unfilteredmethod decorator
This makes it easier to figure out what function you're holding on to
when doing printf-style debugging.
Differential Revision: https://phab.mercurial-scm.org/D8994