Commit Graph

6 Commits

Author SHA1 Message Date
Durham Goode
0ae182a740 hg: default to using bundle2 for pushrebase parts
Summary:
Pushrebase previously defaulted to bundlev1. Now that the server can
support v2, let's default to v2.

Reviewed By: quark-zju

Differential Revision: D7591174

fbshipit-source-id: bc5448490ff319543baedf3f5a1aab160a73ed27
2018-04-13 21:51:53 -07:00
Durham Goode
24653e5e32 hg: add develwarn for bundle1 format
Summary:
We want to deprecate the bundlev1 format, so let's start by adding a
develwarn. Later diffs will update the tests to not use v1, then remove v1 as a
supported outgoing bundle entirely.

Reviewed By: quark-zju

Differential Revision: D7591166

fbshipit-source-id: 143ad029bfe4d141f91d6d5077342dfa44ad2944
2018-04-13 21:51:52 -07:00
Jun Wu
effa0da8de test-helpers: add a helper to run test using chg
Summary:
The helper could be used in individual tests to enable chg if chg exists.
This allows us to have more precise control on what tests to use chg instead
of using a global flag in run-tests.py.

This makes certain tests containing many hg commands much faster. For example,
`test-revset.t` took 99 seconds before:

  % ./run-tests.py test-revset.t --time
  .
  # Ran 1 tests, 0 skipped, 0 failed.
  # Producing time report
  start   end     cuser   csys    real      Test
    0.000  99.990  86.410  12.000  99.990   test-revset.t

And 10 seconds after:

  % ./run-tests.py test-revset.t --time
  .
  # Ran 1 tests, 0 skipped, 0 failed.
  # Producing time report
  start   end     cuser   csys    real      Test
    0.000  10.080   0.380   0.130  10.080   test-revset.t

Also enable it for some other tests. Note the whitelist is not complete.  We
probably want to whitelist more tests in the future.

The feature could be opted out by deleting `contrib/chg/chg`.

Reviewed By: phillco

Differential Revision: D6767036

fbshipit-source-id: 8220cf408aa198d5d8e2ca5127ca60e2070d3444
2018-04-13 21:50:54 -07:00
Jun Wu
7fa918cefd perftweaks: move commit head detection removal logic to core
Summary: Also change the internal API so it no longer accepts the "heads" argument.

Reviewed By: ryanmce

Differential Revision: D6745865

fbshipit-source-id: 368742be49b192f7630421003552d0a10eb0b76d
2018-04-13 21:50:52 -07:00
Mark Thomas
5e4b8bd3a5 pushrebase: correctly track lastdestnode when rebasing merges
Summary:
The initial value of lastdestnode should be the commit onto which the rebase is
happening.

It should be updated whenever a new commit is added for which the p1 parent is
the old last dest node.

Test Plan: Run the new test, and show it now works.

Reviewers: durham, rmcelroy, #mercurial

Reviewed By: rmcelroy

Subscribers: mitrandir

Differential Revision: https://phabricator.intern.facebook.com/D6709108

Signature: 6709108:1515760332:32bef9892792c7c94117b8fe14364937d98ebbac
2018-01-12 19:32:46 -08:00
Mark Thomas
88d034ad12 pushrebase: add test showing failure to handle p2-parent merges
Summary:
If pushrebase is asked to rebase a commit where the p2-parent is the route to
the commit onto which the rebase is being made, then it is supposed to flip the
parents.  This is what ensures that the changes from the server-only commits
are not lost.

This doesn't work.  In this test, the "other" file, created on the server, is
lost in the final merged commit.

Test Plan: Added a test which demonstrates a failure.

Reviewers: quark, #mercurial

Reviewed By: quark

Subscribers: quark

Differential Revision: https://phabricator.intern.facebook.com/D6709096

Signature: 6709096:1515794007:0908765c24b18a7dcaf3672953e816095b0acf68
2018-01-12 19:34:12 -08:00