Sync Overview
The sync module manages SAP CPI IntegrationPackage content through a Git-centered workflow.
What is synchronized?
The module works with exported CPI IntegrationPackage content under:
text
IntegrationPackage/It also writes operational metadata under:
text
.iflowkit/Branch to tenant mapping
| Branch type | Tenant target |
|---|---|
dev | DEV |
qas | QAS, only when a 3-tenant model is used |
prd | PRD |
work branches such as feature/* | DEV |
Work branches allow isolated development while still mapping push operations to DEV.
PRD safety rule
PRD operations require explicit confirmation:
bash
iflowkit sync push --to prd
iflowkit sync pull --to prd
iflowkit sync deliver --to prdThis prevents accidental production-facing actions.
Repository structure
text
{packageId}/
IntegrationPackage/
.iflowkit/
package.json
ignore
transports/
dev/
qas/
prd/Main commands
| Command | Direction | Summary |
|---|---|---|
sync init | DEV → Git | Creates a sync repo from a DEV IntegrationPackage export. |
sync pull | CPI → Git | Re-exports CPI state to the current branch. |
sync push | Git → CPI | Applies local package changes to the mapped tenant. |
sync deliver | Branch → tenant | Promotes changes between environment branches and updates the target tenant. |
sync compare | Git diff | Shows filtered IntegrationPackage differences. |
sync deploy status | Local metadata | Reads deployment/transport status records. |
Retry model
If a CPI upload, delete or deploy step fails, the transport record can remain pending. Re-running the same operation allows the CLI to continue from the remaining work lists.
This is one of the key reasons transport records are stored in .iflowkit/transports/.