Summary:
tweakdefaults renamed core hg's `grep` to `histgrep`, and added a `hg grep` that behaves more like `git grep`, searching the working copy. This diff folds those changes into core.
The config changes from
```
[tweakdefaults]
allowfullrepohistgrep = False
```
to
```
[histgrep]
allowfullrepogrep = False
```
Reviewed By: quark-zju
Differential Revision: D10435279
fbshipit-source-id: ad3d1da5824511a612111715e46119d70066050f
Summary:
Add the `storerequirements` feature to the repo. This means the store may have
a `requires` file, and clients must check it for any store features that they
may be missing. This allows new requirements to be added that affect the store
when the repo is shared. Currently there are no store features.
This commit adds support for the feature, and only new repos have the
requirement added. A future commit will optimistically upgrade repos to
include the requirement.
Reviewed By: quark-zju
Differential Revision: D9699156
fbshipit-source-id: 95c1ab6973d44c02abc69b78a15311fe6a8696fd
Summary:
Enable it by default so all tests run with it.
The test changes are mostly caused by repo requirement changes.
Reviewed By: DurhamG
Differential Revision: D8880991
fbshipit-source-id: f96cecfd85b8088098c3b55d06ab0374ee93437b
hg update . (or equivalents) are effectively no-ops in just about all
circumstances. These sorts of updates can be especially common in a
bookmark-oriented workflow. This saves us a status check and a manifest
decompression, which means that on a repo with over 210,000 files, this brings
hg update . down from 2.5 seconds to 0.15.
There is one change in behavior: a file that was added, not committed, and then
deleted but not removed used to be removed from the dirstate. With this patch
it isn't. This is what causes the change in test-mq-qpush-exact.t. This seems
like it's enough of an edge case to not be worth handling.
The output of test-empty.t changes because those files are not yet created.
Many tests didn't change back from subdirectories at the end of the tests ...
and they don't have to. The missing 'cd ..' could always be added when another
test case is added to the test file.
This change do that tests (99.5%) consistently end up in $TESTDIR where they
started, thus making it simpler to extend them or move them around.