2011-01-10 00:22:25 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This file is automatically generated. Use 'phutil_mapper.php' to rebuild it.
|
|
|
|
* @generated
|
|
|
|
*/
|
|
|
|
|
|
|
|
phutil_register_library_map(array(
|
|
|
|
'class' =>
|
|
|
|
array(
|
2012-02-21 22:16:52 +01:00
|
|
|
'ArcanistAliasWorkflow' => 'workflow/alias',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistAmendWorkflow' => 'workflow/amend',
|
|
|
|
'ArcanistApacheLicenseLinter' => 'lint/linter/apachelicense',
|
2011-02-13 20:57:14 +01:00
|
|
|
'ArcanistApacheLicenseLinterTestCase' => 'lint/linter/apachelicense/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistBaseUnitTestEngine' => 'unit/engine/base',
|
|
|
|
'ArcanistBaseWorkflow' => 'workflow/base',
|
2011-06-23 21:10:59 +02:00
|
|
|
'ArcanistBranchWorkflow' => 'workflow/branch',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistBundle' => 'parser/bundle',
|
2011-11-10 02:55:04 +01:00
|
|
|
'ArcanistBundleTestCase' => 'parser/bundle/__tests__',
|
2011-05-06 17:43:38 +02:00
|
|
|
'ArcanistCallConduitWorkflow' => 'workflow/call-conduit',
|
Add an "arc merge" workflow
Summary:
This should support conservative rewrite policies in git fairly well, under an
assumed workflow of:
- Develop in local branches, never rewrite history.
- Commit with "-m" or by typing a brief, non-template commit message
describing the checkpoint.
- Provide rich information in the web console (reviewers, etc.)
- Finalize with "git checkout master && arc merge branch && git push" or some
flavor thereof.
This supports Mercurial somewhat. The major problem is that "hg merge" fails if
the local is a fastforward of the remote, at which point there's nowhere we can
throw the commit message. Oh well. Just push it and we'll do our best to link
them up based on local commit info.
I am increasingly forming an opinion that Mercurial is "saftey-scissors git".
But also maybe I have no clue what I'm doing. I just don't understand why anyone
would think it's a good idea to have a trunk consisting of ~50% known-broken
revisions, random checkpoint parts, whitespace changes, typo fixes, etc. If you
use git with branching you can avoid this by making a trunk out of merges or
with rebase/amend, but there seems to be no way to have "one commit = one idea"
in any real sense in Mercurial.
Test Plan: Execute "arc merge" in git and mercurial.
Reviewers: fratrik, Makinde, aran, jungejason, tuomaspelkonen
Reviewed By: Makinde
CC: aran, epriestley, Makinde
Differential Revision: 860
2011-08-26 01:02:03 +02:00
|
|
|
'ArcanistCapabilityNotSupportedException' => 'workflow/exception/notsupported',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistChooseInvalidRevisionException' => 'exception',
|
|
|
|
'ArcanistChooseNoRevisionsException' => 'exception',
|
|
|
|
'ArcanistCommitWorkflow' => 'workflow/commit',
|
2012-01-20 02:09:27 +01:00
|
|
|
'ArcanistConduitLinter' => 'lint/linter/conduit',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistConfiguration' => 'configuration',
|
|
|
|
'ArcanistCoverWorkflow' => 'workflow/cover',
|
|
|
|
'ArcanistDiffChange' => 'parser/diff/change',
|
|
|
|
'ArcanistDiffChangeType' => 'parser/diff/changetype',
|
|
|
|
'ArcanistDiffHunk' => 'parser/diff/hunk',
|
|
|
|
'ArcanistDiffParser' => 'parser/diff',
|
|
|
|
'ArcanistDiffParserTestCase' => 'parser/diff/__tests__',
|
2011-01-25 01:46:19 +01:00
|
|
|
'ArcanistDiffUtils' => 'difference',
|
2011-11-15 19:43:36 +01:00
|
|
|
'ArcanistDiffUtilsTestCase' => 'difference/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistDiffWorkflow' => 'workflow/diff',
|
|
|
|
'ArcanistDifferentialCommitMessage' => 'differential/commitmessage',
|
|
|
|
'ArcanistDifferentialCommitMessageParserException' => 'differential/commitmessage',
|
2011-12-03 01:21:14 +01:00
|
|
|
'ArcanistDifferentialRevisionHash' => 'differential/constants/revisionhash',
|
|
|
|
'ArcanistDifferentialRevisionStatus' => 'differential/constants/revisionstatus',
|
2011-07-29 19:05:07 +02:00
|
|
|
'ArcanistDownloadWorkflow' => 'workflow/download',
|
2011-11-10 22:47:45 +01:00
|
|
|
'ArcanistEventType' => 'events/constant/type',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistExportWorkflow' => 'workflow/export',
|
|
|
|
'ArcanistFilenameLinter' => 'lint/linter/filename',
|
|
|
|
'ArcanistGeneratedLinter' => 'lint/linter/generated',
|
|
|
|
'ArcanistGitAPI' => 'repository/api/git',
|
|
|
|
'ArcanistGitHookPreReceiveWorkflow' => 'workflow/git-hook-pre-receive',
|
|
|
|
'ArcanistHelpWorkflow' => 'workflow/help',
|
[arc svn-hook-pre-commit] Access working copy
Summary:
Creates a new hook API that can be used to interface with
SVN/Git/Mercurial in the context of a commit hook. Currently only adds a
function to read the modified file data in a Subversion commit hook.
An object of this API is created in the SvnHookPreCommitWorkflow and
passed on the Lint Engine which then uses it to access current file
data, of the way the APIs seem to be structured); linters use the
getData function which is essentially a wrapper around the engine's
call, with another layer of caching.
Task ID: #770556
Blame Rev:
Test Plan:
- Create a local svn repository and add a minimal hook to run the local
version of arc to test commits
(http://phabricator.com/docs/arcanist/article/Installing_Arcanist_SVN_Hooks.html)
- Create a temporary repository that can trigger any of the linters
available, and test against a temporary linter by committing against
the test repository: the linter should be able to access all required
files by using loadData/getData in the LintEngine and Linter.
Revert Plan:
Tags: lint, svn-hook-pre-commit
Reviewers: jungejason, asukhachev, epriestley, aran
Reviewed By: epriestley
CC: aran, jungejason, epriestley, kunalb, asukhachev
Differential Revision: https://secure.phabricator.com/D1256
2011-12-21 05:26:05 +01:00
|
|
|
'ArcanistHookAPI' => 'repository/hookapi/base',
|
2011-06-14 21:18:40 +02:00
|
|
|
'ArcanistInstallCertificateWorkflow' => 'workflow/install-certificate',
|
2012-01-14 00:21:57 +01:00
|
|
|
'ArcanistJSHintLinter' => 'lint/linter/jshint',
|
Add "arc land" as a first-class workflow
Summary:
This is a fancy version of "land.sh" that uses "git merge --squash" and
"arc which" to cover more cases.
Test Plan:
Ran "arc land" against various repository states (no such branch, not
accepted, valid, etc). Things seemed OK. There are basically an infinite number
of states here so it's hard to test exhaustively.
Reviewers: cpiro, btrahan, jungejason, davidreuss
Reviewed By: davidreuss
CC: zeeg, aran, epriestley, davidreuss
Maniphest Tasks: T787, T723
Differential Revision: https://secure.phabricator.com/D1488
2012-01-26 00:10:59 +01:00
|
|
|
'ArcanistLandWorkflow' => 'workflow/land',
|
'arc liberate', convenience wrapper for various libphutil operations
Summary:
The story for creating and maintaining libphutil libraries and modules
is pretty terrible right now: you need to know a bunch of secret scripts and
dark magic. Provide 'arc liberate' which endeavors to always do the right thing
and put a library in the correct state.
Test Plan:
Ran liberate on libphutil, arcanist, phabricator; created new
libphutil libraries, added classes to them, liberated everything, introduced
errors etc and liberated that stuff, nothing was obviously broken in a terrible
way..?
Reviewed By: aran
Reviewers: jungejason, tuomaspelkonen, aran
CC: aran, epriestley
Differential Revision: 269
2011-05-12 01:30:22 +02:00
|
|
|
'ArcanistLiberateLintEngine' => 'lint/engine/liberate',
|
|
|
|
'ArcanistLiberateWorkflow' => 'workflow/liberate',
|
2011-02-12 01:03:00 +01:00
|
|
|
'ArcanistLicenseLinter' => 'lint/linter/license',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistLintEngine' => 'lint/engine/base',
|
2011-04-13 23:18:30 +02:00
|
|
|
'ArcanistLintJSONRenderer' => 'lint/renderer',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistLintMessage' => 'lint/message',
|
|
|
|
'ArcanistLintPatcher' => 'lint/patcher',
|
|
|
|
'ArcanistLintRenderer' => 'lint/renderer',
|
|
|
|
'ArcanistLintResult' => 'lint/result',
|
|
|
|
'ArcanistLintSeverity' => 'lint/severity',
|
2011-04-13 23:18:30 +02:00
|
|
|
'ArcanistLintSummaryRenderer' => 'lint/renderer',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistLintWorkflow' => 'workflow/lint',
|
|
|
|
'ArcanistLinter' => 'lint/linter/base',
|
2011-02-13 20:57:14 +01:00
|
|
|
'ArcanistLinterTestCase' => 'lint/linter/base/test',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistListWorkflow' => 'workflow/list',
|
|
|
|
'ArcanistMarkCommittedWorkflow' => 'workflow/mark-committed',
|
Basic Mercurial support for Arcanist
Summary:
There's a lot of ground left to cover but this makes "arc diff" work (on one
trivial diff) in my sandbox, at least, and supports parsing of Mercurial native
diffs (which are unified + a custom header). Piles of missing features, still.
Some of this is blocked by me not understanding the mercurial model well yet.
This is also a really good opportunity for cleanup (especially, reducing the
level of "instanceof" in the diff workflow), I'll try to do a bunch of that in
followup diffs.
Test Plan: Ran "arc diff" in a mercurial repository, got a diff out of it.
Reviewed By: aran
Reviewers: Makinde, jungejason, tuomaspelkonen, aran, codeblock
CC: aran, epriestley, codeblock, fratrik
Differential Revision: 792
2011-08-09 18:00:29 +02:00
|
|
|
'ArcanistMercurialAPI' => 'repository/api/mercurial',
|
2011-09-16 12:53:52 +02:00
|
|
|
'ArcanistMercurialParser' => 'repository/parser/mercurial',
|
|
|
|
'ArcanistMercurialParserTestCase' => 'repository/parser/mercurial/__tests__',
|
Add an "arc merge" workflow
Summary:
This should support conservative rewrite policies in git fairly well, under an
assumed workflow of:
- Develop in local branches, never rewrite history.
- Commit with "-m" or by typing a brief, non-template commit message
describing the checkpoint.
- Provide rich information in the web console (reviewers, etc.)
- Finalize with "git checkout master && arc merge branch && git push" or some
flavor thereof.
This supports Mercurial somewhat. The major problem is that "hg merge" fails if
the local is a fastforward of the remote, at which point there's nowhere we can
throw the commit message. Oh well. Just push it and we'll do our best to link
them up based on local commit info.
I am increasingly forming an opinion that Mercurial is "saftey-scissors git".
But also maybe I have no clue what I'm doing. I just don't understand why anyone
would think it's a good idea to have a trunk consisting of ~50% known-broken
revisions, random checkpoint parts, whitespace changes, typo fixes, etc. If you
use git with branching you can avoid this by making a trunk out of merges or
with rebase/amend, but there seems to be no way to have "one commit = one idea"
in any real sense in Mercurial.
Test Plan: Execute "arc merge" in git and mercurial.
Reviewers: fratrik, Makinde, aran, jungejason, tuomaspelkonen
Reviewed By: Makinde
CC: aran, epriestley, Makinde
Differential Revision: 860
2011-08-26 01:02:03 +02:00
|
|
|
'ArcanistMergeWorkflow' => 'workflow/merge',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistNoEffectException' => 'exception/usage/noeffect',
|
|
|
|
'ArcanistNoEngineException' => 'exception/usage/noengine',
|
2011-02-25 02:59:49 +01:00
|
|
|
'ArcanistNoLintLinter' => 'lint/linter/nolint',
|
2011-03-13 03:16:15 +01:00
|
|
|
'ArcanistNoLintTestCaseMisnamed' => 'lint/linter/nolint/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistPEP8Linter' => 'lint/linter/pep8',
|
2011-07-30 03:55:01 +02:00
|
|
|
'ArcanistPasteWorkflow' => 'workflow/paste',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistPatchWorkflow' => 'workflow/patch',
|
|
|
|
'ArcanistPhutilModuleLinter' => 'lint/linter/phutilmodule',
|
|
|
|
'ArcanistPhutilTestCase' => 'unit/engine/phutil/testcase',
|
|
|
|
'ArcanistPhutilTestTerminatedException' => 'unit/engine/phutil/testcase/exception',
|
2011-05-19 11:00:59 +02:00
|
|
|
'ArcanistPyFlakesLinter' => 'lint/linter/pyflakes',
|
2011-05-22 12:32:26 +02:00
|
|
|
'ArcanistPyLintLinter' => 'lint/linter/pylint',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistRepositoryAPI' => 'repository/api/base',
|
2011-01-15 05:00:11 +01:00
|
|
|
'ArcanistShellCompleteWorkflow' => 'workflow/shell-complete',
|
2012-01-16 06:28:58 +01:00
|
|
|
'ArcanistSpellingDefaultData' => 'lint/linter/spelling',
|
|
|
|
'ArcanistSpellingLinter' => 'lint/linter/spelling',
|
|
|
|
'ArcanistSpellingLinterTestCase' => 'lint/linter/spelling/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistSubversionAPI' => 'repository/api/subversion',
|
[arc svn-hook-pre-commit] Access working copy
Summary:
Creates a new hook API that can be used to interface with
SVN/Git/Mercurial in the context of a commit hook. Currently only adds a
function to read the modified file data in a Subversion commit hook.
An object of this API is created in the SvnHookPreCommitWorkflow and
passed on the Lint Engine which then uses it to access current file
data, of the way the APIs seem to be structured); linters use the
getData function which is essentially a wrapper around the engine's
call, with another layer of caching.
Task ID: #770556
Blame Rev:
Test Plan:
- Create a local svn repository and add a minimal hook to run the local
version of arc to test commits
(http://phabricator.com/docs/arcanist/article/Installing_Arcanist_SVN_Hooks.html)
- Create a temporary repository that can trigger any of the linters
available, and test against a temporary linter by committing against
the test repository: the linter should be able to access all required
files by using loadData/getData in the LintEngine and Linter.
Revert Plan:
Tags: lint, svn-hook-pre-commit
Reviewers: jungejason, asukhachev, epriestley, aran
Reviewed By: epriestley
CC: aran, jungejason, epriestley, kunalb, asukhachev
Differential Revision: https://secure.phabricator.com/D1256
2011-12-21 05:26:05 +01:00
|
|
|
'ArcanistSubversionHookAPI' => 'repository/hookapi/subversion',
|
2011-01-12 10:49:48 +01:00
|
|
|
'ArcanistSvnHookPreCommitWorkflow' => 'workflow/svn-hook-pre-commit',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistTextLinter' => 'lint/linter/text',
|
2011-02-17 02:26:51 +01:00
|
|
|
'ArcanistTextLinterTestCase' => 'lint/linter/text/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistUnitTestResult' => 'unit/result',
|
|
|
|
'ArcanistUnitWorkflow' => 'workflow/unit',
|
2011-07-29 19:05:07 +02:00
|
|
|
'ArcanistUploadWorkflow' => 'workflow/upload',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistUsageException' => 'exception/usage',
|
|
|
|
'ArcanistUserAbortException' => 'exception/usage/userabort',
|
2012-01-24 17:07:38 +01:00
|
|
|
'ArcanistWhichWorkflow' => 'workflow/which',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistWorkingCopyIdentity' => 'workingcopyidentity',
|
2011-08-30 22:07:01 +02:00
|
|
|
'ArcanistXHPASTLintNamingHook' => 'lint/linter/xhpast/naminghook',
|
2012-01-28 20:17:45 +01:00
|
|
|
'ArcanistXHPASTLintNamingHookTestCase' => 'lint/linter/xhpast/naminghook/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistXHPASTLinter' => 'lint/linter/xhpast',
|
|
|
|
'ArcanistXHPASTLinterTestCase' => 'lint/linter/xhpast/__tests__',
|
2011-06-23 21:10:59 +02:00
|
|
|
'BranchInfo' => 'branch',
|
2012-01-17 23:54:27 +01:00
|
|
|
'ComprehensiveLintEngine' => 'lint/engine/comprehensive',
|
2011-06-30 04:32:03 +02:00
|
|
|
'ExampleLintEngine' => 'lint/engine/example',
|
2011-01-10 00:22:25 +01:00
|
|
|
'PhutilLintEngine' => 'lint/engine/phutil',
|
2011-02-19 20:36:08 +01:00
|
|
|
'PhutilModuleRequirements' => 'parser/phutilmodule',
|
2011-01-10 00:22:25 +01:00
|
|
|
'PhutilUnitTestEngine' => 'unit/engine/phutil',
|
2011-01-12 07:13:31 +01:00
|
|
|
'PhutilUnitTestEngineTestCase' => 'unit/engine/phutil/__tests__',
|
2011-01-10 00:22:25 +01:00
|
|
|
'UnitTestableArcanistLintEngine' => 'lint/engine/test',
|
|
|
|
),
|
|
|
|
'function' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'requires_class' =>
|
|
|
|
array(
|
2012-02-21 22:16:52 +01:00
|
|
|
'ArcanistAliasWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistAmendWorkflow' => 'ArcanistBaseWorkflow',
|
2011-02-12 01:03:00 +01:00
|
|
|
'ArcanistApacheLicenseLinter' => 'ArcanistLicenseLinter',
|
2011-02-13 20:57:14 +01:00
|
|
|
'ArcanistApacheLicenseLinterTestCase' => 'ArcanistLinterTestCase',
|
2011-06-23 21:10:59 +02:00
|
|
|
'ArcanistBranchWorkflow' => 'ArcanistBaseWorkflow',
|
2011-11-10 02:55:04 +01:00
|
|
|
'ArcanistBundleTestCase' => 'ArcanistPhutilTestCase',
|
2011-05-06 17:43:38 +02:00
|
|
|
'ArcanistCallConduitWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistCommitWorkflow' => 'ArcanistBaseWorkflow',
|
2012-01-20 02:09:27 +01:00
|
|
|
'ArcanistConduitLinter' => 'ArcanistLinter',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistCoverWorkflow' => 'ArcanistBaseWorkflow',
|
|
|
|
'ArcanistDiffParserTestCase' => 'ArcanistPhutilTestCase',
|
2011-11-15 19:43:36 +01:00
|
|
|
'ArcanistDiffUtilsTestCase' => 'ArcanistPhutilTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistDiffWorkflow' => 'ArcanistBaseWorkflow',
|
2011-07-29 19:05:07 +02:00
|
|
|
'ArcanistDownloadWorkflow' => 'ArcanistBaseWorkflow',
|
2011-11-10 22:47:45 +01:00
|
|
|
'ArcanistEventType' => 'PhutilEventType',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistExportWorkflow' => 'ArcanistBaseWorkflow',
|
|
|
|
'ArcanistFilenameLinter' => 'ArcanistLinter',
|
|
|
|
'ArcanistGeneratedLinter' => 'ArcanistLinter',
|
|
|
|
'ArcanistGitAPI' => 'ArcanistRepositoryAPI',
|
|
|
|
'ArcanistGitHookPreReceiveWorkflow' => 'ArcanistBaseWorkflow',
|
|
|
|
'ArcanistHelpWorkflow' => 'ArcanistBaseWorkflow',
|
2011-06-14 21:18:40 +02:00
|
|
|
'ArcanistInstallCertificateWorkflow' => 'ArcanistBaseWorkflow',
|
2012-01-14 00:21:57 +01:00
|
|
|
'ArcanistJSHintLinter' => 'ArcanistLinter',
|
Add "arc land" as a first-class workflow
Summary:
This is a fancy version of "land.sh" that uses "git merge --squash" and
"arc which" to cover more cases.
Test Plan:
Ran "arc land" against various repository states (no such branch, not
accepted, valid, etc). Things seemed OK. There are basically an infinite number
of states here so it's hard to test exhaustively.
Reviewers: cpiro, btrahan, jungejason, davidreuss
Reviewed By: davidreuss
CC: zeeg, aran, epriestley, davidreuss
Maniphest Tasks: T787, T723
Differential Revision: https://secure.phabricator.com/D1488
2012-01-26 00:10:59 +01:00
|
|
|
'ArcanistLandWorkflow' => 'ArcanistBaseWorkflow',
|
'arc liberate', convenience wrapper for various libphutil operations
Summary:
The story for creating and maintaining libphutil libraries and modules
is pretty terrible right now: you need to know a bunch of secret scripts and
dark magic. Provide 'arc liberate' which endeavors to always do the right thing
and put a library in the correct state.
Test Plan:
Ran liberate on libphutil, arcanist, phabricator; created new
libphutil libraries, added classes to them, liberated everything, introduced
errors etc and liberated that stuff, nothing was obviously broken in a terrible
way..?
Reviewed By: aran
Reviewers: jungejason, tuomaspelkonen, aran
CC: aran, epriestley
Differential Revision: 269
2011-05-12 01:30:22 +02:00
|
|
|
'ArcanistLiberateLintEngine' => 'ArcanistLintEngine',
|
|
|
|
'ArcanistLiberateWorkflow' => 'ArcanistBaseWorkflow',
|
2011-02-12 01:03:00 +01:00
|
|
|
'ArcanistLicenseLinter' => 'ArcanistLinter',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistLintWorkflow' => 'ArcanistBaseWorkflow',
|
2011-02-13 20:57:14 +01:00
|
|
|
'ArcanistLinterTestCase' => 'ArcanistPhutilTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistListWorkflow' => 'ArcanistBaseWorkflow',
|
|
|
|
'ArcanistMarkCommittedWorkflow' => 'ArcanistBaseWorkflow',
|
Basic Mercurial support for Arcanist
Summary:
There's a lot of ground left to cover but this makes "arc diff" work (on one
trivial diff) in my sandbox, at least, and supports parsing of Mercurial native
diffs (which are unified + a custom header). Piles of missing features, still.
Some of this is blocked by me not understanding the mercurial model well yet.
This is also a really good opportunity for cleanup (especially, reducing the
level of "instanceof" in the diff workflow), I'll try to do a bunch of that in
followup diffs.
Test Plan: Ran "arc diff" in a mercurial repository, got a diff out of it.
Reviewed By: aran
Reviewers: Makinde, jungejason, tuomaspelkonen, aran, codeblock
CC: aran, epriestley, codeblock, fratrik
Differential Revision: 792
2011-08-09 18:00:29 +02:00
|
|
|
'ArcanistMercurialAPI' => 'ArcanistRepositoryAPI',
|
2011-09-16 12:53:52 +02:00
|
|
|
'ArcanistMercurialParserTestCase' => 'ArcanistPhutilTestCase',
|
Add an "arc merge" workflow
Summary:
This should support conservative rewrite policies in git fairly well, under an
assumed workflow of:
- Develop in local branches, never rewrite history.
- Commit with "-m" or by typing a brief, non-template commit message
describing the checkpoint.
- Provide rich information in the web console (reviewers, etc.)
- Finalize with "git checkout master && arc merge branch && git push" or some
flavor thereof.
This supports Mercurial somewhat. The major problem is that "hg merge" fails if
the local is a fastforward of the remote, at which point there's nowhere we can
throw the commit message. Oh well. Just push it and we'll do our best to link
them up based on local commit info.
I am increasingly forming an opinion that Mercurial is "saftey-scissors git".
But also maybe I have no clue what I'm doing. I just don't understand why anyone
would think it's a good idea to have a trunk consisting of ~50% known-broken
revisions, random checkpoint parts, whitespace changes, typo fixes, etc. If you
use git with branching you can avoid this by making a trunk out of merges or
with rebase/amend, but there seems to be no way to have "one commit = one idea"
in any real sense in Mercurial.
Test Plan: Execute "arc merge" in git and mercurial.
Reviewers: fratrik, Makinde, aran, jungejason, tuomaspelkonen
Reviewed By: Makinde
CC: aran, epriestley, Makinde
Differential Revision: 860
2011-08-26 01:02:03 +02:00
|
|
|
'ArcanistMergeWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistNoEffectException' => 'ArcanistUsageException',
|
|
|
|
'ArcanistNoEngineException' => 'ArcanistUsageException',
|
2011-02-25 02:59:49 +01:00
|
|
|
'ArcanistNoLintLinter' => 'ArcanistLinter',
|
2011-03-13 03:16:15 +01:00
|
|
|
'ArcanistNoLintTestCaseMisnamed' => 'ArcanistLinterTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistPEP8Linter' => 'ArcanistLinter',
|
2011-07-30 03:55:01 +02:00
|
|
|
'ArcanistPasteWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistPatchWorkflow' => 'ArcanistBaseWorkflow',
|
|
|
|
'ArcanistPhutilModuleLinter' => 'ArcanistLinter',
|
2011-05-19 11:00:59 +02:00
|
|
|
'ArcanistPyFlakesLinter' => 'ArcanistLinter',
|
2011-05-22 12:32:26 +02:00
|
|
|
'ArcanistPyLintLinter' => 'ArcanistLinter',
|
2011-01-15 05:00:11 +01:00
|
|
|
'ArcanistShellCompleteWorkflow' => 'ArcanistBaseWorkflow',
|
2012-01-16 06:28:58 +01:00
|
|
|
'ArcanistSpellingLinter' => 'ArcanistLinter',
|
|
|
|
'ArcanistSpellingLinterTestCase' => 'ArcanistLinterTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistSubversionAPI' => 'ArcanistRepositoryAPI',
|
[arc svn-hook-pre-commit] Access working copy
Summary:
Creates a new hook API that can be used to interface with
SVN/Git/Mercurial in the context of a commit hook. Currently only adds a
function to read the modified file data in a Subversion commit hook.
An object of this API is created in the SvnHookPreCommitWorkflow and
passed on the Lint Engine which then uses it to access current file
data, of the way the APIs seem to be structured); linters use the
getData function which is essentially a wrapper around the engine's
call, with another layer of caching.
Task ID: #770556
Blame Rev:
Test Plan:
- Create a local svn repository and add a minimal hook to run the local
version of arc to test commits
(http://phabricator.com/docs/arcanist/article/Installing_Arcanist_SVN_Hooks.html)
- Create a temporary repository that can trigger any of the linters
available, and test against a temporary linter by committing against
the test repository: the linter should be able to access all required
files by using loadData/getData in the LintEngine and Linter.
Revert Plan:
Tags: lint, svn-hook-pre-commit
Reviewers: jungejason, asukhachev, epriestley, aran
Reviewed By: epriestley
CC: aran, jungejason, epriestley, kunalb, asukhachev
Differential Revision: https://secure.phabricator.com/D1256
2011-12-21 05:26:05 +01:00
|
|
|
'ArcanistSubversionHookAPI' => 'ArcanistHookAPI',
|
2011-01-12 10:49:48 +01:00
|
|
|
'ArcanistSvnHookPreCommitWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistTextLinter' => 'ArcanistLinter',
|
2011-02-17 02:26:51 +01:00
|
|
|
'ArcanistTextLinterTestCase' => 'ArcanistLinterTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistUnitWorkflow' => 'ArcanistBaseWorkflow',
|
2011-07-29 19:05:07 +02:00
|
|
|
'ArcanistUploadWorkflow' => 'ArcanistBaseWorkflow',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistUserAbortException' => 'ArcanistUsageException',
|
2012-01-24 17:07:38 +01:00
|
|
|
'ArcanistWhichWorkflow' => 'ArcanistBaseWorkflow',
|
2012-01-28 20:17:45 +01:00
|
|
|
'ArcanistXHPASTLintNamingHookTestCase' => 'ArcanistPhutilTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'ArcanistXHPASTLinter' => 'ArcanistLinter',
|
2011-02-13 20:57:14 +01:00
|
|
|
'ArcanistXHPASTLinterTestCase' => 'ArcanistLinterTestCase',
|
2012-01-17 23:54:27 +01:00
|
|
|
'ComprehensiveLintEngine' => 'ArcanistLintEngine',
|
2011-06-30 04:32:03 +02:00
|
|
|
'ExampleLintEngine' => 'ArcanistLintEngine',
|
2011-01-10 00:22:25 +01:00
|
|
|
'PhutilLintEngine' => 'ArcanistLintEngine',
|
|
|
|
'PhutilUnitTestEngine' => 'ArcanistBaseUnitTestEngine',
|
2011-01-12 07:13:31 +01:00
|
|
|
'PhutilUnitTestEngineTestCase' => 'ArcanistPhutilTestCase',
|
2011-01-10 00:22:25 +01:00
|
|
|
'UnitTestableArcanistLintEngine' => 'ArcanistLintEngine',
|
|
|
|
),
|
|
|
|
'requires_interface' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
));
|