rhg: add a limited `rhg cat -r` subcommand

It only supports revision specification (rev or full hash) and the list of files
to cat.

Differential Revision: https://phab.mercurial-scm.org/D9052
11 jobs for topic/default/rhg.cat in 28 minutes and 25 seconds (queued for 18 minutes and 53 seconds)
Status Job ID Name Coverage
  Test
passed checks-py2 #106509

00:03:06

passed checks-py3 #106510

00:02:11

passed rust-cargo-test-py2 #106511

00:01:50

passed rust-cargo-test-py3 #106512

00:01:35

passed test-py2 #106513

00:21:38

passed test-py2-chg #106519

00:22:28

passed test-py2-pure #106515

00:21:57

passed test-py2-rust #106517

00:21:37

failed test-py3 #106514

00:12:12

failed test-py3-pure #106516

00:19:59

failed test-py3-rust #106518

00:09:45

 
Name Stage Failure
failed
test-py3-rust Test
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Skipped test-wireproto-exchangev2-shallow.t: missing feature: sqlite3 module is available
Failed test-check-py3-compat.t: output changed
Failed test-run-tests.t: output changed
# Ran 870 tests, 60 skipped, 2 failed.
python hash seed: 2256452062
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py3 Test
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Skipped test-wireproto-exchangev2-shallow.t: missing feature: sqlite3 module is available
Failed test-check-py3-compat.t: output changed
Failed test-run-tests.t: output changed
# Ran 869 tests, 61 skipped, 2 failed.
python hash seed: 2425484723
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
test-py3-pure Test
Skipped test-sparse-fsmonitor.t: skipped
Skipped test-sparse-revlog.t: missing artifact, run "/tmp/mercurial-ci/tests/artifacts/scripts/generate-churning-bundle.py"
Skipped test-sqlitestore.t: missing feature: sqlite3 module is available
Skipped test-verify-repo-operations.py: missing feature: allow slow tests (use --allow-slow-tests)
Skipped test-wireproto-exchangev2-shallow.t: missing feature: sqlite3 module is available
Failed test-run-tests.t: output changed
# Ran 866 tests, 64 skipped, 1 failed.
python hash seed: 2383518781
ERROR: Job failed: exit code 1