1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-02-16 16:58:38 +01:00
No description
Find a file
durham eda3fc2ab4 Improve mercurial 'arc land' perf by avoiding updates
Summary:
Mercurial 'arc land --hold' was taking 90+ seconds on our large
repository.  Since most of arc land doesn't require any particular working
directory, I've changed the mercurial logic to avoid all updates except for
two: the one prior to finding the revision (only applies if the user specified
--branch), and the one at the end to leave the user in a good state.

Also got rid of a 'hg outgoing' call when phases are supported. Also changed
the hg-subversion detection to just look for .hg/svn instead of running 'hg
svn info', which was taking 4 seconds.

Now arc land takes about 50 seconds. Still much worse than git's 25 seconds.
One big hot spot is in the two 'hg rebase' calls, which account for 25 seconds
(versus 11 seconds of git).

Test Plan:
Tested arc land with mercurial and git. Tested with and without the --branch
options.

Reviewers: epriestley, bos, sid0, dschleimer

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5014
2013-02-19 13:36:02 -08:00
bin Allow arc.bat to work from paths with spaces in them 2013-01-09 12:34:30 -08:00
externals Update PEP8 to 1.3.4 2012-12-21 11:34:40 -08:00
resources Delete license headers from files 2012-11-05 11:16:24 -08:00
scripts Fix dynamic string usage as safe input 2013-02-03 15:04:45 -08:00
src Improve mercurial 'arc land' perf by avoiding updates 2013-02-19 13:36:02 -08:00
.arcconfig Delete license headers from files 2012-11-05 11:16:24 -08:00
.divinerconfig Make the "this is technical documentation" message of "Arcanist Overview" more clear 2012-08-10 11:37:30 -07:00
.editorconfig Specify config for text editors 2012-11-03 00:13:53 -07:00
.gitignore Allow arcanist to search for libphutil in externals/includes/ 2012-08-10 14:58:19 -07:00
LICENSE Delete license headers from files 2012-11-05 11:16:24 -08:00
NOTICE Delete license headers from files 2012-11-05 11:16:24 -08:00
README Delete license headers from files 2012-11-05 11:16:24 -08:00

WHAT IS ARCANIST?

Arcanist is the command-line tool for Phabricator. It allows you to interact
with Phabricator installs to send code for review, download patches, transfer
files, view status, make API calls, and various other things. You can find
a complete user guide here:

  http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html

For more information about Phabricator, see:

  http://phabricator.org/

LICENSE

Arcanist is released under the Apache 2.0 license except as otherwise noted.