CLI: openfn reconcile
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 23
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 17
Description
Idea for a new projects command to reconcile/merge a local project on the filesystem against the remote project
This is basically a merge helper
The problem is:
- I make changes to workflow A on my file system
- In the app, someone else makes changes to workflow B
- I want to be able to reflect those remote changes on workflow B on my file system
In other words, I want to fetch the latest remote version so I'm up to date, and selectively checkout only some workflows.
The danger is that if I force deploy, I'm also force deploying the old workflows and overwriting changes. I could do deploy --workflows A to only deploy one workflow. But my file system is still out of sync - the fs and project are not consistent, and sooner or later I'll hit problems.
The idea of reconcile is a sort of expand-and-merge.
It'll run a checkout. For each workflow that is different to the filesystem, we ask the user whether to checkout the remote, local or both. If both, we duplicate the workflow (probably we do ./workflows/A.app/ and the user must manually copy any diffs into their local workflow, the delete the duplication.
Once reconciliation is complete, we do openfn project reconcile complete and update the local project file. Now the FS and project are in sync. When running deploy, we can safely push the local version to the server. Hmm, note that on deploy, when fetching, the local project file is now ahead of the server... so that's kinda fun.
Note that this all works at the workflow level - there's also conflicts within a workflow. Which I think is an extension of this strategy.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing project checkout and deploy flows, including deploy --workflows and local project file handling. The proposed entry point is openfn project reconcile; done means it can identify workflow differences, let users choose remote, local, or both, and complete reconciliation without overwriting unrelated work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100