Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git tracking #185

Open
leventyalcin opened this issue Jun 20, 2024 · 1 comment
Open

Git tracking #185

leventyalcin opened this issue Jun 20, 2024 · 1 comment
Labels
boilerplate enhancement New feature or request

Comments

@leventyalcin
Copy link

Describe the solution you'd like

I am planning to use a tool for scaffolding Git repositories and establishing community/coding standards in the organizations I work with. boilerplate seems to be a good candidate for this purpose.

However, once boilerplate runs through the templates and creates the structure, its job is done. This brings another problem: keeping the created repositories up-to-date.

For example, let's say I create a template for directory structures for reusable code (e.g., Terraform modules, Ansible roles, bash or groovy libraries), including pre-commit hook configurations and linter configurations. Over time, these standards might change, or at the very least, their versions may need to be upgraded. Currently, there is no easy way to detect or upgrade any repository created from that template to adopt new updates. It also seems like a cumbersome task to manually find the differences between the new template and what was used at the time of creation.

Describe alternatives you've considered

I would prefer if boilerplate could somehow leave a git tracking fingerprint and provide an option to apply those differences when needed.

Additionally, if there were a way to detect changes between the original template and the current state of the template's repository (e.g., the SHA of the used Git ref has changed, or there is a newer Git tag than the one used), I could create a pre-commit hook to check for these changes. This would allow me to enforce updates to linters and pre-commit configurations. Even if I don't want to block commits and disrupt workflow, at the very least, I could print warnings to encourage users to eventually upgrade their repositories.

I believe this feature would not only benefit me but also help maintain alignment in collaborative work environments.

@leventyalcin leventyalcin added the enhancement New feature or request label Jun 20, 2024
@ZachGoldberg
Copy link

Thanks so much for submitting this feature reuest @leventyalcin, I agree that it's a really useful feature to be able to track when something was boilerplated and be able to "sync" or "update" with upstream changes in some way. It does seem like something that will require considerable thought, however, unless you have some sort of clever solution in mind? I'll keep this open in our queue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
boilerplate enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants