Summary: Same as D14074466, I did not notice this failure at first.
Reviewed By: stashuk
Differential Revision: D14078919
fbshipit-source-id: 3da9de3f1a2d29efe7a9f11809b4a950b4c06b67
Summary: We were reading the `edenapi.url` config item without explicitly setting it up with the `configitem()` function. Not sure what negative impact this would have, but it's probably a good idea to have the explicit call in place.
Reviewed By: quark-zju
Differential Revision: D14075080
fbshipit-source-id: bb4e25de273341768f850f1d5aab6ac21e7f2fc5
Summary: Now that the `edenapi` module in bindings is always available for all platforms, we no longer need a try block around the import.
Reviewed By: quark-zju
Differential Revision: D14075082
fbshipit-source-id: e3f45e67ef4572e58f85875af12390ea5d697d43
Summary:
This shouldn't change any behavior, but should allow
deploying scratch to mac and windows in D14060864
Reviewed By: simpkins
Differential Revision: D14060865
fbshipit-source-id: 8daf65739fa6835c6df682484a8f2dba432977dd
Summary: Followed quark-zju's advice to get stable passing of the test
Reviewed By: quark-zju
Differential Revision: D14075062
fbshipit-source-id: 0ed0d5597d1be25607f93a527b27b37e89702c81
Summary: Who knows why the percent-encoding became lowercase on OSX.
Reviewed By: strager
Differential Revision: D14074466
fbshipit-source-id: 75918a4558a2ea362efa857840606af89919d202
Summary: Move the edenapi Python bindings into the common `bindings` crate.
Reviewed By: quark-zju
Differential Revision: D13963179
fbshipit-source-id: 76dead82af992615a9e452ee6fbb9f66639c822c
Summary:
Switch from using OpenSSL (via `native-tls`) to [Rustls](https://github.com/ctz/rustls), a pure-Rust TLS implementation based on the `ring` crypto crate.
Unlike `native-tls`, Rustls supports ALPN, which means it can be used along with Hyper to perform HTTP/2 requests over TLS. (OpenSSL also supports ALPN, but older versions of Windows' `schannel` library do not, and as such `native-tls` doesn't support ALPN either regardless of platform.)
Rustls also builds on Windows without any special configuration, sidestepping the issues we've been having with OpenSSL in the Windows build.
Reviewed By: quark-zju
Differential Revision: D14070084
fbshipit-source-id: 25268c58a88177f4708370696d326b4c0bdc89a0
Summary:
Add a new `init` module to the `bindings` crate. This is intended as a place to put global Rust initialization code for Mercurial's Rust extensions. Ordinarily, such code would go at the start of `main()`, but since `hg` doesn't have a Rust main, putting initialization here at least guarantees that it will happen before any of the Rust extension code runs.
Right now, the only thing initialized in the new module is `env_logger`.
Reviewed By: quark-zju
Differential Revision: D14072560
fbshipit-source-id: 0f2770d0a3a6e9c6b7fe68eb62007cc091adad59
Summary: This wasn't being included before.
Reviewed By: vipannalla, quark-zju
Differential Revision: D14071697
fbshipit-source-id: 15f78c74a9629a8000ec1125c3e9e30e124c3d51
Summary: Files were moved around and Makefile needs update.
Reviewed By: ikostia
Differential Revision: D14062591
fbshipit-source-id: 5478cf75bc3ff431fc7b24fe7df03e9599c0817f
Summary:
if server already have everything, the function should return True
otherwise we treat it as fail to backup in pushbackupbundlestacks function
failed to push stack bundle rooted at ...
Reviewed By: quark-zju
Differential Revision: D14048141
fbshipit-source-id: 288291db2f31b0d284c97fecbd61049a58c045de
Summary:
The test uses named branches in an extensive way that is hard to fix. In
production we have been using different code paths for years: hgsql +
pushrebase has its own locking to avoid race conditions. Mononoke would
have its own way of handling concurrent pushes. Therefore remove the test to
make the named branches deprecation easier.
Logic related to the push-race test is not removed in this diff, in the future
we'll probably just replace server-side logic entirely in the code base so I'm
not dealing with the "to-be-replaced" code right now.
Differential Revision: D14059833
fbshipit-source-id: de20e8fc93ff1253d03ad9397a7490052a54b43c
Summary:
Monotone repos are rare these days. Drop support for it.
This also solves an issue that test-convert-mtn.t uses named branches.
Differential Revision: D14059836
fbshipit-source-id: 1e9d4fe6fdc295393ff67c5e068b230b9ed0c0af
Summary: Use bookmarks instead and remove parts related to named branches.
Differential Revision: D14000989
fbshipit-source-id: 802f5c7273b7ac5d9347e68a0f7dd25d9ae48222
Summary: Use `debugsetparents` to create a merge commit instead.
Differential Revision: D14000098
fbshipit-source-id: a954b7a1aa29dc531bf6af19641d0a089e5e2e36
Summary:
The (disabled by default) `transplant` command is similar to `graft` or
`rebase`. It makes sense to removeit.
This diff removes the extension.
Reviewed By: singhsrb
Differential Revision: D14000099
fbshipit-source-id: a03e4925cefa4236bd9d62cfe9d33d140707bd7c
Summary: They will be replaced by successors and predecessors.
Reviewed By: singhsrb
Differential Revision: D14000097
fbshipit-source-id: 07f0c97edd7eb16ad665c00886c00212d516ae72
Summary:
Rewrite "graft --force" and "empty graft" test cases to not depend on the
previous repo state. Remove the "same origin policy" test since eventually
we'll use mutation history to test origins and the code path here would be
rewritten.
This makes it easier to change the rest of the test.
Differential Revision: D14000100
fbshipit-source-id: 26002774c370a965a9bca157e08246c89aa5e274
Summary:
The test has many problems. Namely, it depends too much on previous repo state,
uses legacy features like named branches, revision numbers, unsafe strip, and rollback,
and is too verbose and over-testing a lot of things (ex. test commit template
many times, test diff output many times, test bundle debug output
unnecessarily, etc).
Rewrite the test to solve all of the above issues:
- Every individual test case uses separate small repos.
- Do not use revision numbers.
- Do not use legacy strip.
- Do not use named branch.
This also reveals that amending a merge commit is buggy in many ways. We can
probably fix them up when cleaning up the commit/merge logic.
Differential Revision: D13993825
fbshipit-source-id: 9e1ff8054741b4356319ce37daea3c5184933927
Summary:
The use of branches is only to create a merge commit. Use drawdag to do that
instead.
Differential Revision: D13993829
fbshipit-source-id: b5f217e7d9ba535b7fd379ec4ca31b899350de02
Summary:
The test is mainly about warnings of new heads, which we might want to remove
entirely (see D8148016). The test is also deeply coupled with named branches,
which will be removed.
Differential Revision: D13993828
fbshipit-source-id: 950f0cb98cd6cb2c8192f1ff36ce2d6b642d1225
Summary:
test-tag.t uses named branches too much. Since global tags are also going away,
replace the test with a simple one about local tags. The local tag portion in
test-tag.t is not too much, though.
Differential Revision: D13993827
fbshipit-source-id: b3a86fa1e07b945fc2926f00ef9de31a4506ba37
Summary:
Rewrite the test:
- Use drawdag to create test repos.
- Use commit hash instead of revision numbers for new test cases.
- Remove unrelated test cases (ex. strip, branch heads).
- Remove use of named branch.
Differential Revision: D13993823
fbshipit-source-id: d20954dec1b39313f08699f796d5db167dfee641
Summary:
The "cache" refers to branch and tag caches. Both of them are planned for
removal. Therefore remove the test.
Reviewed By: singhsrb
Differential Revision: D13978569
fbshipit-source-id: 8593f54af4ecd3fb759d2a3a0fe00eb9d8505112
Summary:
`test-patchbomb.t` uses named branches and does not look simple to fix.
We don't use email patches internally, and it's not hard to write scripts
around `hg export`. Therefore drop the extension and its tests.
Reviewed By: singhsrb
Differential Revision: D13978577
fbshipit-source-id: 19867ae68c19c996bfce064eb2234705939db9ea
Summary:
The test uses named branches so it will break without modification in the
future. Since bundle1 and ssh are "unloved" features, remove the test instead
of fixing it.
Reviewed By: singhsrb
Differential Revision: D13978573
fbshipit-source-id: d5446685056457766d1752446de9d842f40f3ebf
Summary:
The test uses named branches extensively, partically because there are multiple
ways to specify where to update:
hg clone URL#NAME1 -b NAME2 -u NAME3
^^^^^^ ^^^^^ ^^^^^
branch name | |
branch name, again! |
revset, can also be a branch name
In the long run, we'll kill NAME1 (`#...` syntax) and NAME2 (`clone -b` flag).
So the (undesirable) complexity will be gone. Remove the test to make the
transition easier.
The `clone -u REV` feature is still tested in `test-clone.t`.
Reviewed By: singhsrb
Differential Revision: D13978578
fbshipit-source-id: 839ad39779c4526e4be48e133610bdb46f57fc93
Summary: This makes it compatible with future releases.
Reviewed By: singhsrb
Differential Revision: D13978572
fbshipit-source-id: 9394a811b848f1160aaa54be0d09dfc2ea142e81
Summary: Named branches are going away. Remove the logic around it.
Reviewed By: phillco
Differential Revision: D13978575
fbshipit-source-id: d6e28d7cadffa612f74a2afc12800829d6113dfa
Summary:
The test uses branches to name commits server-side and isolate them from the
bookmark namespace. Branches are going away. Use local tags instead.
Reviewed By: phillco
Differential Revision: D14057253
fbshipit-source-id: 33b8ab63027042eb5e244187874190bdd31e62d1