private async function genSourceChangsetAndDestinationBaseRevision()

in src/importit/phase/ImportItSyncPhase.php [138:168]


  private async function genSourceChangsetAndDestinationBaseRevision(
    ShipItManifest $manifest,
  ): Awaitable<(ShipItChangeset, ?string)> {
    $pr_number = null;
    $expected_head_rev = $this->expectedHeadRev;
    if ($this->skipPullRequest) {
      invariant(
        $expected_head_rev !== null,
        '--expected-head-revision must be set!',
      );
    } else {
      $pr_number = $this->pullRequestNumber;
      invariant(
        $pr_number !== null && $expected_head_rev !== null,
        '--expected-head-revision must be set! '.
        'And either --pull-request-number or --skip-pull-request must be set',
      );
    }
    $source_repo = new ImportItRepoGIT(
      $manifest->getSourceSharedLock(),
      $manifest->getSourcePath(),
    );
    await $source_repo->genSetBranch($manifest->getSourceBranch());
    return await $source_repo->genChangesetAndBaseRevisionForPullRequest(
      $pr_number,
      $expected_head_rev,
      $manifest->getSourceBranch(),
      $this->applyToLatest,
      $manifest->getCommitMarker(),
    );
  }