Tarmac doesn't alert when there are unmerged revisions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Tarmac |
Fix Released
|
Critical
|
dobey |
Bug Description
Tarmac needs to detect unmerged revisions in an approved branch, and set the branch to needs review if there's nothing to merge because of it. This is a culmination of a discussion trying to figure out why the merge proposals weren't being marked as merged. This discovery spans two channels:
<abentley> mtaylor, that branch hasn't been fully merged.
<mtaylor> no?
<rockstar> mtaylor, oh, I know what is.
<abentley> mtaylor, see the "unmerged revisions" heading?
<rockstar> mtaylor, you pushed new revisions AFTER it was approved, didn't you?
<mtaylor> rockstar: yes. it does seem so
<rockstar> mtaylor, yup, so the approved revision id isn't the tip of the branch.
<rockstar> abentley, thanks for your help.
<abentley> rockstar, np.
<mtaylor> rockstar: ok. but the merge proposal should still be marked as merged, no? the thing that was approved happened
<mtaylor> I mean- something should certainly be in some state here
<abentley> mtaylor, I don't know. Certainly I didn't think so when I wrote it.
<abentley> mtaylor, the fact that there are outstanding changes definitely seems like something we should represent.
<abentley> mtaylor, because we wouldn't want those changes to get lost.
<rockstar> mtaylor, okay, so here's the lowdown: before 0.3, Tarmac would just merge tip
<rockstar> This had potential security issues.
<mtaylor> yeah - merging the approved revision is the right thing to do
<rockstar> This shouldn't be a problem with queues, but is a current good example of why I don't want to set the thing to Merged automatically.
<rockstar> dobey, ^^
<rockstar> I think what Tarmac should do in this case is comment on the proposal and say "Hey, there are unmerged revisions AFTER the approval. Get approval for those too!" and then set the proposal back to Needs Review.
Related branches
- Paul Hummer: Approve
-
Diff: 177 lines (+59/-45)3 files modifiedtarmac/bin/commands.py (+53/-37)
tarmac/exceptions.py (+4/-0)
tarmac/plugins/command.py (+2/-8)
Changed in tarmac: | |
status: | New → Triaged |
importance: | Undecided → Critical |
milestone: | none → tarmac-0.4 |
Changed in tarmac: | |
assignee: | nobody → Rodney Dawes (dobey) |
status: | Triaged → In Progress |
Changed in tarmac: | |
status: | In Progress → Fix Committed |
Changed in tarmac: | |
status: | Fix Committed → Fix Released |