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(),
);
}