sapling/eden/integration/lib
Michael Bolin 7673f16536 Add support for a more complete set of options to hg status.
Summary:
This adds support for the following flags for `hg status` in the Rust wrapper:

* `--all`
* `--modified`
* `--added`
* `--removed`
* `--deleted`
* `--clean`
* `--unknown`
* `--ignored`
* `--no-status`
* `--copies`

There is now a `create_print_config()` function that takes the parsed arguments
and distills them into a `PrintConfig`, which describes the net configuration
as a result of all the flags. (Note that some flags can interfere with each other,
e.g., `--no-status` forces `--copies` to be disabled.)

While here, I cleaned up a bunch of duplication in the code that prints the
status to stdout. Much of the duplication in the old implementation has been
encapsulated in a closure within the new `print_status()` function.
This also made it easier to implement `--copies` for all of the different status
types.

Incidentally, this helps us specify `listIgnored` correctly when calling the
`getScmStatus()` Thrift method as we now keep track of whether the user
specified `--ignored`. This is particularly important for the Eden integration
test suite because its `assert_status()` helper method calls
`hg status --print0 -mardui` by default, so `buck test eden/...` makes much
greater use of the Rust wrapper than it did before.

Reviewed By: wez

Differential Revision: D6770916

fbshipit-source-id: fea1a159addca6d16caa1b7019dc11dc2dcb3e1b
2018-01-26 17:52:14 -08:00
..
eden_server_inspector.py Add integration test for rebasing in Hg. 2017-07-27 17:24:01 -07:00
edenclient.py Removed unnecessary check and dir creation in edenclient.py for clone. 2018-01-22 17:04:40 -08:00
find_executables.py improve building and importing of the eden hg extension 2017-04-24 11:14:34 -07:00
fs.py move integration tests to eden/integration 2017-01-31 14:41:14 -08:00
gitrepo.py rename stdout_charset to encoding for hg() and git() functions 2018-01-18 20:24:08 -08:00
hgrepo.py Add support for a more complete set of options to hg status. 2018-01-26 17:52:14 -08:00
repobase.py add type annotations to some more integration test functions 2017-11-09 19:05:52 -08:00
TARGETS Updated Rust wrapper so that hg status works again in Eden. 2018-01-19 12:35:46 -08:00
testcase.py add python type information to more integration test code 2017-11-29 14:36:39 -08:00