test-progress: disable mocking-time tests on chg
It's hard to make these tests compatible with chg because a mocked time.time()
is recorded and accessed by progbar at random timing. I don't think it's worth
fixing this test as it is considered a unit test of time estimates, so just
ignores on chg.
hghave: add "chg" flag to skip tests that can't be compatible with chg
Several tests fail with chg for several reasons such as loaded chgserver
extension, running uisetup() per server instead of per runcommand, etc.
Since these tests can't/shouldn't be changed to be chg friendly, we need
a flag to skip them.
This patch explicitly drops CHGHG environment if chg isn't involved. This
way, hghave can just check if CHGHG exists.
tests: add new test for #! shebang lines
* use #!/bin/sh not e.g. #!/usr/bin/sh
* use #!/usr/bin/env python not e.g. #!/usr/bin/python
largefiles: introduce push --lfrev to control which revisions are pushed
The default of pushing all largefiles referenced in outgoing revisions is safe,
but also expensive and sometimes not what is needed. We thus introduce a
--lfrev option, similar to what pull already has.
By specifying an empty set of revisions (or null), it is possible to get lazy
(and insecure!) pushes of revisions without referenced largefiles, similar to
how pull works.
largefiles: don't access repo.changelog directly in getlfilestoupload
Make it possible to pass both nodes and revisions to getlfilestoupload.
localrepo: refactor prepushoutgoinghook to take a pushop
prepushoutgoinghook was introduced in
6c383c871fdb and largefiles is the only
in-tree use of it. Refactor it to be more useful for other use cases in
largefiles.
parser: unify parser function of alias declaration and definition
We no longer have to keep them separately.