nf-core / kmermaid

k-mer similarity analysis pipeline
https://nf-co.re/kmermaid
MIT License
19 stars 12 forks source link

TEMPLATE needs cleaning #139

Open ewels opened 3 years ago

ewels commented 3 years ago

Sorry about this, one last issue with your TEMPLATE branch..

Creating it in https://github.com/nf-core/kmermaid/issues/92 did work and sure enough, you are now getting automated sync PRs such as https://github.com/nf-core/kmermaid/pull/138

However, the TEMPLATE branch should only contain commits with the pure template and not any commits with a developed pipeline on it. Typically this means that there should only be a handful of commits on that branch (eg. rnaseq TEMPLATE has 13 commits). However it seems that your TEMPLATE has most of the development history in it with 1309 commits: https://github.com/nf-core/kmermaid/commits/TEMPLATE

This doesn't prevent the sync from working, but we discovered after a lot of trial and error that this makes the automated sync PRs super difficult to merge. Because git sees that you used to have the pipeline code in TEMPLATE and then deleted it to replace it with a vanilla nf-core create output it consistently wants to delete most of your pipeline in each sync PR - not great šŸ˜“

The solution is hopefully not too bad - assuming that your TEMPLATE branch commit history does go back far enough to have vanilla commits, we can just git reset --hard <sha> to that commit and then force push, wiping all of the commit history from the branch. Then we can re-do the nf-core sync to bring TEMPLATE up to date.

Once cleaned, this problem should hopefully not happen again. You can see in https://github.com/nf-core/kmermaid/pull/138 that we changed the automated sync procedure to create a new branch each time and form a PR from that instead of directly from TEMPLATE. This means that you can fix the merge conflicts in that PR without pushing the dev history back into TEMPLATE.

I hope this makes sense, shout if you have any questions or would like some help šŸ‘šŸ»