Commit Graph

64832 Commits

Author SHA1 Message Date
Zeyi (Rice) Fan
287a9ff724 utils: add stack trace for Windows
Summary:
Copy from Watchman.

This allows us to show stack trace when EdenFS terminates on Windows.

Reviewed By: chadaustin

Differential Revision: D27896966

fbshipit-source-id: f3238a37a1176f879d5e6bc051ec97031c9a7096
2021-04-23 13:20:46 -07:00
Jun Wu
0540035fcc hgcommits: add add_graph_nodes API
Summary:
Add a way to extend the graph with concrete commit hashes, without specifying
exact commit messages.

Reviewed By: sfilipco

Differential Revision: D27897894

fbshipit-source-id: fccd64b2fef1386d79cddd841208da6a938a5217
2021-04-23 12:35:27 -07:00
svcscm svcscm
9d9907483d Updating submodules
Summary:
GitHub commits:

87f8109369

Reviewed By: bigfootjon

fbshipit-source-id: 44bb6ed0925a1612a1b7b767fc3aef2cd7a49240
2021-04-23 11:27:37 -07:00
Alex Hornby
be237eb515 mononoke: add_common_server_data to scrub blobstore logging
Summary:
scrub blobstore logging was missing the common server logging fields that LogBlob and MultiplexedBlobstore add.

Also moved the LogBlob scuba construction closer to use site for clarity.

Reviewed By: StanislavGlebik

Differential Revision: D27966453

fbshipit-source-id: 77fe70606602753301a2503691a490c0b11c755a
2021-04-23 09:25:25 -07:00
Stanislau Hlebik
62f843f0e5 mononoke: preserve the rest of Logging fields when calling with_mutated_scuba
Summary:
Currently when we call with_mutated_scuba() we create a new LoggingContainer.
That means that all the data from the previous LoggingContainer like PerfCounters
is lost. I suspect this is the reason we don't log any BlobGets/Puts for
repo_create_commit methods (see
[scuba](https://fburl.com/scuba/mononoke_scs_server/fautos3s)) - we call
[with_mutated_scuba method](https://fburl.com/code/srd1c4xu) right before
calling repo_create_commit(), and I suspect this loses the counters.

Let's instead copy all the Logging fields when calling `with_mutated_scuba`.

Reviewed By: krallin

Differential Revision: D27964719

fbshipit-source-id: 881c11bb5fb1927dbf55d0d625ea8bfbf11be131
2021-04-23 05:57:18 -07:00
Thomas Orozco
ec14fc6aea mononoke: fix a few more flaky tests
Summary:
In test-cross-repo-commit-validator.t and test-cross-repo-commit-sync., we
modify bookmarks outside of Mononoke, so we need to flush them before pulling.

In test-megarepo-invisible-merge.t, things are actually a little more subtle
and I wonder if there might be another issue laying around there. If we don't
flush bookmarks, then we attempt to upload one more hg commit, and that
blows up: P410235472. However, if we flush bookmarks, then we don't attempt to
upload, and all is fine. Here, flushing is just a workaround, but for no
that'll do. There was also another bug here, where we change configs but
don't force them to take effect.

Reviewed By: StanislavGlebik

Differential Revision: D27964959

fbshipit-source-id: 9c4304b38513177e402ee64f309e019e227ed2a7
2021-04-23 05:29:50 -07:00
Simon Farnsworth
82c8aa0cf0 Allow the packer to create single blobs, not just packs
Summary:
When we're packing, we pay an overhead price for keeping the key in the pack. As we're only bothered about reducing size, let's limit that price to when the savings from packing are worth it.

There are two cases where it's not worth it:

1. When the compressed pack is larger than the sum of single compressed files sizes.
2. When compressing a single file on its own.

Reviewed By: ahornby

Differential Revision: D27913258

fbshipit-source-id: 36cdc2a2b30aa508281ac3bbd70da41322533edb
2021-04-23 04:29:33 -07:00
svcscm svcscm
eb2589bc48 Updating submodules
Summary:
GitHub commits:

043eed837e
4d00269279
e42fdb8993
42ab8f3f58

Reviewed By: bigfootjon

fbshipit-source-id: 3a6da08a087a1ba8ab6804255dbbda55dff47d4b
2021-04-23 04:21:45 -07:00
svcscm svcscm
cb748eede2 Updating submodules
Summary:
GitHub commits:

b12ef3d38c
df560ef20f
bfffb5a192
704cda6004
b2226d676c

Reviewed By: bigfootjon

fbshipit-source-id: 8313e52fceb91a56a31d6bba2264855457943a55
2021-04-23 03:22:45 -07:00
Thomas Orozco
20b561263f mononoke: fixup some test flakyness
Summary:
Like it says in the title. This test wants to see consistent bookmarks so it
should flush them.

Note that this used to just opt out of bookmarks caching entirely, but I'd like
us to try and avoid having so many snowflakes in our tests (because it makes
their maintenance harder), so instead of changing the environment, let's change
the test to do what it needs to do.

Reviewed By: mzr, HarveyHunt

Differential Revision: D27964099

fbshipit-source-id: 72e00bad07dec15f18faaf4aa2e32e78cb333ab0
2021-04-23 03:12:01 -07:00
svcscm svcscm
6838a2042f Updating submodules
Summary:
GitHub commits:

5887626f12
22dbf6e1fd
34a6f3972b
89cd0dae9e
6488057ae1
0fe3ab9ce0

Reviewed By: bigfootjon

fbshipit-source-id: 9a5d72f80caca28bd055b70c0f50bcecdf0b05fd
2021-04-23 02:01:09 -07:00
Alex Hornby
a472800b2a hg-server: fix autocargo lints
Summary: Was getting orphan autocargo lints on these so add a config for them.

Reviewed By: krallin

Differential Revision: D27947231

fbshipit-source-id: 925fb78889d8f80f51145536a157fa0e63cc68d7
2021-04-23 01:58:57 -07:00
svcscm svcscm
f56edce8a2 Updating submodules
Summary:
GitHub commits:

e48257e95d
57cc7fefca
497b067e75
e8149d23f4
d65d7d657d
8fc6a5a396
be16da9f52
ef77e1830e
d1ae4aa8ce
2f04033637
23a0cc0582

Reviewed By: bigfootjon

fbshipit-source-id: 4933d8743fe22e768b797c84c916b22c13622d51
2021-04-23 00:42:12 -07:00
svcscm svcscm
d00851a406 Updating submodules
Summary:
GitHub commits:

62e615e046
438791b2e5
8df16c4fdd
4f8e987e70
01e460d538
65a9523009
b9aedf5990
09a84cb759
06c41f6751
2fa5c84d76
a13a64a81d
e1e169f59e

Reviewed By: bigfootjon

fbshipit-source-id: 983b1533c72496d9509fe2d06f40b0fb4e5d7fc8
2021-04-22 21:59:57 -07:00
svcscm svcscm
20d627dcf5 Updating submodules
Summary:
GitHub commits:

bb7ab6a351
215cb3a6e1
27eb0c29d5
58a889d7be
66017849ec
0a1adf870b
3eb1869236
70561dca85
b401b41fbd
5e8f557ec6

Reviewed By: bigfootjon

fbshipit-source-id: 5b8df66827fb60330bd4b8f4d6bd3eefb6b2e61b
2021-04-22 20:38:21 -07:00
svcscm svcscm
2d3de334a6 Updating submodules
Summary:
GitHub commits:

0dfad630b0
93ec7ff7bf
e358f3d3e6
ee5d259f48
abc258e41b
6611a5701d
e2dc00c3dc
be31544256
558194d47b
26611814d5
fad5d9b8b6
3b7218b032
2ce6d6363c
1ec464dbb3

Reviewed By: bigfootjon

fbshipit-source-id: 47a01997667f0d1b9ed846ebf69ff59c89c04035
2021-04-22 19:19:08 -07:00
Andrey Chursin
cb785c4b59 checkout: handle case sensitivity when checking unknown files
Summary:
Current implementation had a bug(demonstrated in test case) in handling unknown files on case insensitive fs.
When file is replaced with another file, whose name only differs in case, we get two distinct update operations - rm file, and create file.
Create operation checks against unknown files, and see that file "exists". In this case operation is aborted.
However, we should proceed in this case, and this diff fixes it.

Reviewed By: quark-zju

Differential Revision: D27926953

fbshipit-source-id: 48c8824322d6e5dd9ae57fee1f849b57dc11a4df
2021-04-22 15:56:49 -07:00
Andrey Chursin
24bb238afd tree_state: introduce get_keys_ignorecase
Summary: Will be useful on case insensitive fs

Reviewed By: quark-zju

Differential Revision: D27946982

fbshipit-source-id: e7a2fd0ee503c4a580531e6f52225fe2316e5b76
2021-04-22 15:56:49 -07:00
Andrey Chursin
e81ae0f900 vfs: add VFS::case_sensitive
Summary: This diff adds flag to VFS to detect whether FS is case sensitive. The logic in this code losely follows similar logic in Python

Reviewed By: quark-zju

Differential Revision: D27926952

fbshipit-source-id: 36fdf4187ae513b25346f704050c64f9a1a4ec74
2021-04-22 15:56:49 -07:00
svcscm svcscm
1f690fc089 Updating submodules
Summary:
GitHub commits:

403b62ac81
52f2bb733e
359a7865aa
e9a24429e1
d2b3dd0294
50397de0ae
f0fca2b1d5
b5d5f2fa56
99a64285eb
4b8aea6a77
ab06dad643
caacf8c6d1
8313af377c
535a7f02ef
600933f17d

Reviewed By: bigfootjon

fbshipit-source-id: 765117fdd94dc7d49d03b65caa06f75e3c66b14d
2021-04-22 15:33:40 -07:00
Mateusz Kwapich
d268af99cd send user-agent to fallback server
Summary: This way the fallback server know which traffic is coming from mononoke

Reviewed By: krallin

Differential Revision: D27946019

fbshipit-source-id: 8c13ae641ba340ba55322871ca30fb6accb3f007
2021-04-22 15:18:56 -07:00
Alex Hornby
bc85aade21 rust: update to zstd to 0.7.0+zstd.1.4.9
Summary:
Update the zstd crates.

This also patches async-compression crate to point at my fork until upstream PR https://github.com/Nemo157/async-compression/pull/117 to update to zstd 1.4.9 can land.

Reviewed By: jsgf, dtolnay

Differential Revision: D27942174

fbshipit-source-id: 26e604d71417e6910a02ec27142c3a16ea516c2b
2021-04-22 14:34:06 -07:00
Xavier Deguillard
e1436e9e39 overlay: only log first 50 fsck errors
Summary:
When EdenFS is killed, either due to `eden stop` timing out, or when simply
rebooting the host, the edenfs.log becomes filled with fsck errors, which also
slows down the fsck process.

Since we already print the number of errors per mount, limiting ourself to the
first 50 errors is probably good enough.

Reviewed By: fanzeyi

Differential Revision: D27943618

fbshipit-source-id: 2b3e6e3ae4df648d4b1dccf73c71f8dbbded3892
2021-04-22 13:12:50 -07:00
Thomas Orozco
d7e4c67650 mononoke: include more debug info in SelectBySuccessor errors
Summary:
We get pretty frequent query errors from MySQL on this, but it's hard to debug
without knowing what is being queried.

Reviewed By: StanislavGlebik

Differential Revision: D27941603

fbshipit-source-id: 62e0f0fe9c3af36ed829c401e957ecf7683a4000
2021-04-22 11:57:42 -07:00
Pyre Bot Jr
907ebc42a5 Add annotations to eden/fs/cli/util.py
Reviewed By: xavierd

Differential Revision: D27941286

fbshipit-source-id: 84bcd46af6c3973c21b7670894b8cf63a04d230b
2021-04-22 11:35:20 -07:00
Chad Austin
e01c36e989 forward env vars through tpx
Summary:
The migration to tpx broke Watchman's tests because test_bser relies on YARN_YARN_OFFLINE_MIRROR being set in the environment and tpx doesn't forward environment variables into the test.

Explicitly forward them ourselves.

Reviewed By: fanzeyi

Differential Revision: D27897172

fbshipit-source-id: 16c8017a89979802bd9d443825ed4e22cb6ff6c9
2021-04-22 11:17:30 -07:00
Alex Hornby
45f521ddde mononoke: enable default patch.crates-io for internal Cargo.tomls
Reviewed By: quark-zju

Differential Revision: D27915811

fbshipit-source-id: 3f830def66c1c5f0569925c42cc8335ee585e0e7
2021-04-22 10:59:42 -07:00
Durham Goode
be2bd4fc95 Backout py3 only changes from windows_thrift
Summary: Mercurial still needs this to work in Python 2 for a few more weeks.

Reviewed By: quark-zju, xavierd

Differential Revision: D27943521

fbshipit-source-id: 2b5106496fbb523cdc97a3dce3ad0cbfab5c17b7
2021-04-22 10:29:49 -07:00
Andrey Chursin
b2db768f21 rebase: try resolving conflicts with 3-way text merge during native rebase
Summary:
This handles large chunk of cases where tree merge returns conflict, but the conflict can be trivialy resolved by textual merge.
No markers are left in file, if merge yields conflicts we simple abort to on-disk merge, same as with existing code

Reviewed By: quark-zju

Differential Revision: D27752771

fbshipit-source-id: ff8d4bbc88b48812150327cae6e31991a30236c9
2021-04-22 10:18:24 -07:00
Andrey Chursin
dda3e38005 checkout: expose both modified conflicts from native merge
Summary: Those conflicts can be resolved in Python using textual 3-way merge

Reviewed By: DurhamG

Differential Revision: D27752770

fbshipit-source-id: 816a601112ee2e747d780f8b17473049df46b469
2021-04-22 10:18:24 -07:00
Andrey Chursin
320119ac2f rebase: bypass merge.py for in-memory rebase
Summary:
This diff modifies rebase flow(based on config) and attempts to create commit wihthout using merge.py:update

This currently passes some test cases, but not all.
This implementaiton currently does not attempt to resolve conflicts and fallbacks to on-disk merge if they are encountered.
This fails some test cases, because they expect some trivial conflicts to be resolved by in-memory merge.

There are also certain rebase flags that currently are not handled

Reviewed By: DurhamG

Differential Revision: D27639394

fbshipit-source-id: d8f71e955930e3a8a64d7d95a0cf184d9b4ccadc
2021-04-22 10:18:24 -07:00
Andrey Chursin
2b3a623246 checkout: bindings for building commit from Python
Summary: This diff exposes manifestbuilder that can be used to construct memctx from Python

Reviewed By: DurhamG

Differential Revision: D27639395

fbshipit-source-id: ed047d3d7533f9d2bc592a5d948dc01e429692a7
2021-04-22 10:18:24 -07:00
Aida Getoeva
88fefc8736 mononoke: make MySQL FFI default client and remove raw XDB
Summary:
This diff makes MySQL FFI client the default option for a MySQL connection. It means that if no arguments provided, the MySQL FFI client is used. `--use-mysql-client` option is still accepted, as it is used in the configs, and will be removed a bit later.

I also removed raw connections as a way to connect to MySQL from Mononoke, as it is no longer used. Although I had to keep some `sql_ext` API for now because other projects rely on it.
(I talked to the teams and they are willing to switch to the new client as well. I'm helping where it's possible to replace these raw xdb conns.)

Reviewed By: krallin

Differential Revision: D27925435

fbshipit-source-id: 4f08eef07df676a4e6be58b6e351be3e3d3e8ab7
2021-04-22 10:00:13 -07:00
Thomas Orozco
992d6be1e9 mononoke: update tests to stop writing to MONONOKE_TUNABLES_PATH
Summary:
Right now, we can't have defaults in our tunables, because some tests clobber
them. Let's start updating tunables instead of replacing them.

NOTE: I was planning to use this in my next diff, but I ended up not needing
it, that said, it feels like a generally positive improvements, so I figured
I'd keep it.

Reviewed By: StanislavGlebik

Differential Revision: D27915402

fbshipit-source-id: feeb868d99565a375e4e9352520f05493be94a63
2021-04-22 08:19:03 -07:00
Thomas Orozco
491b5b5318 mononoke: make bookmarks cache ttl a tunable
Summary:
This updates the bookmarks cache TTL to be something we configure using
tunables instead of repo configs. There's a few goals here:

- Less us tune the pressure we put on SQL via a tunable
- Letting us experiment more easily with disabling this cache and tuning the
  WBC poll interval.

Right now, this defaults to what we had set up in all our repo configs, which
is 2000ms.

Reviewed By: farnz

Differential Revision: D27915403

fbshipit-source-id: 4361d38939e5b2a0fe37442ed8c1dd0611af5098
2021-04-22 08:19:03 -07:00
Thomas Orozco
c381d1b896 mononoke: log count of bookmarks queries that come from WBC vs. not
Summary:
One of our plans for this half is to replace the warm bookmarks cache with a
service, and we suspect this will effectively eliminate bookmarks queries from
our hosts, because we think they all come from the WBC.

But, before we invest our time into this, let's make sure that this assumption
is actually correct, by tracking who's querying bookmarks.

Reviewed By: StanislavGlebik

Differential Revision: D27938407

fbshipit-source-id: d9a9298e7409c9518a4b9bf8ac0a6cef53750473
2021-04-22 08:13:09 -07:00
Thomas Orozco
8ef8706e6e mononoke: add a new session class for WarmBookmarksCache
Summary:
I'd like to be able to track the proportion of traffic coming to bookmarks from
warm bookmarks cache vs. from elsewhere. We don't have a great abstraction to
pass this via the CoreContext at this time, but the SessionClass seems like a
pretty good fit.

Indeed, since it's always available in the CoreContext, and can be freely
mutated without having to rebuild the whole session. Besides, it aligns pretty
well with the existing use cases we have for SessionClass, which is to give you
different level of service depending on who you are.

Reviewed By: StanislavGlebik

Differential Revision: D27938413

fbshipit-source-id: a9dcc5a10c8d1459ee9586324a727c668e2e4e40
2021-04-22 08:13:09 -07:00
svcscm svcscm
6ac09bcaab Updating submodules
Summary:
GitHub commits:

90b4776806
f1ba2450b3
b145bd06e4
e57402c2e1
2fb462c7bd
cd1b58f34f

Reviewed By: bigfootjon

fbshipit-source-id: 5e48a322f2c024e05aac7d29f83110e34d61a47c
2021-04-22 07:28:02 -07:00
svcscm svcscm
8279f225ed Updating submodules
Summary:
GitHub commits:

a31327a3ed
f4db9a2f6e
973b4e8af1
ce1f34c1d4
aea35810f3
4859438fb5
e38411d3f8
ac4762895e
6d63309f3a
966267e4ff

Reviewed By: bigfootjon

fbshipit-source-id: 4fce3d7f58b4a811d815388881726d08f69df2cb
2021-04-22 05:48:59 -07:00
Liubov Dmitrieva
e5b00fae7a disable phases exchange if narrow heads is enabled
Summary:
phases calculation could be expensive on the server and it should be a perf win to disable it if not needed

It shouldn't be needed if narrow heads are enabled

Reviewed By: quark-zju

Differential Revision: D27908691

fbshipit-source-id: 7000fb23f9332d58c2c488ffbef14d73af4ac532
2021-04-22 05:26:10 -07:00
CodemodService Bot
e6d4eca353 Daily common/rust/cargo_from_buck/bin/autocargo
Reviewed By: krallin

Differential Revision: D27936164

fbshipit-source-id: 863666219bda84e989cd6008e62b33db74fb81d4
2021-04-22 05:12:20 -07:00
svcscm svcscm
d649723f39 Updating submodules
Summary:
GitHub commits:

bbd1441e59
bda7f85402
5fa7673026
88b0f96c31
b9d7129fc1
fa4af104e6
2d38409cee
14250fc178
09eebde52f
839f830253
db0fe36fdf
ca8a8e0eb9

Reviewed By: bigfootjon

fbshipit-source-id: 4f9595c7c6b42ac6045082959a245505c5c8ea60
2021-04-22 04:36:48 -07:00
svcscm svcscm
c960ca3975 Updating submodules
Summary:
GitHub commits:

3a683a85e3
c21c937566
a2b4d00caf
a99615fe03
ce738f05d6
804b20fd2e
03bdd0154e
29663b92e4
59e3ca2389
f5157266a6
4ceb1179b3

Reviewed By: bigfootjon

fbshipit-source-id: aa310dd154b458944b2de4e92bba6425bbc1ce44
2021-04-22 02:17:59 -07:00
Kostia Balytskyi
d48c87a95e megarepo: introduce write side of MononokeMegarepoConfigs
Summary:
`MononokeMegarepoConfig` is going to be a single point of access to
config storage system - provide both writes and reads. It is also a trait, to
allow for unit-test implementations later.

This diff introduces a trait, as well as implements the write side of the
configerator-based implementor. The read side/oss impl/test impl
is left `unimplemented`. Read side and test impl will be implemented in the future.

Things I had to consider while implementing this:
- I wanted to store each version of `SyncTargetConfig` in an individual
  `.cconf` in configerator
- at the same time, I did not want all of them to live in the same dir, to
  avoid having dirs with thousands of files in it
- dir sharding uses sha1 of the target repo + target bookmark + version name,
  then separates it into a dir name and a file name, like git does
- this means that these `.cconf` files are not "human-addressable" in the
  configerator repo
- to help this, each new config creation also creates an entry in one of the
  "index" files: human-readable maps from target + version name to a
  corresponding `.cconf`
- using a single index file is also impractical, so these are separated by
  ascification of the repo_id + bookmark name

Note: this design means that there's no automatic way to fetch the list of all
targets in use. This can be bypassed by maintaining an extra index layer, whihc
will list all the targets. I don't think this is very important atm.

Reviewed By: StanislavGlebik

Differential Revision: D27795663

fbshipit-source-id: 4d824ee4320c8be5187915b23e9c9d261c198fe1
2021-04-22 02:13:19 -07:00
svcscm svcscm
3f9d23bc71 Updating submodules
Summary:
GitHub commits:

4e75c2a900
5d0f5e7351
5dfe165e28
c78cf2e316
4cb26a621c
bc5fde68c5
cdf786fe2e
f279d4bf34
46eab720c4
3597af6b29
64aa8b69f5

Reviewed By: bigfootjon

fbshipit-source-id: d58322e1ebb033fd3cabe94a85c09729abd6c134
2021-04-21 23:40:59 -07:00
Genevieve Helsel
f6e1705b7e use getGlobalIOExecutor instead of getIOExecutor
Summary:
We started getting the message
```stderr: eden/fs/utils/SpawnedProcess.cpp:798:21: error: 'getIOExecutor' is deprecated: getIOExecutor is deprecated. To use the global mutable executor use getUnsafeMutableGlobalIOExecutor. For a better solution use getGlobalIOExecutor. [-Werror,-Wdeprecated-declarations]
```
I don't see why we would need a mutable executor here so I chose `getGlobalIOExecutor` over `getUnsafeMutableGlobalIOExecutor`.

Reviewed By: kmancini

Differential Revision: D27912276

fbshipit-source-id: 95b1053f72c2b4eb2746e3c40c0cf76b69d90d6e
2021-04-21 22:13:53 -07:00
svcscm svcscm
3beb004689 Updating submodules
Summary:
GitHub commits:

bf4be8f801
86bec5f6a3
2ed622ad8d
dbfa7c455d
c8610f7e29
314352761f
73ccfb13ff
94709e3af3
d14ff2cc18
6bdcf4eeba
ca3bb0ccdb

Reviewed By: bigfootjon

fbshipit-source-id: d98c57e3c3b4d5dd5f8cac4e302b6bc4dbaca734
2021-04-21 21:11:53 -07:00
svcscm svcscm
f8ee27ebf7 Updating submodules
Summary:
GitHub commits:

0ff44c466b
5e36422c21
b3e97ae686
c67581d4fd
368317d25b
8d1fc3ef86
5418a6099b
fd57017a3d
b0c77b30bc
0db52ee362
eb5e6efc30

Reviewed By: bigfootjon

fbshipit-source-id: ce36daa0c174b1df1e58057b3098a01fe5ecc58c
2021-04-21 19:51:48 -07:00
Jun Wu
d1413bbbad clone: add an emergency clone mode
Summary:
In case the Mononoke server cannot provide the commit graph, and we need to
checkout and push changes. Let's add an emergency mode where the commit graph
only contains a single commit: master.

This can be used using `--config unsafe.emergency-clone=1`:

  ~/hg % lhg clone --shallow -U mononoke://mononoke.internal.tfbnw.net/fbsource ~/tmp/c1 --config unsafe.emergency-clone=1 --configfile /data/users/quark/.eden-backing-repos/fbs-lazy/.hg/hgrc.dynamic
  connected to <remote host> session yyvXqQlHnMYQMEfw
  warning: cloning as emergency commit+push use-case only! accessing older commits is broken!
  resolving master
  connected to <remote host> session ODc4PPiJ21L6r4Sn
  added master: 248bd246f4467a2d4d0cacc09c5e55131ada9919
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!

Smartlog:

  ~/hg % cd ~/tmp/c1
  ~/tmp/c1 % lhg sl
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!
  o  248bd246f  25 seconds ago  remote/master

Pull:

  ~/tmp/c1 % lhg pull
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!
  pulling from ssh://hg.vip.facebook.com//data/scm/fbsource?stage1_read
  connected to twshared1103.03.prn6.facebook.com session L4sDKzLm093aLUbo
  searching for changes
  adding commits
  adding manifests
  adding file changes
  added 8 commits with 0 changes to 0 files

Checkout:

  ~/tmp/c1 % lhg sparse include .gitignore
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!
  ~/tmp/c1 % lhg up master
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!
  19 files updated, 0 files merged, 0 files removed, 0 files unresolved

Commit:

  ~/tmp/c1 % vim .gitignore
  ~/tmp/c1 % lhg c -m gitignorewarning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!

Smartlog:

  ~/tmp/c1 % lhg sl
  warning: this repo was cloned for emergency commit+push use-case only! accessing older commits is broken!
    @  cc43f0e5b (Backup pending)  4 seconds ago  quark
  ╭─╯  gitignore
  │
  o  10ef2879e  5 minutes ago  remote/master
  │
  ~

Reviewed By: andll

Differential Revision: D27897892

fbshipit-source-id: f1770482455968dac217c9c6ee34ec0a20e5f432
2021-04-21 19:30:15 -07:00
Jun Wu
2d06b826c1 clone: log reasons we use legacy clone code path
Summary:
I found that there are still lots of (automation) users use the legacy clone
code path but it's unclear why (not having selectivepull?). Let's log the
reasons why the legacy path is used.

Reviewed By: sfilipco

Differential Revision: D27913616

fbshipit-source-id: b83f15e42a4afa94164b68bc9a91b4f0c022260c
2021-04-21 19:30:15 -07:00