Lucas_Werkmeister_WMDE created this task.
Lucas_Werkmeister_WMDE added projects: Wikidata, Lexicographical data.

TASK DESCRIPTION
  • Create a lexeme
  • Merge it into another lexeme
  • Restore the previous (non-merged) version of the (source) lexeme
  • Try to restore the merged/redirected version again
TypeError from line 241 of …/extensions/WikibaseLexeme/src/DataModel/Lexeme.php: Argument 1 passed to Wikibase\Lexeme\DataModel\Lexeme::setLexicalCategory() must be an instance of Wikibase\DataModel\Entity\ItemId, null given, called in …/extensions/WikibaseLexeme/src/DataModel/Services/Diff/LexemePatcher.php on line 83

Backtrace:

#0 …/extensions/WikibaseLexeme/src/DataModel/Services/Diff/LexemePatcher.php(83): Wikibase\Lexeme\DataModel\Lexeme->setLexicalCategory(NULL)
#1 …/extensions/WikibaseLexeme/vendor/wikibase/data-model-services/src/Diff/EntityPatcher.php(40): Wikibase\Lexeme\DataModel\Services\Diff\LexemePatcher->patchEntity(Wikibase\Lexeme\DataModel\Lexeme, Wikibase\Lexeme\DataModel\Services\Diff\LexemeDiff)
#2 …/extensions/Wikibase/repo/includes/Content/EntityContent.php(595): Wikibase\DataModel\Services\Diff\EntityPatcher->patchEntity(Wikibase\Lexeme\DataModel\Lexeme, Wikibase\Lexeme\DataModel\Services\Diff\LexemeDiff)
#3 …/extensions/Wikibase/repo/includes/Actions/SubmitEntityAction.php(160): Wikibase\EntityContent->getPatchedCopy(Wikibase\Repo\Content\EntityContentDiff)
#4 …/extensions/Wikibase/repo/includes/Actions/SubmitEntityAction.php(113): Wikibase\SubmitEntityAction->getPatchContent(Revision, Revision, Revision)
#5 …/extensions/Wikibase/repo/includes/Actions/SubmitEntityAction.php(66): Wikibase\SubmitEntityAction->undo()
#6 …/includes/MediaWiki.php(501): Wikibase\SubmitEntityAction->show()
#7 …/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#8 …/includes/MediaWiki.php(868): MediaWiki->performRequest()
#9 …/includes/MediaWiki.php(525): MediaWiki->main()
#10 …/index.php(42): MediaWiki->run()
#11 {main}

It looks like the diff between the previous revision and the redirected revision results in a DiffOpRemove for the lexical category, in which case LexemePatcher::getPatchedItemId returns null, but LexemePatcher::patchEntity doesn’t expect this. (The same presumably applies to the language as well.)

You can try this out on test.wikidata.org with L104 (restore link).


TASK DETAIL
https://phabricator.wikimedia.org/T204041

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Lucas_Werkmeister_WMDE
Cc: Lucas_Werkmeister_WMDE, Mringgaard, Lahi, Gq86, GoranSMilovanovic, QZanden, LawExplorer, Wikidata-bugs, aude, Darkdadaah, Mbch331
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to