Originally posted by **cmichi** September 16, 2021
With the migration of the Canvas repo to a parachain, we originally had intended to get rid of the manual work of going through the commits in repos that affect us and apply them here as well. The idea was to "just" follow the [substrate-parachain-template](https://github.com/substrate-developer-hub/substrate-parachain-template) as close as possible ‒ automating as many steps of this as possible in the future.
For our non-parachain [substrate-contracts-node](https://github.com/paritytech/substrate-contracts-node) this seems doable, we already have some helper scripts which display the `diff` to Substrate's [node-template](https://github.com/paritytech/substrate/tree/master/bin/node-template) and I think with a little more work we could automate this entirely.
With the parachain template there is an issue though: Rococo follows the `master` branches of Cumulus & Co., whereas the template follows the `release-vX.X.X` branches. So the template will always be behind what we need for running on Rococo.
I'm not sure what the best way forward is; maybe it just is to give up on this idea of easy synchronization and do what we did before: look through relevant commits and apply the changes manually. But before we stray further away from the idea of "easy synchronization" (e.g. https://github.com/paritytech/canvas/pull/87 will make this harder) we should reflect on it.
Maybe it would make sense to have a Rococo, Cumulus and Polkadot version of the parachain template? This would enable us to regularly clone that repository and automatically apply a defined set of changes on it. Could even be done in the spirit of a dependabot which creates a PR for Canvas and has somebody review it.
cc @riusricardo @NukeManDan @HCastano
Discussed in https://github.com/paritytech/canvas/discussions/88