-
Notifications
You must be signed in to change notification settings - Fork 12
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
Branching strategy #31
Comments
That's a good idea, makes sense to me. |
Idea is interesting but we need also a branch that is sum of all these architecture branches - something like |
In the future, as TCG plugins API almost passed the review, I hope it would alleviate the pain by just using the API instead: #24 |
This would be relatively easy since all the branches for individual archs would (likely) not share any files/code. Hence, no merge conflicts in merging them all to have a combined branch. |
The merge conflicts come from our tracewrap additions in the
Why is this necessary? Some architectures have no additions for several releases. For them it is not worth the effort to rebase them onto the newest one IMHO. |
It's not uncommon for QEMU to perform tree-wide changes to the TCG uplifters. Recent examples are atomicity changes, |
I propose
Wouldn't this be essentially the same as we have now, i.e. one branch with everything in it? I am not yet fully convinced that the proposed approach will have more benefits (independent and thus easier rebasing per architecture) than downsides (more branches to handle, having to merge back core changes from architecture branches if there are any), but it could be a worthwhile experiment to try this approach for a new rebase to see how well it works in practice. |
Agreed, but there won't be any inter-arch merge conflicts (since each of those We would just need to make sure that all the individual branches are conflict free and up to date, then the combined branch would also be conflict free and up to date. |
Yes. This is the work intensive part. If we can agree that everyone rebases their branch on top on the newest QEMU release, we are good. |
@Rot127 I pushed the updated |
I have no objections to the proposed branching strategy. However, once we finalize it, let's write it in some document, either a wiki page or in a CONTRIBUTING.md file, your choice. |
I (tried) to rebase the
tracewrap-6.20
branch onto the newest stable QEMU and it is not fun.There are a bunch of conflicts.
I suggest we agree on a branch strategy. Because if one person does the rebase and has to fix 2+ architectures every time, we definitely end up with false tracing (because we have no proper tests).
How about we have a main branch which only implements the core of tracewrap.
We can call it
tracewrap-X.Y
, which is the current newest stable branch of QEMU + one or few more commits with the coretracewrap
code.This one is easily updated if QEMU has a new release. It could (should?) be even automated with the CI.
From this every arch branches. If some needs to trace a specific arch they select the archs branch.
If it needs a rebase onto the newest
tracewrap-X.Y
, fine. But since the user will use it anyway, it gets directly tested.cc @thestr4ng3r @DMaroo Since
ARM
andx86/i386
had many many conflicts.The text was updated successfully, but these errors were encountered: