Description
Not sure exactly which direction to go with this, but the update process can be quite frustrating. Some of that is just due to the nature of updating itself, especially if a project is many versions behind the current template version.
However, there are certain paper-cuts that keep coming up across all updates for any project. Ideally, I'd like to cut out as many of these as possible. Some are around the actual template questionnaire and some are around merge conflicts that arise after updating.
For the questionnaire, if one is just updating the template but not changing anything about the configuration of the project, then I'd like it to be a simple process of just accepting all the previous answers, which could even be automated by a copier CLI flag (pretty sure that exists).
For the merge conflicts, some are unavoidable due to template changes. But surely there's a different approach for some of them that could reduce the conflicts to the actually meaningful ones.
Keeping a list of them in this issue for now as I think on how best to fix it.
-
SECRET_KEY
in settings is randomly generated on every template generation - Needing to manually look up the most recent version numbers of Tailwind, Playwright, and django-twc-ui
- If the dependency has been updated since the last template refresh, either by Dependabot or by hand, then the answer contained within the
copier.yml
file that pre-populates the questions on update is out-of-date - Python, Django, and Node.js are probably the only ones where it makes sense to specify versions. Otherwise, I would think a simple boolean of 'include tailwindcss?' and then grabbing the latest version number from either npm or GitHub automatically.
- If the dependency has been updated since the last template refresh, either by Dependabot or by hand, then the answer contained within the
- Needing to copy in the django-twc-ui access token everytime
- Overriding the base
conftest.py
in thetests
directory with customizations for that project can lead to some gnarly merge conflicts - If any of the Python or Node dependencies are updated, you need to remember to regenerate the requisite dep lock files by hand