Commit Graph

1990 Commits

Author SHA1 Message Date
Tony Tung
e73e3e82b2 [check-code] remove reference to file that has since been removed
Test Plan: pass check code

Reviewers: #mercurial, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3789049:1472521405:db4d224b1bbaab74ee5440403f59e7ed23cf65d6
2016-08-29 21:53:51 -07:00
Tony Tung
998c4c7e9d remove remotefilenames check code
Summary: Doesn't seem to make sense to keep two of them.

Test Plan: meh.

Reviewers: #mercurial, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3789029:1472521395:db958a5f050319dfa7c608cc448e2d38acbb8c0c
2016-08-29 21:53:34 -07:00
Tony Tung
36681987eb [cdatapack] struct type for return code for getdeltachainlink
Summary: Noop as far as the actual result codes are thus far.

Test Plan: compiles, passes rigged test-remotefilelog-datapack.py

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3787517:1472517234:f1a9bac77588e9c3d1d64e5923efc23e5e2d0066
2016-08-29 21:51:22 -07:00
Tony Tung
ec2fcf297c [cdatapack] #define PY_SSIZE_T_CLEAN
Summary: This allows us to use a typedef'd type for our size fields, and avoid the sketchy int declarations.

Test Plan: pass test-remotefilelog-datapack.py (with hacks)

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3786882:1472515261:91d86f5bda09f4a0beea729eb1f871e99932548b
2016-08-29 21:50:55 -07:00
Tony Tung
e337be9c29 [cdatapack] check the version code in the datapack file
Summary:
We were only checking the version code in the index file.

Depends on D3786770

Test Plan: now we can pass a hacked up version of test-remotefilelog-datapack.py

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3786805:1472515742:5c411b158f39c6153a3746f734037e17ba274e11
2016-08-29 21:49:52 -07:00
Tony Tung
bcc09dcfb2 [cdatapack] error handling for setting up cdatapack
Summary:
1. handle has a status field which indicates how successful it was in opening.
2. in the python abstraction layer, we inspect the status field.  we check the error code before we free the block and return control.

Test Plan: a version of test-remotefilelog-datapack.py hacked up to use cdatapack passes (except for version code mismatches in the data file; addressing that in separate diff)

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3786770:1472514907:e907f2c8d75f1ce0a65aff2b2c97541bb5e27801
2016-08-29 21:49:26 -07:00
Tony Tung
a916da7f6d [cdatapack] remove hilariously useless noop
Summary: Not sure how this snuck in.

Test Plan: make local

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3786739:1472514343:a2df360e3aa2c7cb38573031a193db16d30dc747
2016-08-29 21:48:08 -07:00
Tony Tung
bae493d432 [cdatapack] fix error handling for build_pack_chain
Summary:
1. return `pack_chain_code_t` structs since they're small.  add an error code.
2. set the code for returning the data.
3. `get_delta_chain` examines the return code and passes it back up.

Depends on D3786447

Test Plan:
make local.

tried cdatapack_dump and cdatapack_get without anything blowing up.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3786546:1472515566:94d4df0d4a2f99d990bab5134df9b8ea934e0d7f
2016-08-29 21:47:37 -07:00
Tony Tung
adfafb792b [cdatapack] fix error handling for getdeltachain
Summary:
1. `delta_chain_t` is a pretty small structure, so I'm modifying the code to return this struct on the stack.  This removes the allocation and the error checking needs for it.
2. add a `code` field to indicate the status.

Test Plan:
make local.

unfortunately, we don't have any good tooling to introduce memory allocation failures, so this is mostly visual.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir, mjpieters

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

Tasks: 12932864

Signature: t1:3786447:1472514697:c09956480b8a5456ffc3f2f955d6a2d2e816769f
2016-08-29 21:46:43 -07:00
Durham Goode
afe0a91adc ctree: return -1 instead of NULL for contains error 2016-08-29 16:19:52 -07:00
Martin von Zweigbergk
71cbc6ab90 treemanifests: include dirlogs in streaming cloning
We need to include the dirlogs (meta/**/00manifest.{i,d}) in streaming
clones for treemanifests to work. Also add a test for it.
2016-08-29 16:19:52 -07:00
Martin von Zweigbergk
16e5bfa49b shallowstore: remove seemingly unnecessary code
remotefilelogserver.py already overrides _walkstreamfiles and makes
sure to include locally committed content, so the override in
shallowstore doesn't seem necessary. It also breaks treemanifests,
since it doesn't include the meta/ directory.
2016-08-29 16:19:52 -07:00
Martin von Zweigbergk
ba3921257f tests: check that local commit data gets transferred 2016-08-29 16:19:52 -07:00
Durham Goode
7639fb3427 ctree: fix ref counting for args that are put in PythonObj wrappers
Summary:
It turns out PyArg_ParseTuple doesn't create new refs, so if we put any
arguments in PythonObj wrappers, they will be incorrectly decremented during
destruction. Let's increment the ref before putting any args in PythonObj.

Test Plan:
N/A, I just eyeballed this. I did look at all other uses of
PyArg_ParseTuple to verify no other cases had this issue.

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3766116
2016-08-29 16:19:52 -07:00
Durham Goode
ae1de63bcd ctree: implement treemanifest.__contains__
Summary:
With this implemented, it's now possible to run 'hg diff' and have it use
exclusively our treemanifest implementation.

Test Plan:
Ran 'hg diff -r master^ -r master' with some future patches and
verified the result was correct (it originally failed entirely because
__contains__ was not implemented).

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3766114
2016-08-29 16:19:52 -07:00
Durham Goode
a10476dec4 ctree: implement treemanifest.filesnotin
Summary: The filesnotin function is necessary for hg diff, so let's implement it.

Test Plan:
Ran 'hg diff -r master^ -r master' with some future patches and
verified the result was correct (it originally failed entirely because
filesnotin was not implemented).

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3766108
2016-08-29 16:19:52 -07:00
Durham Goode
38ad2b9ab5 ctree: fix treemanifest.diff signature
Summary:
Turns out that manifest.diff accepts kwargs, so we need to support that
signature. We'll come back and actually implement clean=True support later.

Test Plan:
Ran 'hg diff -r master^ -r master' with some future patches and
verified the result was correct (it originally failed entirely because diff had
the wrong signature).

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

Subscribers: ttung

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

Signature: t1:3766104:1472156875:0ce2a16286b1e4fd6b0f2260249e3318270d8814
2016-08-29 16:19:52 -07:00
Durham Goode
2ed42c2e18 ctree: implement treemanifest.matches
Summary:
This implements the matches function of treemanifest. These are necessary for hg
diff to work.

Test Plan:
Ran 'hg diff -r master^ -r master' with some future patches and
verified the result was correct (it originally failed entirely because matches
was not implemented).

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3766101
2016-08-29 16:19:52 -07:00
Durham Goode
9038e49502 ctree: move py_fileiter creation to a function
Summary:
File iteration is becoming a common pattern, so let's move py_fileiter creation to a
common area. This also move the fileiter initialization logic into the
constructor so it's not duplicated anymore either.

Test Plan:
Ran 'hg files' and 'hg manifest' with future patches that allowed hg
to use the treemanifest and verified they still worked.

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3775597
2016-08-29 16:19:52 -07:00
Durham Goode
231b2d487f ctree: move file iterator to a separate function
Summary:
This moves the file iterator to a separate function so that it may be reused in
other areas. It also further separates the iterator from the python specific
logic.

Two notable changes to the logic:
1. It now returns the node and flag as well as the path.

2. Instead of copying iter->path straight into a python string for returning,
the caller provides a path, node, and flag character array as arguments and the
result is copied into that array. This results in a little more string copying
during iteration, but since the character array is stack allocated it the actual
performance impact is neglible.

Test Plan:
Ran the perf test, verified fulliter perf didn't change (2.2s before
and after).  Also used pdb to verify the results were valid and expected paths.

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3760071
2016-08-29 16:19:52 -07:00
Durham Goode
215719861a ctree: implement treemanifest.flags
Summary:
This implements the flags api. After this, hg manifest --debug can work with
treemanifest.

Test Plan:
In a future patch, I was able to run 'hg manifests' on a commit and
have it return the manifest contents by reading the treemanifest.

Reviewers: #fastmanifest

Differential Revision: https://phabricator.intern.facebook.com/D3755343
2016-08-29 16:19:52 -07:00
Durham Goode
e8cbd159b6 ctree: implement __getitem__
Summary: This implements treemanifest.__getitem__ in the C api.

Test Plan:
In a future patch, I was able to run 'hg manifests' on a commit and
have it return the manifest contents by reading the treemanifest.

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

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

Signature: t1:3755338:1471930178:933e1d56f98c6e615624e2501a01a6ae925c2f8d
2016-08-29 16:19:52 -07:00
Durham Goode
14a161093f perftest: remove hard coded revs and paths
Summary: This removes the hard coded revs and paths used in the perf test script.

Test Plan: Ran the perf test

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

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

Signature: t1:3755335:1471930070:e90a242a8f73d2fc32ea68bc99cae88b00af14c9
2016-08-29 16:19:52 -07:00
Durham Goode
3b7beae747 ctree: add ctreemanifest hg extension
Summary:
Adds the initial extension that sets up the ctreemanifest. It currently relies
on the fastmanifest extension to hook into all the manifest APIs to construct
ctreemanifests.

Test Plan:
In a future patch, I was able to run 'hg manifests' on a commit and
have it return the manifest contents by reading the treemanifest.

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

Subscribers: ttung

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

Signature: t1:3755327:1472114482:0c5862cba68ed4db643d28c2fae01f33f5352970
2016-08-29 16:19:52 -07:00
Durham Goode
c0d1a3e372 ctree: remove unnecessary rootpath variables
Summary: After a recent refactoring these are now unused.

Test Plan: make local

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

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

Signature: t1:3756194:1471929972:bdace32b744bfaaf03228f13de0fb6ffec240dab
2016-08-29 16:19:52 -07:00
Durham Goode
ffa54597c6 ctree: move Python.h to be included first
Summary:
If we don't include Python.hg before some of the standard library (like list),
it causes a build error on some machines ('error: "_POSIX_C_SOURCE" redefined').
So let's move all Python.h to the front.

Also add a missing stdexcept include that's needed for the use of
std::logic_error

Test Plan: make local on centos6

Reviewers: #fastmanifest, ttung

Reviewed By: ttung

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

Signature: t1:3756191:1471929906:8afc09ee74b5ab5512fc87fadbed311cf15cb768
2016-08-29 16:19:52 -07:00
Zach Amsden
214a35d6cb Fix statprof for upstream
Summary: Upstream mercurial has changed, breaking statprof

Test Plan: HGPROF=stat ./hg-dev  --config extensions.statprofext=~/facebook-hg-rpms/fb-hgext/hgext3rd/statprofext.py  --config profiling.enabled=True --config profiling.frequency=10000 --profile log -l 1000 --pager=off

Reviewers: durham, quark, #mercurial, ttung

Reviewed By: ttung

Subscribers: mjpieters

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

Signature: t1:3786387:1472497930:488d7d584395ca686de4dc458c87eb05fc944282
2016-08-29 15:23:04 -07:00
Tony Tung
bfd38d2f68 [cdatapack] fix memory cleanup
Summary: `PyTuple_Pack` does not steal the reference, so we need to decref.

Test Plan: valgrind is my friend.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, lcharignon, mitrandir

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

Signature: t1:3698714:1472175554:d5f1cde0ba1571357d746a45ab9f4dbd0d0ccb6e
2016-08-29 11:44:08 -07:00
Tony Tung
79f8190f51 [cdatapack] remove null test
Summary: No longer needed.

Test Plan: make local && clion build && make unit tests.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3780786:1472255290:cdf238f772234f8a2e15d69dca6489b6b977511d
2016-08-26 17:15:06 -07:00
Tony Tung
2b3e7ac198 port upgrades of buffer.h into clib
Summary:
buffer.h gained the ability to deal with non-char-sized buffers when I built cdatapack.  We need to update the callers in ctreemanifest to be aware of this.  Most of this is done with macro magic.

Some functionality was dropped from cdatapack's buffer.h (macro definitions to deal with paths).  Those are moved to path_buffer.h

Test Plan:
make local && clion build.
pass cfastmanifest unit tests.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3780767:1472255278:40a19edfd171df5804e9cdfa4444d5c6386f00e8
2016-08-26 17:14:52 -07:00
Tony Tung
2f5e85ccb8 move common code to clib
Test Plan: make local && build in clion

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3780622:1472250774:fa702d78dab39eb74c8de58c0d589ae36a2c42b3
2016-08-26 15:45:43 -07:00
Tony Tung
56aaa74bc9 collapse all the build files into one
Summary: One giant CMake file.  Only I use CLion, so i don't think this affects anyone else.

Test Plan: make in clion. run cfastmanifest unit tests.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir, mjpieters

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

Signature: t1:3780573:1472250750:ece55fb66a656624335c8432ab3c8334699ea36e
2016-08-26 15:41:33 -07:00
Tony Tung
5a3720dbae [cdatapack] fix build issues on other platforms
Summary: Ubuntu 14 apparently requires `_BSD_SOURCE` to be defined for nteoh64 to exist.  Also, MAP_FILE is not part of POSIX mmap spec, so is not always available.  Fortunately, on the platforms we support (linux and osx), it appears to be implied by default.

Test Plan: make local

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir, mjpieters

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

Signature: t1:3780057:1472246090:100c38f613e67dc1c56ab6ef55a3cc7c4f703497
2016-08-26 14:17:38 -07:00
Tony Tung
5e5270d3a7 [ctree] initialize the ManifestEntry in addChild after adding to the list
Summary: When a ManifestEntry is destroyed, we reap the heap-allocated resources it holds.  However, this (erroneously) happens when we create a ManifestEntry and add it to the list of children.  What we really need is a move constructor from C++11.  The workaround is to initialize a blank ManifestEntry, add it to the proper location, and then populate it afterwards.

Test Plan: addChild (in a later diff) no longer tramples over memory it no longer owns.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3772915:1472174144:a4baac5cb5f6e01a38042c5c6cd92570c8f8e100
2016-08-26 13:49:17 -07:00
Tony Tung
4244eaa191 [ctree] addChild should return a ManifestEntry *
Summary: This gives us a bit of flexibility when we call this method, as references cannot be reassigned.

Test Plan: compiles

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3772844:1472174021:565d7f25a27c2fd78ce14b86b5bc499c74d47976
2016-08-26 13:49:17 -07:00
Tony Tung
13ec463298 [ctree] a newly instantiated ManifestEntry should point to a new Manifest
Test Plan: haven't used this yet, but it makes a whole lot of sense.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3770366:1472173969:b83e10e27a63b863a3566d2df7cc861417b8208e
2016-08-26 13:49:17 -07:00
Tony Tung
4b0840f5ea [ctree] add two new methods to Manifest
Summary:
1. `children()`, which returns the number of children the manifest has.
2. `removeChild()`, which removes the entry that the iterator references.

Test Plan: used in later diffs

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3770363:1472173823:737043b4613a669b402dcfd7921ac55278c3ece9
2016-08-26 13:49:17 -07:00
Tony Tung
96f89fa049 [ctree] fix findChild
Summary: The strings are not necessarily null-terminated and length needs to be considered.

Test Plan: used in later diff to find a path.

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir

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

Signature: t1:3770358:1472173786:9a2f681c90476aafd481c301ff65ac8b199214ec
2016-08-26 13:49:17 -07:00
Tony Tung
79f0ebb34a [ctree] create a new method appendbinfromhex
Summary:
appendbinfromhex appends the binary representation of a 40-byte hex string onto a std::string.  This allows us to reuse a std::string rather than to allocate a new one every time.

Also:

1. converted binfromhex to use this method.
2. updated the docblocks to actually reflect reality.

Test Plan: `make local && cd ~/work/fbsource && PYTHONPATH=~/work/mercurial/facebook-hg-rpms/remotefilelog:~/work/mercurial/facebook-hg-rpms/fb-hgext/:~/work/mercurial/facebook-hg-rpms/remotenames/:~/work/mercurial/facebook-hg-rpms/lz4revlog/ /opt/local/bin/python2.7 ~/work/mercurial/facebook-hg-rpms/hg-crew/hg --config extensions.perftest=~/work/mercurial/facebook-hg-rpms/remotefilelog/tests/perftest.py testtree --kind flat,ctree,fast --test fulliter,diff,find --build "master~5::master"`

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3770048:1472105520:eac79a42360ebfa258519346b68fc4541c2dbb7c
2016-08-26 13:49:17 -07:00
Tony Tung
a6bc389217 [ctree] free memory when destroying a treemanifest object
Summary: Everyone who holds heap-allocated memory gets destructors!

Test Plan: valgrind and confirmed no memory leaking from ctreemanifest

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Tasks: 12818084

Signature: t1:3763327:1472105103:8ac9d9694be4bf3b09e19e4381737622c94a2dac
2016-08-26 14:00:37 -07:00
Tony Tung
118cc2f8f0 [ctree] cache the root manifest upon retrieval
Summary: In most cases, this is pretty straightforward.  The only unusual case is `_treemanifest_find`, which does the actual resolution of the root manifest (unlike diff and iter).

Test Plan: make local

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir

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

Signature: t1:3763324:1472173572:3dcda9b318ad818d2f51e8c3472c7770739faafe
2016-08-26 13:49:17 -07:00
Tony Tung
5436c47a0d [ctree] rename node to rootNode
Summary: This more accurately describes its purpose.

Test Plan: simple refactor, so thus just make local

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: durham, mitrandir

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

Signature: t1:3763323:1472104318:b48246777db0527c7022066438c211f54c88703e
2016-08-26 13:49:17 -07:00
Tony Tung
75c02e78a9 [ctree] initialize all the fields in ManifestEntry constructor
Summary: It makes a destructor possible.

Test Plan: make local

Reviewers: #fastmanifest, durham

Reviewed By: durham

Subscribers: mitrandir

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

Signature: t1:3763322:1472104242:e76ef1943c2082ddecff872c6472de4706505922
2016-08-26 13:49:17 -07:00
Mateusz Kwapich
dd16a02f8e sparse: remove the failed attempt to change watchman config during test
Summary:
I've seen the failures like https://phabricator.intern.facebook.com/P56599278
which were the result of "enforce_root_files" being set in our global watchman
config.

It appears that the global configs are being picked up only on server start.
Killing server during the test won't help because watchman is automagically
restarted in our dev environment.

The way to do it properly is to mimic
https://github.com/facebook/watchman/blob/master/tests/integration/WatchmanInstance.py
until we do that I've just put a .watchmanconfig to fix the test.

Test Plan: tests is passing now

Reviewers: #mercurial, ttung, durham, wez, zamsden

Reviewed By: wez, zamsden

Subscribers: mjpieters

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

Signature: t1:3772968:1472158987:0e08c5e9f862ba3d74d016d051b852512d06e399
2016-08-26 11:59:52 -07:00
Mateusz Kwapich
8bc273e058 fix scm-prompt test
Summary: I ran tests with --noskip and found one more failure

Test Plan: test passing now

Reviewers: #mercurial, ttung

Reviewed By: ttung

Subscribers: mjpieters

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

Signature: t1:3772978:1472155449:1c5d8e16bd51d2b06f15432dd47c6fba48da3abd
2016-08-26 11:59:49 -07:00
Ryan McElroy
f4dd73e113 remotefilelog: pass modern check-code
Test Plan: run-tests.py test-check-code-hg.t

Reviewers: #mercurial, ttung, simonfar

Reviewed By: simonfar

Subscribers: simonfar, mjpieters

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

Tasks: 12855049

Signature: t1:3777581:1472224785:a15040cec1c95ca60d1be837d905b3c3d87be362
2016-08-26 08:48:07 -07:00
Ryan McElroy
924eb66ea9 rewrite intro paragraph to README.md
Test Plan: inspection

Reviewers: #mercurial, ttung, simonfar

Reviewed By: simonfar

Subscribers: mjpieters

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

Signature: t1:3777504:1472224358:5ef2c5d3c0fec5ae302e37730c67dae887a1c3c7
2016-08-26 08:46:48 -07:00
Ryan McElroy
df3f2d0bab format README.md
Summary: Line length yo

Test Plan: markdown parser

Reviewers: #mercurial, ttung, simonfar

Reviewed By: simonfar

Subscribers: simonfar, mjpieters

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

Signature: t1:3777500:1472224501:1cd98e3093c51e06f8158f9cf72d2ae00e4cb1a8
2016-08-26 08:46:48 -07:00
Stanislau Hlebik
3569253ed8 infinitepush: lint fixes
Summary: {P56601586}

Test Plan: `cd fb-hgext/tests && python ../../hg-crew/tests/run-tests.py test-check-code-hg.t`

Reviewers: rmcelroy

Reviewed By: rmcelroy

Subscribers: mjpieters, #sourcecontrol

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

Signature: t1:3777586:1472223173:56da05516a766422f16a5b61046cb8bd95bd67a4
2016-08-26 08:01:30 -07:00
Steve Fink
c6e9bfc3fb chistedit: Disable numeric 'goto' command with large number of patches.
You can jump to a patch by pressing its numeric index, but this obviously only works with up to 10 patches. Moreover, with a large number of patches the feature is dangerous, since an accidental number press will lose your place. While we could do something fancy and prompt for multi-digit input in the many-patch case, it doesn't seem worth the complexity, and simply disabling 'goto' seems good enough.
2016-08-26 06:41:26 -07:00