sapling/tests
Mateusz Kwapich 440d3ebb04 sqldirstate: the extension
Summary:
An extension replacing dirstate file with sqlite database so we can have incremental changes and we don't have to read the whole dirstate on every op. This makes sense only when hgwatchan/fsmonitor is on so we don't iterate through whole dirstate.
This is also using the sqlite transactions to handle dirstate transactions instead of copying db around. As a result of that "hg rollback" doesn't work anymore. You can fall back to copying things by setting sqldirstate.skipbackups to False.

Needs those to go to upstream to work: https://phabricator.intern.facebook.com/P56319612
(will send them once the freeze is over)

To use make sure that the extension is loaded *before* hgwatchman (watchman
should be outmost layer).

Test Plan:
Passing all but few mercurial tests (when running with skipbackups=False)
The failures are described in blacklist file.

Reviewers: lcharignon, wez, quark, durham

Reviewed By: durham

Subscribers: laurent, mjpieters, #sourcecontrol

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

Signature: t1:3242547:1462577481:fdbfb5287fb8d3e58f7b4d587c01de79ce6b78df
2016-05-06 16:56:45 -07:00
..
blacklist-sqldirstate sqldirstate: the extension 2016-05-06 16:56:45 -07:00
conduithttp.py fbconduit: the deamon-postexec is a list now 2016-03-31 13:34:21 -07:00
dummyext1.py cleanup: make all the code compliant with the i18n rules for ui strings 2016-01-11 10:19:22 -08:00
dummyext2.py cleanup: make all the code compliant with the i18n rules for ui strings 2016-01-11 10:19:22 -08:00
histedit-helpers.sh fb-histedit: Add a histedit extension that adds stop 2014-10-09 10:54:43 -07:00
killdaemons.py Add missing killdaemons 2015-11-09 12:21:39 -08:00
README spelling: fix numerous spelling errors 2016-04-04 12:48:01 -07:00
run-sqlitedirstate-test.py sqldirstate: the extension 2016-05-06 16:56:45 -07:00
test-arcconfig.t add arcconfig accessors 2016-04-27 09:27:56 -07:00
test-backup.t backups: show warning message for createmarkers even when evolve is not enabled 2016-01-11 07:41:42 -08:00
test-catnotate.t catnotate: add whole extension 2015-10-16 02:45:27 -07:00
test-check-code-hg.t [fastmanifest] persistence layer for trees 2016-05-04 14:11:55 -07:00
test-commitextras.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-diff-since-last-arc-diff.t hgext: simplify arcdiff.py by using differential.getdiffproperties 2016-04-28 16:31:51 -07:00
test-dirsync.t dirsync: disable dirsync during shelve/unshelve 2016-05-05 14:51:59 -07:00
test-errorredirect.t errorredirect: wrap handlecommandexception instead of sys.exit 2016-04-19 10:59:22 -07:00
test-extorder.t extorder: Fix test 2015-12-15 09:23:53 -08:00
test-fastmanifest.py fastmanifest: End to end proof of concept 2016-04-12 14:00:35 -07:00
test-fastmanifest.t fastmanifest: End to end proof of concept 2016-04-12 14:00:35 -07:00
test-fbamend.t fbamend: fix some bugs & style issues in unamend implementation 2016-04-26 04:58:59 -07:00
test-fbconduit.t cleanup: fix quoting patterns in tests 2016-01-07 18:30:24 -08:00
test-fbhistedit-exec-obsolete.t adjust tests for "hg update" output change 2016-02-08 14:46:24 -08:00
test-fbhistedit-exec.t adjust tests for "hg update" output change 2016-02-08 14:46:24 -08:00
test-fbhistedit-rebase-interactive.t fbhistedit: update to work with upstream histedit 2016-01-20 13:40:15 -08:00
test-fbhistedit-stop-obsolete.t spelling: fix numerous spelling errors 2016-04-04 12:48:01 -07:00
test-fbhistedit-stop.t spelling: fix numerous spelling errors 2016-04-04 12:48:01 -07:00
test-git-getmeta.t Dropped local run-tests in favour of using mercurial's own test runner 2015-10-01 13:03:03 -07:00
test-githelp.t githelp: change advice to log task with sourcecontrolux tag 2016-04-28 04:14:31 -07:00
test-inhibitwarn.t cleanup: fix whitespaces in expression and trailing whitespaces 2016-01-07 18:30:24 -08:00
test-manifestdiskcache.t [manifestdiskcache] support --repository/-R 2016-02-29 22:42:04 -08:00
test-mergedriver.t test: match new quoting conventions in core 2016-04-19 15:33:58 -07:00
test-morestatus.t test: match new quoting conventions in core 2016-04-19 15:33:58 -07:00
test-perftweaks.t test-perftweaks: fix file permission test case 2016-04-07 16:53:18 -07:00
test-phabdiff.t phabdiff: make phabdiff more URL-agnostic 2016-04-28 10:55:06 -07:00
test-phabstatus.t Add conduit client 2016-04-27 09:27:56 -07:00
test-pull-createmarkers-hide-later.t [pullcreatemarkers] also obsolete parents of commits landed in this pull 2016-03-21 18:08:04 -07:00
test-pull-createmarkers.t phabdiff: make phabdiff more URL-agnostic 2016-04-28 10:55:06 -07:00
test-pushrebase-protection.t store the pushvars in the bundle2 operation object 2016-02-18 21:32:11 -08:00
test-pushrebase-remotenames.t pushrebase: support pushing to non-pushrebase repos 2016-03-22 10:57:29 -07:00
test-pushrebase.t Fix graphmod-related test failures 2016-04-19 11:19:20 +01:00
test-pushvars-remotenames.t store the pushvars in the bundle2 operation object 2016-02-18 21:32:11 -08:00
test-pushvars.t store the pushvars in the bundle2 operation object 2016-02-18 21:32:11 -08:00
test-rage.t rage: silence exceptions when reading details 2016-02-11 21:00:33 +00:00
test-reflog-remotenames.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-reflog.t reflog: do not read sys.argv 2016-05-05 16:34:26 -07:00
test-reset-remotenames.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-reset.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-scm-prompt-git.t scm-prompt: add test for git behavior 2016-04-29 10:49:36 -07:00
test-scm-prompt-hg.t scm-prompt: fix check-code test problems 2016-04-29 06:58:12 -07:00
test-share-reflog-remotebookmark.t test-share-reflog-remotebookmark: check dependencies 2016-04-07 16:53:54 -07:00
test-show.t spelling: fix numerous spelling errors 2016-04-04 12:48:01 -07:00
test-simplecache.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-smartlog-remotenames.t smartlog: warn user when there is no master commit locally 2016-02-02 11:15:28 -08:00
test-smartlog-tweakdefaults.t smartlog: add template keywords that would display rebase/amend targets 2016-04-27 04:14:12 -07:00
test-smartlog.t Fix graphmod-related test failures 2016-04-19 11:19:20 +01:00
test-sparse-clone.t [sparse] fix check-code errors in sparse 2016-02-08 14:27:09 -08:00
test-sparse-extensions.t Prepare for hgwatchman being replaced by fsmonitor 2016-04-14 10:59:05 +01:00
test-sparse-merges.t sparse: fix temporary includes that are not in working copy 2015-05-19 10:18:50 -07:00
test-sparse-profiles.t sparse: update test output with simple change 2016-01-20 13:40:15 -08:00
test-sparse.t spelling: fix numerous spelling errors 2016-04-04 12:48:01 -07:00
test-tweakdefaults-blame.t fix code that didn't pass test-check-code-hg.t 2016-04-07 15:52:47 -07:00
test-tweakdefaults-histgrep.t histgrep: add a config option to allow histgrepping on the whole repo 2016-02-11 03:39:59 -08:00
test-tweakdefaults-opawarecommands.t tweakdefaults: make amend/rebase write their names to metadata 2016-04-25 08:12:10 -07:00
test-tweakdefaults-ordering.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-tweakdefaults-remotenames.t cleanup: use backtick instead of parent to capture output of shell cmd 2016-01-07 18:30:24 -08:00
test-tweakdefaults.t tweakdefaults: support pull --rebase -d <dest> without remotenames 2016-02-05 10:02:41 -08:00

How to run Facebook experimental extensions tests
=================================================

Running the tests
-----------------

To run the tests, `cd` into this directory (./tests/) and run the `run-tests.py`
script from the core Mercurial repository (tests directory too).

For example if you have a 'hg-crew' repository checked out next to this one,
use:

  ../../hg-crew/tests/run-tests.py

Obtaining the test runners
--------------------------

If you do not already have a copy of the Mercurial repository, you can obtains
one with:

  $ hg clone http://selenic.com/hg/

Running against various Mercurial versions
------------------------------------------

By default, the test runners will run against the version of Mercurial in the
repository it lives in. you can run against other version of Mercurial using
the --with-hg=PATH flag. For example to run against the installed version of
Mercurial you can use --with-hg=`which hg`