Replies: 2 comments 3 replies
-
This isn't really something I've considered in the design, I think that it would be possible to add this kind of feature, but based on my research it would be a pretty huge lift and I'm not convinced on the use case - at least for anything I've used scaffold for. So there is no way to do this currently. As for a general design, I think taking inspiration from copier would probably be a good start. It looks like it does exactly what you're describing, but I haven't dug deep into the depths of how it's being done, or if there are templates that are taking advantage of this. Do you have a more concrete example I could use to understand this use-case better? |
Beta Was this translation helpful? Give feedback.
-
Is this something still being tracked or worked on? I am currently using copier and debating moving away from mainly because its built in python, so extending it and my use case just requires a bunch of external dependencies making for a rougher experience. Mainly though, the update feature is something that I really like about it and hoping to keep in moving elsewhere. Being able to update as drift happens or centrally manage files from a template is really powerful. Can even then integrate with CI to auto open PR's with said updates etc., whether that is common CI pipelines, docs, features added, or developer styles. |
Beta Was this translation helpful? Give feedback.
-
A scaffold can gain features over time. Anyone who already stamped out the scaffold essentially got a fork of the commit history to the scaffold template.
Like version control, a user who created their project from the scaffold might want to "merge" some of those improvements to the project they've already created. Or, they might have answered "No" to a prompt the first time, but then when they run again they say "Yes".
Of course the
--no-clobber
flag isn't sufficient for this: it would create new files but has no way to add contents into existing ones.And like version control, merge conflicts can happen and would need some affordance for resolving (most tools would do it nicely if we literally wrote merge conflict range markers into their file)
Starting a discussion since I'm not sure if there's already a good way to do this, or it's a feature that needs some design thought.
Beta Was this translation helpful? Give feedback.
All reactions