mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 14:52:41 +01:00
Mark manually created Diffs as new objects to fix empty Feed transaction entries
Summary: When creating a Differential diff manually via `/differential/diff/create/` in the web browser instead of using Arcanist, `setIsCreateTransaction(true)` for the transaction type `DifferentialDiffTransaction::TYPE_DIFF_CREATE` to avoid an empty `Transaction` field in the Feed and avoid `strncmp()` complaining about a null value being passed. For gory details, see the comments in T15659. ``` ERROR 8192: strncmp(): Passing null to parameter #1 ($string1) of type string is deprecated at [/var/www/html/phorge/phorge/src/applications/policy/query/PhabricatorPolicyQuery.php:314] ``` Closes T15659 Test Plan: 1. Create a valid diff via `/differential/diff/create/` 2. Go to `/feed/transactions/query/advanced/` and set `Object Types` to `Differential Diff` and click `Search` 3. See two entries in the `Transaction` column for the just created diff: One says "created this diff", the other one says "created this object with visibility" and is not an empty line anymore which triggered an exception. Reviewers: O1 Blessed Committers, aklapper Reviewed By: O1 Blessed Committers, aklapper Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15659 Differential Revision: https://we.phorge.it/D25517
This commit is contained in:
parent
01b5bf9ea1
commit
f81e821abf
1 changed files with 2 additions and 0 deletions
|
@ -71,12 +71,14 @@ final class DifferentialCreateRawDiffConduitAPIMethod
|
||||||
$xactions = array(
|
$xactions = array(
|
||||||
id(new DifferentialDiffTransaction())
|
id(new DifferentialDiffTransaction())
|
||||||
->setTransactionType(DifferentialDiffTransaction::TYPE_DIFF_CREATE)
|
->setTransactionType(DifferentialDiffTransaction::TYPE_DIFF_CREATE)
|
||||||
|
->setIsCreateTransaction(true)
|
||||||
->setNewValue($diff_data_dict),
|
->setNewValue($diff_data_dict),
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($request->getValue('viewPolicy')) {
|
if ($request->getValue('viewPolicy')) {
|
||||||
$xactions[] = id(new DifferentialDiffTransaction())
|
$xactions[] = id(new DifferentialDiffTransaction())
|
||||||
->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY)
|
->setTransactionType(PhabricatorTransactions::TYPE_VIEW_POLICY)
|
||||||
|
->setIsCreateTransaction(true)
|
||||||
->setNewValue($request->getValue('viewPolicy'));
|
->setNewValue($request->getValue('viewPolicy'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue