Skip to content

semi-automatic PRs from generated packages? #669

Description

@egpbos

Now that we have switched to Copier, it feels to me like we may be closer to a solution to a long-standing issue: when people make nice, generic changes to their generated packages, contributing those changes back to the template is often deemed too much effort.

Copier can do updates of generated packages, for which it does some git diff magic.

My question is: can we also do similar magic the other way around, i.e. to identify changes in generated-package to template files? Perhaps even automatically make a diff that can be used for a PR to the template?

Looking at @abelsiqueira and the Bestie team especially; do you think this is feasible or at least worth looking into? Contributing functionality to Copier itself could be a "feasible" option as well.

Activity

  1. abelsiqueira commented on Sep 16, 2024

    @abelsiqueira
    Member

    I think it's a hard problem in most cases. It would require checking the git diff of specific commit, and then hope that it doesn't involve variables (or convert back from answers to variables) and then trying to apply that change in the template.
    I would classify as feasible, but probably not worth it to implement this (more investigation could prove me wrong).
    Also, it feels like something on the copier side, not so much on our side directly.

    I think it's probably better to address the preceding issue: people deeming contributions too hard. I'm thinking an effort to engage contributors will be needed. More generally, I think we have to think on how to grow a community around these templates. For sure we should have documentation on how to contribute to the template, but I think further activities should be needed. If we grow the number of users, we increase the chance of finding a code contributor. And that helps identify issues with the contribution process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions