mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-26 15:30:58 +01:00
c6fd969416
Summary: Report from Asana. In some unclear circumstances, we my attempt to resolve duplicate refs which currently ends up hitting a duplicate key error. Instead, reference the same external object if we happen to be handed duplicate refs. Test Plan: Used this script to reproduce the issue. Applied the fix; issue went away: #!/usr/bin/env php <?php require_once 'scripts/__init_script__.php'; $args = new PhutilArgumentParser($argv); $args->parseStandardArguments(); $ref = id(new DoorkeeperObjectRef()) ->setApplicationType(DoorkeeperBridgeAsana::APPTYPE_ASANA) ->setApplicationDomain(DoorkeeperBridgeAsana::APPDOMAIN_ASANA) ->setObjectType(DoorkeeperBridgeAsana::OBJTYPE_TASK) ->setObjectID(7253737283629); // Use a new task ID which we've never pulled. $refs = array(clone $ref, clone $ref); $asana_user = id(new PhabricatorPeopleQuery()) ->setViewer(PhabricatorUser::getOmnipotentUser()) ->withUsernames(array('asana')) ->executeOne(); $resolved_refs = id(new DoorkeeperImportEngine()) ->setViewer($asana_user) ->setRefs($refs) ->execute(); Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D7709 |
||
---|---|---|
.. | ||
application | ||
bridge | ||
controller | ||
engine | ||
option | ||
query | ||
remarkup | ||
storage | ||
view | ||
worker |