Page MenuHomePhabricator

D17178.id41315.diff
No OneTemporary

D17178.id41315.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -623,6 +623,7 @@
'DiffusionCommitDiffContentHeraldField' => 'applications/diffusion/herald/DiffusionCommitDiffContentHeraldField.php',
'DiffusionCommitDiffContentRemovedHeraldField' => 'applications/diffusion/herald/DiffusionCommitDiffContentRemovedHeraldField.php',
'DiffusionCommitDiffEnormousHeraldField' => 'applications/diffusion/herald/DiffusionCommitDiffEnormousHeraldField.php',
+ 'DiffusionCommitEditConduitAPIMethod' => 'applications/diffusion/conduit/DiffusionCommitEditConduitAPIMethod.php',
'DiffusionCommitEditController' => 'applications/diffusion/controller/DiffusionCommitEditController.php',
'DiffusionCommitEditEngine' => 'applications/diffusion/editor/DiffusionCommitEditEngine.php',
'DiffusionCommitFulltextEngine' => 'applications/repository/search/DiffusionCommitFulltextEngine.php',
@@ -5316,6 +5317,7 @@
'DiffusionCommitDiffContentHeraldField' => 'DiffusionCommitHeraldField',
'DiffusionCommitDiffContentRemovedHeraldField' => 'DiffusionCommitHeraldField',
'DiffusionCommitDiffEnormousHeraldField' => 'DiffusionCommitHeraldField',
+ 'DiffusionCommitEditConduitAPIMethod' => 'PhabricatorEditEngineAPIMethod',
'DiffusionCommitEditController' => 'DiffusionController',
'DiffusionCommitEditEngine' => 'PhabricatorEditEngine',
'DiffusionCommitFulltextEngine' => 'PhabricatorFulltextEngine',
diff --git a/src/applications/diffusion/conduit/DiffusionCommitEditConduitAPIMethod.php b/src/applications/diffusion/conduit/DiffusionCommitEditConduitAPIMethod.php
new file mode 100644
--- /dev/null
+++ b/src/applications/diffusion/conduit/DiffusionCommitEditConduitAPIMethod.php
@@ -0,0 +1,20 @@
+<?php
+
+final class DiffusionCommitEditConduitAPIMethod
+ extends PhabricatorEditEngineAPIMethod {
+
+ public function getAPIMethodName() {
+ return 'diffusion.commit.edit';
+ }
+
+ public function newEditEngine() {
+ return new DiffusionCommitEditEngine();
+ }
+
+ public function getMethodSummary() {
+ return pht(
+ 'Apply transactions to edit an existing commit. This method can not '.
+ 'create new commits.');
+ }
+
+}
diff --git a/src/applications/diffusion/editor/DiffusionCommitEditEngine.php b/src/applications/diffusion/editor/DiffusionCommitEditEngine.php
--- a/src/applications/diffusion/editor/DiffusionCommitEditEngine.php
+++ b/src/applications/diffusion/editor/DiffusionCommitEditEngine.php
@@ -26,7 +26,16 @@
}
protected function newEditableObject() {
- throw new PhutilMethodNotImplementedException();
+ // NOTE: We must return a valid object here so that things like Conduit
+ // documentation generation work. You can't actually create commits via
+ // EditEngine. This is enforced with a "No One" creation policy.
+
+ $repository = new PhabricatorRepository();
+ $data = new PhabricatorRepositoryCommitData();
+
+ return id(new PhabricatorRepositoryCommit())
+ ->attachRepository($repository)
+ ->attachCommitData($data);
}
protected function newObjectQuery() {

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 29, 2:40 AM (2 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7617595
Default Alt Text
D17178.id41315.diff (3 KB)

Event Timeline