Page MenuHomePhorge

Support for arc work T12345 (workOnTask workflow)
Open, Needs TriagePublic

Description

The original discussion: Q144

workOnTask() is not implemented in https://we.phorge.it/source/arcanist/browse/master/src/work/ArcanistWorkEngine.php$208.

Because of that, it's impossible to automatically link diffs to tasks in arcanist:

$ arc work T7
...
[2024-07-24 05:09:31] EXCEPTION: (Exception) TODO: Implement this workflow. at [<arcanist>/src/work/ArcanistWorkEngine.php:208]
arcanist(head=master, ref.master=6250296648fa), libletterty(head=main, ref.main=492f9f3a9684)
  #0 ArcanistWorkEngine::workOnTask(string) called at [<arcanist>/src/work/ArcanistWorkEngine.php:66]
  #1 ArcanistWorkEngine::execute() called at [<arcanist>/src/workflow/ArcanistWorkWorkflow.php:90]
  #2 ArcanistWorkWorkflow::runWorkflow(PhutilArgumentParser) called at [<arcanist>/src/workflow/ArcanistWorkflow.php:227]
  #3 ArcanistWorkflow::executeWorkflow(PhutilArgumentParser) called at [<arcanist>/src/toolset/ArcanistPhutilWorkflow.php:21]
  #4 ArcanistPhutilWorkflow::execute(PhutilArgumentParser) called at [<arcanist>/src/parser/argument/PhutilArgumentParser.php:492]
  #5 PhutilArgumentParser::parseWorkflowsFull(array) called at [<arcanist>/src/runtime/ArcanistRuntime.php:171]
  #6 ArcanistRuntime::executeCore(array) called at [<arcanist>/src/runtime/ArcanistRuntime.php:37]
  #7 ArcanistRuntime::execute(array) called at [<arcanist>/support/init/init-arcanist.php:6]
  #8 require_once(string) called at [<arcanist>/bin/arc:10]

Arcanist automatically links a branch that contains a task id in the name with the respective task when running arc diff. So, it only remains to implement the auto-generation of a branch name from the task id. For example, arc work T15121 would take T15121's name ("Contributor Agreement"), convert it to a valid branch name ("T15121-contributor-agreement"), and then follow the same steps that arc work T15121-contributor-agreement would have done.

We have patched it on our side and have been using it successfully. We'll submit a diff with the fix in case the owners of the main Phorge repository would want to merge it.

Feature Description

Starting pointCommandWhat Should Happen
masterarc work T15993Creating new branch T15993-support-for-arc-work-t12345-something-something, based on master, and checkout there
(the branch of T15993 from the previous line)arc work T15993Still on that branch
(the branch of T15993 from the previous line)arc work T15187Creating new branch T15187-fix-arcanist-something-something, based on T15993, and checkout there
masterarc work --start stable T15100Creating new branch T15100-feature-request-option-to-measure-WIP, based on stable, and checkout there

Revisions and Commits