Read about our upcoming Code of Conduct on this issue

MercurialRepository.Push: improved error treatment

- we want `PeerInitException` to be about initialization of peer
  only. This entails a few requests already (capabilities, etc.)
- we need to explicitely catch all other errors in `Push()`.
  I actually believe that `grpc` would convert every uncatched
  error into an `INTERNAL`, so that the server does not stop, but
  it's best not to depend on it, and it gives us a way to have
  a more explicit message (error was not in the push itself)
4 jobs for !89 with topic/default/hg-push in 5 minutes and 38 seconds
latest detached
Status Name Job ID Coverage
  Main
passed tests-current #267891

00:04:16

100.0%
 
  Compat
passed check-sdist #267892

00:00:12

passed tests-hg-default #267894

00:01:14

100.0%
passed tests-hg-stable #267893

00:01:21

100.0%