Commit Graph

45436 Commits

Author SHA1 Message Date
Mark Thomas
6d64b4ac5e remotenames: normalize urls that are passed in as strings
Summary:
Callers may call `remotenames.activepath` with the remote as a string URL.  For
remotenames we must normalize these paths as we do for remotes that are passed
in as objects, for the same reason as in D14051479.

Differential Revision: D14621090

fbshipit-source-id: 8a02e9554039ad3daf3093001889cf1746ce395a
2019-03-26 11:33:22 -07:00
Durham Goode
ae3d307533 remotefilelog: unbreak archive prefetching for memory contexts
Summary:
The extdiff extension uses archive on the workingctx to make snapshots
of certain files. Prefetching fails on this because it sees placeholder file
nodes. Let's just not prefetch in this case at all.

Differential Revision: D14609691

fbshipit-source-id: 2d06bf015a8b10afa16b3b0bcb266afb102d63b9
2019-03-26 10:00:24 -07:00
Mark Thomas
fdd103b31b configparser: avoid environment race in configparser tests
Summary:
The configparser tests `hg::tests::test_basic_hgplain` and
`hg::tests::test_hgplainexcept` set different values for `HGPLAIN` and
`HGPLAINEXCEPT`.  Since the tests run in parallel and use the same environment,
one of the tests may fail if they run at the same time.

For these tests, create a mutex for the environment and lock it for the
duration of the test, ensuring these tests do not interfere with each other.

Reviewed By: jsgf

Differential Revision: D14615394

fbshipit-source-id: 9f123668d93223655514db2ae34b05354a6b578c
2019-03-26 07:33:23 -07:00
Durham Goode
73683c048e tracing: add various tracing across the code base
Summary:
Now that we have perftracing infra, let's trace a bunch of likely
problem spots.

Reviewed By: sfilipco

Differential Revision: D14426367

fbshipit-source-id: 354a241aa9ac5d75d34062a9838d581b4f46746f
2019-03-25 19:31:13 -07:00
Xavier Deguillard
ed47a4b8ea repack: add an option to run background repack with --packsonly
Summary:
Most of the repacks are background repacks, and most of the complaints are
coming from laptops users. Thanks to the rust repack, most of time during
repack is now spent in repacking loosefiles. While repacking them is expensive,
testing whether data is in a loosefile and obtaining it is actually pretty
fast. Packfiles have the opposite issue, repacking them is fast, but finding
data in them may be expensive if a lot of them are present.

Based on this, it makes sense to repack packfiles more frequently than
loosefiles. At first, the newly added option will be used to turn-off loosefile
repack for laptop users. A less frequent loosefile repack will be implemented
in a later patch.

Reviewed By: DurhamG

Differential Revision: D14586986

fbshipit-source-id: 5bc5c839cf8d2d78bcc4ffa016bbe3cf1b2ef3f7
2019-03-25 18:39:26 -07:00
Jun Wu
a5a8b9cafd tests: update an lfs test
Summary:
I'm not sure which change broke the test. It requires `lfs-test-server` to run,
which is not installed by default. So that's why people didn't realize it.

Differential Revision: D14607695

fbshipit-source-id: 3b0e6d4250f476abced414c00bddfe7d29d062d4
2019-03-25 18:33:06 -07:00
Jun Wu
077313f1af dispatch: move deferred to atexit handler
Summary:
See D14606986 for context. `repo.close` should be protected by not crashing on
stdout or stderr write errors (SIGPIPE or EPIPE). Move `deferred` to `atexit`
handler to get the protection.

Test changes are caused by ordering changes.

Differential Revision: D14607407

fbshipit-source-id: 5a42aefcec395f48b8ecb67426429ef2e41f5666
2019-03-25 18:33:05 -07:00
Jun Wu
7873db8242 ui: silent stdio write errors during atexit
Summary:
This is the first diff of an alternative fix of D14528603. See also D14603974
for context.

We'd like atexit handlers to not crash with EPIPE or SIGPIPE when writing to
stderr or stdout. Therefore disable SIGPIPE signal handler and patch ui methods
to do so.

Differential Revision: D14607159

fbshipit-source-id: 274c5174813d402a7e0b8b5be7c8fcb0524fcdb3
2019-03-25 18:33:05 -07:00
Jun Wu
a3c4fd17e8 Back out "[hg] ui: do not enable SIGPIPE when running the pager"
Summary:
akushner and I both hit an issue where `hg log` hangs for a long time after
exiting the pager by pressing `q`. That was caused by D14528603. Revert it to
fix it.

The root cause is apparently a bug in Python 2 (or C stdlib?):

  # a.py
  import signal, os
  signal.signal(signal.SIGPIPE, signal.SIG_IGN)
  out = os.fdopen(1, 'wb', 1)
  while True:
      out.write(b"a\n")
  # shell
  python2 a.py | head -n 1
  # hangs

Python 3 does not have the issue.

Reviewed By: singhsrb

Differential Revision: D14603974

fbshipit-source-id: 3b4d716133853632e56dfeb59b1858f926a2c146
2019-03-25 18:33:05 -07:00
Durham Goode
ce423933c3 tracing: log perftraces to the blackbox
Summary:
Now that we're recording perftraces, let's log their results to the
blackbox if the command exceeds a configurable threshold.

Reviewed By: sfilipco

Differential Revision: D14426366

fbshipit-source-id: 24f261aaa2b089dbc959d709e51de1c0359d976d
2019-03-25 17:12:42 -07:00
Durham Goode
f2b414c324 tracing: add tracing for command dispatch
Summary:
Adds tracing for the command dispatch.  All other traces will be a
child of this root level trace.

Reviewed By: sfilipco

Differential Revision: D14426369

fbshipit-source-id: 2b996e027a2d6b163162bdceba571a3ee2186f6b
2019-03-25 17:12:42 -07:00
Durham Goode
31934386ed tracing: add ascii rendering for perftrace module
Summary:
The previous diff added functions for collecting data. Now let's add a
way to render it to ascii.  Future renderers may render this to json or the
Chrome trace format.

Example output:
```
 0.0  hg rebase -d 'master~100' -s 8342640303e2 (43.4s)
 0.0    Repo Setup (0.0s; local)
 0.0    Rebase (42.5s; disk-fallback)
 0.0      --missing-- (8.0s)
 8.0      Calculate Updates (34.1s)
 8.1        Prefetch Files (0.0s)
   :          * Keys: 0
   :          * Missing Data: 0
 8.1          LFS Prefetch (0.0s)
 8.1        --missing-- (33.2s)
41.3        Prefetch Files (0.0s)
   :          * Keys: 2
   :          * Missing Data: 0
41.3          LFS Prefetch (0.0s)
41.3        Check Unknown Files (0.0s)
42.1        Status (0.0s)
   :          * A/M/R Files: 2
42.1        Prefetch Files (0.0s)
   :          * Keys: 1
   :          * Missing Data: 0
42.1          LFS Prefetch (0.0s)
42.1      Prefetch Files (0.0s)
   :        * Keys: 0
   :        * Missing Data: 0
42.1        LFS Prefetch (0.0s)
42.1      Apply Updates (0.1s)
   :        * Actions: 2
42.2      Status (0.0s)
   :        * A/M/R Files: 2
42.2      Prefetch Files (0.0s)
   :        * Keys: 1
   :        * Missing Data: 0
42.2        LFS Prefetch (0.0s)
43.4
```

Reviewed By: sfilipco

Differential Revision: D14426370

fbshipit-source-id: 338348297372874b2d8f08dd07b411b90d33a5fa
2019-03-25 17:12:42 -07:00
Durham Goode
cdaf9a1a18 tracing: add initial perftrace module
Summary:
Adds the initial perftracing infra. It's just a collection of functions
for starting and ending tracing and associating data with the traces.

Reviewed By: quark-zju

Differential Revision: D14426368

fbshipit-source-id: 72a2fad901ff52877f3958db2b924d95f45eeac7
2019-03-25 17:12:42 -07:00
Stefan Filip
269f4023c6 build: remove profile.lto setting from crates in workspace
Summary:
```
building 'indexes' library extension
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /data/users/sfilip/fbsource/fbcode/scm/hg/edenscm/hgext/extlib/indexes/Cargo.toml
workspace: /data/users/sfilip/fbsource/fbcode/scm/hg/edenscm/hgext/extlib/Cargo.toml
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package:   /data/users/sfilip/fbsource/fbcode/scm/hg/edenscm/hgext/extlib/pyrevisionstore/Cargo.toml
workspace: /data/users/sfilip/fbsource/fbcode/scm/hg/edenscm/hgext/extlib/Cargo.toml
```
`profile` settings are ignored for non root packages. I introduced this issue
when I added a workspace for extlib: D14543989.

Reviewed By: kulshrax

Differential Revision: D14606019

fbshipit-source-id: 7ec4743d0913e443c378ae83f392817f6e6d3aab
2019-03-25 16:38:41 -07:00
Mark Thomas
ac64b2c858 mutationstore: use new location for ChaChaRng
Summary:
The ChaCha RNG has moved from `rand` to `rand_chacha`.  Use the new location to
prevent the deprecation warning.

Reviewed By: quark-zju

Differential Revision: D14596397

fbshipit-source-id: e082369d4cf2d4ab42eb37df83a2627b937dcf62
2019-03-25 14:07:58 -07:00
Mark Thomas
05fdc3c37f mutationstore: apply latest rustfmt
Reviewed By: quark-zju

Differential Revision: D14596405

fbshipit-source-id: 43cc962db9cbc06ea0bfcf4041cd191ef1f1bc2e
2019-03-25 14:07:57 -07:00
Xavier Deguillard
b7c4ad771b eden: properly close repo in debugedenimporthelper
Summary:
Closing a repo is required to commit the pending transactions, or to run a
background repack when packfiles were downloaded. Usually, the close method is
called in dispatch after a command is run and a valid repository was passed via
-R. The debugedenimporthelper however may open the repository manually, and
since it doesn't close it, we may end up with a large number of packfiles.

Let's manually close it to avoid this issue.

Reviewed By: simpkins

Differential Revision: D14531514

fbshipit-source-id: 9b2d1648775e4a2c9eea4c232bf0ae4fee43297d
2019-03-25 10:27:48 -07:00
Jun Wu
6cd3d984fd setup: create build directory before writing build/versionhash.h
Summary: Fix build errors where build/versionhash.h cannot be written.

Reviewed By: suitingtseng

Differential Revision: D14580818

fbshipit-source-id: 9477dd5828e72d3166d12133cc69ae63f8b7a73b
2019-03-22 12:16:46 -07:00
Jun Wu
b6631c103d indexedlog: fix tests on Windows
Summary:
Windows disallows rewriting or truncating mmaped files. Fix the tests by
either dropping the mmap, or skipping the test.

Reviewed By: sfilipco

Differential Revision: D14572119

fbshipit-source-id: dccafdc66db3830c2919232d899ba31365120066
2019-03-22 11:37:35 -07:00
Jun Wu
5e2df5b977 configparser: be more permissive about include paths
Summary:
Windows has 2 kinds of paths - the UNC path (starting with `\\?\`), and paths
most people use (ex. `C:\foo\bar`). The former is more powerful (reserved names
like `nul` can be used), and is the "canonicalized" form as seen by Rust stdlib.

The UNC paths are stricter, though. `/` is not treated as `\` automatically,
`.` and `..` are considered illegal. That is, trying to canonicalize a UNC path
with `..` or `.` will result in an error.

It's possible to get `.`, or `..` into part of an UNC path, by using the
`PathBuf::join` API provided by the Rust stdlib. That is, a legal UNC path stored
in `PathBuf` can become illegal by `join`ing a non-UNC path.

I'm not sure what's the most "clean" fix. Perhaps using two different types to
represent UNC path and non-UNC path in stdlib? But that's definitely not a trivial
(or even practical) change.

For now, just teach the config parser to "friendly try again" by stripping the
UNC prefix and re-canonicalize paths. So it can handle `.` or `..` used by
`%include`.

Reviewed By: sfilipco

Differential Revision: D14568119

fbshipit-source-id: 2a55faa945c8d03574fd56e82d946c9ef7f0138f
2019-03-22 11:37:35 -07:00
Jun Wu
8021c26449 indexedlog: avoid filesystem race on log creation
Summary:
The `load_or_create_meta` function is subject to filesystem races. Solve it by
always taking a lock.

This hurts performance a little bit. But `open()` should not be in a hot loop.
So it should probably be fine.

Reviewed By: sfilipco

Differential Revision: D14568122

fbshipit-source-id: d9b28555ab94252da4717de709b780b361e1dda7
2019-03-22 11:37:35 -07:00
Jun Wu
c74e894aa1 indexedlog: make directory locking work on Windows
Summary:
On Windows it's impossible to open (2) a directory. Therefore add a utility
function that creates `lock` file automatically on Windows and open that file
instead.

Reviewed By: sfilipco

Differential Revision: D14568117

fbshipit-source-id: bc7ae7046be654560c38fbd98ec4dd58c071b1dc
2019-03-22 11:37:35 -07:00
Jun Wu
9361d54b04 indexedlog: make sure meta file is created
Summary:
Previously, `load_or_create_meta` could return without actually creating the
meta file. That leads to problems when `load_or_create_meta` is called a
second time via `flush()`, it rewrites the primary file incorrectly. On Windows,
it will fail to rewrite the primary file.

Fix it by actually writing a meta file before returning.

Reviewed By: sfilipco

Differential Revision: D14568118

fbshipit-source-id: da3ad42bf48a923d732b1719839ca1953bd2b06c
2019-03-22 11:37:35 -07:00
Jun Wu
7e77bf81f0 indexedlog: rustfmt files
Summary: As the title.

Reviewed By: sfilipco

Differential Revision: D14568120

fbshipit-source-id: 7f2d8fb31e8f6c57976996e41f7a61503f5873a5
2019-03-22 11:37:35 -07:00
Liubov Dmitrieva
1bf3ccfd91 cloudsync / infinitepush - add background to the secondary store after both pushbackup / cloud sync
Summary:
If the cloud sync or pushbackup commands start in background themselves, it will trigger a new background command to back up to the secondary afterwards.

Note that for cloud sync, for the secondary store we trigger pushbackup command, not cloud sync. If should be fine. We don't backup duplicates as we always check with the server first what is already backup. To call pushback looks simpler as it doesn't involve all the complexity of cloud sync, and basically we just need to backup to the secondary.

Reviewed By: markbt

Differential Revision: D14578770

fbshipit-source-id: f81a50fd76e64f2d77d8d7004b201fcfe8a090d2
2019-03-22 10:41:13 -07:00
Jun Wu
45e726f245 ignore: revise debugignore
Summary:
Change debugignore to test directories properly (which, only affects sparse
repos in practise) and stop printing out the source ignore rule location, as we
no longer have that information in the gitignore world.

Reviewed By: markbt

Differential Revision: D14547049

fbshipit-source-id: e7c307b1e1f4a8dcd30d00bec1f3e7a84a14b47b
2019-03-22 08:18:24 -07:00
Mateusz Kwapich
75c069b199 heurestics to resolve a obs/non-obs ambiguity
Summary:
This particular situation happens in the wild when the amend doesn't rebase
because of conflicts and users work on their stack using `hg prev` and `hg next
--rebase`. In this case when there's non-obsolete child that's always the child
we want to choose.

We're verbose about what we're doing so it's not confusing to the users.

Reviewed By: quark-zju

Differential Revision: D14560584

fbshipit-source-id: a453c0301a5156eea0d19ceb40d9a64e80b7fca7
2019-03-22 03:38:52 -07:00
Mateusz Kwapich
0034b0d018 test the "hg next" behaviour in case of obs/non-obs ambiguity
Summary: The next commit introduces a heurestic to resolve those.

Reviewed By: zertosh

Differential Revision: D14560585

fbshipit-source-id: b62b59e4b254e59e88cfc7859aa21feffc360b05
2019-03-22 03:38:52 -07:00
Arun Kulshreshtha
54e5f56277 types: add types for batched eden api requests
Summary: This diff adds serializable types representing batch requests for the Eden API. Just like the response types, these types must live the Mercurial's `types` crate so that they can be shared between the client and server.

Reviewed By: quark-zju

Differential Revision: D14573332

fbshipit-source-id: c31d718e6a97829ce1acfc25b8853dc3761323a7
2019-03-21 23:11:53 -07:00
Jun Wu
cb0ad2f23a smartlog: move ancestor calcuation to smartlog revset
Summary:
Move the logic of adding the common ancestor to make the DAG connected to the
smartlog revset. This makes it handy for power users to just use `log` and
`smartlog` revset to get interesting graphs. `sl` is now a very thin wrapper
around the `smartlog` revset function.

Reviewed By: DurhamG

Differential Revision: D14461520

fbshipit-source-id: 78e3991059c9da7ef4410e252a2b69b1e54918cb
2019-03-21 17:33:45 -07:00
Jun Wu
2fef3bf971 smartlog: wrap user-provided revs with smartlog revset function
Summary:
Wrap user-provided revs with `smartlog` revset function. This makes more sense
together with the next change.

The test change is because "parents" of drafts are selected.

Reviewed By: DurhamG

Differential Revision: D14461519

fbshipit-source-id: 2a48931680f0dc50b80b87cea827152c21cf4791
2019-03-21 17:33:45 -07:00
Jun Wu
524fc6b566 smartlog: remove ancestorcache
Summary:
With the last change, the benefit of ancestorcache is limited.  Therefore just
remove it to reduce complexity. This also makes `smartlog` closer to `log`.

Reviewed By: DurhamG

Differential Revision: D14461523

fbshipit-source-id: eb108a09e12b07e5012f70aef0b2940b07d746fb
2019-03-21 17:33:45 -07:00
Jun Wu
2a2d39e021 smartlog: use revset to calculate ancestors
Summary:
Use the `ancestor` revset to replace the adhoc ancestor calcuation. This makes
the code much shorter.

It's in theory slightly different from the old logic. But there are no test changes.

The new code can no longer take advantage of ancestorcache. Fortunately, with
optimizations, it is pretty close to a fully warmed up ancestorcache. Of course,
it's much faster than a cold ancestorcache.

Before (ancestorcache disabled):

  quark@devvm33994 ~/fbcode/scm/hg % ./hg sl -T '.' --time --pager=off --all --config smartlog.useancestorcache=0  >/dev/null
  time: real 75.050 secs (user 52.540+0.000 sys 22.520+0.000)

Before (ancestorcache warmed up):

  quark@devvm33994 ~/fbcode/scm/hg % ./hg sl -T '.' --time --pager=off --all --config smartlog.useancestorcache=1 >/dev/null
  time: real 2.670 secs (user 2.550+0.000 sys 0.100+0.000)

After:

  quark@devvm33994 ~/fbcode/scm/hg % ./hg sl -T '.' --time --pager=off --all --config smartlog.useancestorcache=0  >/dev/null
  time: real 2.970 secs (user 2.760+0.000 sys 0.160+0.000)

There are 5110 commits in the above smartlog graph.

Reviewed By: DurhamG

Differential Revision: D14461524

fbshipit-source-id: 68bee3c4397be833e381c582c20a849b768b144d
2019-03-21 17:33:45 -07:00
Jun Wu
dfb1e22f42 smartlog: change masterfallback to null if --rev is passed
Summary:
Previously, the default master is `.^` when `--rev` is passed. Change it to
null so we're not adding unexpected "master" if `--rev` is used.

Reviewed By: DurhamG, sfilipco

Differential Revision: D14516266

fbshipit-source-id: ce93f5e905d674c21cc07bb5a2957d0fad302722
2019-03-21 17:33:45 -07:00
Durham Goode
1186282722 workers: flush mutable data before forking workers
Summary:
We encountered a bug where if a file descriptor was not flushed prior
to forking the process, then both processes would end up flushing the same data
to the file, resulting in duplicate data and a corrupt file.

The real fix is to stop using fork, but for now let's address the most visible
problem by flushing pack files before forking.

Reviewed By: kulshrax

Differential Revision: D14569005

fbshipit-source-id: e002abe72c8014cbe49ccffab6159f8372affdb0
2019-03-21 16:20:36 -07:00
Arun Kulshreshtha
4c1f11a751 types: fix mock node values
Summary: The mock values for the `Node` type are intended to have hashes that consist of a repeated digit (e.g., `1111111111111111111111111111111111111111`). However, since the bytes were specified using a single hex digit instead of two, the hashes were actually like `0101010101010101010101010101010101010101`. This diff fixes the values so they look as expected.

Reviewed By: quark-zju

Differential Revision: D14557546

fbshipit-source-id: 23651d70b9715d2fb77db162f689b87d9d43e5a2
2019-03-21 14:29:20 -07:00
Jun Wu
d24d57930d setup: rebuild libchg.a if versionhash has changed
Summary:
Otherwise `hg.rust` might use a stale libchg.a and cannot pass the
client/server version check when installed.

Reviewed By: sfilipco

Differential Revision: D14531275

fbshipit-source-id: 6d8f04a75d91ad2c25ef2002ee3c3f9848094578
2019-03-21 11:23:56 -07:00
Liubov Dmitrieva
f30ce27cd8 commitcloud: deprecate filtration of the push side
Summary: Deprecate due to complexity of the code.

Reviewed By: mitrandir77

Differential Revision: D14561405

fbshipit-source-id: 6184317f549c0ab84335b09c4b48efccdf31f7fc
2019-03-21 10:27:13 -07:00
Aida Getoeva
220e4c9879 add loose files size and count metrics
Summary: Added new metrics to log loose files size and number during repack. We need it to understand how much better the pack files work in terms of disc and memory usage.

Reviewed By: markbt

Differential Revision: D14544811

fbshipit-source-id: 5a4d894bd5a3358c7e0f93ecc9db5e9f2c2f2372
2019-03-21 09:59:44 -07:00
Liubov Dmitrieva
805a3aee56 add logic for safe switching cloud sync between Mercurial and Mononoke and back
Summary:
Basically we should check that the commits have been backed up.
If this is not true and the commits are local we can just back them up.
If they are not known by this repo, pull from the old one and then back them
up.

Reviewed By: markbt

Differential Revision: D14508239

fbshipit-source-id: 3fdd83335cb937b153510ec3c7510ecd1167d0ca
2019-03-21 09:02:23 -07:00
Jun Wu
41ccbe9f8d hg.rust: add BuildInfo symbols
Summary:
BuildInfo symbols are generated for fbcode binaries, and scanned by the
internal procprint tool. The procprint tool also scans hg binaries, but cannot
extract any build information.

The procprint data is used by Push4Push to find out job owners running ancient
software.

This diff inserts BuildInfo symbols so Push4Push (and we) can use them to
figure out people running old versions of hg and send tasks to them.

Note rpmbuild strips symbols by default and is hard to customize. For now, I
just disable the debuginfo packages to preserve the symbols. If space usage or
runtime performance becomes an issue, we can try other workarounds (ex. provide
a shim of `%_find_debuginfo_dwz_opts` that skips `hg.rust`, or provide a shim
of `%__strip`, etc).

By default, the symbols only get added when `setup.py` is run by `rpmbuild`.
So `make local` won't rebuild `hg.rust` every time.

Reviewed By: singhsrb

Differential Revision: D14464056

fbshipit-source-id: ac6f9dedf28cee5fc8d65e144e3d7d1c544d1eda
2019-03-20 23:44:10 -07:00
Jun Wu
b40af5890c metrics: add metrics about fetching remote data
Summary: Log data about round-trip count, and object count for files, trees, and SSH calls.

Differential Revision: D14515776

fbshipit-source-id: cce416fd7dccdad3c73a9f1751a04ddac0d2c507
2019-03-20 22:49:18 -07:00
Jun Wu
ea16e76336 metrics: make ui.metrics.gauge log to the sampling extension
Summary:
Make it possible to use `ui.metrics.gauge` to collect metrics for a single
command, via the sampling extension.

Differential Revision: D14515775

fbshipit-source-id: e8a53549b00c1bc7b6509a5990a51d955d767d7e
2019-03-20 22:49:18 -07:00
Jun Wu
0dfbf77f04 extensions: always enable the sampling extension
Summary: This makes sure `ui.log` always runs through the sampling code path.

Differential Revision: D14515774

fbshipit-source-id: 585cd14eaecda12a9c2dd6ed003f0a457d67daf1
2019-03-20 22:49:18 -07:00
Jun Wu
6a4c2ea9b5 metrics: slightly change the API
Summary:
Before this patch, metrics was designed to send stats to a global counter. I'd
like to use it for stats local to the current command (ex. count of file
fetching, count of round-trips, etc).

Change the API so "entity=None" forbids stats from sending to a global counter.

Differential Revision: D14515779

fbshipit-source-id: b5b3b040d674c71f467153c308b56aa6f506eb0c
2019-03-20 22:49:18 -07:00
Jun Wu
d47e205e87 ignore: disable hgignore by default
Summary:
Disable parsing `.hgignore` and related fileset `hgignore()` by default. They can
still be enabled via configuration. The plan is to completely remove them
later.

A replacement for `hgignore()` fileset was added as `gitignore()`.

The `hgignore()` fileset seems to be only used by zertosh in the past 3 months.

Reviewed By: singhsrb

Differential Revision: D14543232

fbshipit-source-id: f2385062a0e816331f693239f62448979876078a
2019-03-20 22:32:58 -07:00
Stefan Filip
e3b9873beb types: correctly import lazy_static in cargo
Summary: Fixes cargo test.

Reviewed By: quark-zju

Differential Revision: D14546435

fbshipit-source-id: daae0035871202fa3d221e11b0ea66199ded39d2
2019-03-20 19:56:14 -07:00
Stefan Filip
5a8929ed08 extlib: add cargo workspace
Summary: This simplifies testing setup for all crates in CI.

Reviewed By: quark-zju

Differential Revision: D14543989

fbshipit-source-id: 83693fada6e64b7c21fd89a880d6452d811ea90d
2019-03-20 19:56:14 -07:00
Stefan Filip
06704f2db2 radixbuf: add ignore marker to documentation blocks
Summary:
https://doc.rust-lang.org/rustdoc/documentation-tests.html#syntax-reference

Rust will treat an indentation of 4 or more spaces as a fenced code block and
attempt to run it as a docblock test

Reviewed By: singhsrb

Differential Revision: D14543987

fbshipit-source-id: 92f78e9e052befba0bd3eea80ac171f651f2fced
2019-03-20 19:56:14 -07:00
Stefan Filip
9c90eb2e9c radixbuf: cargo fmt
Summary: Formatting

Reviewed By: singhsrb

Differential Revision: D14543986

fbshipit-source-id: 5aae3a6166c315872102ab90d87d46d782682bc8
2019-03-20 19:56:14 -07:00