Comment 6 for bug 266897

Revision history for this message
Russ Brown (pickscrape) wrote :

I'd like to stick my oar in here and describe our use case for why getting this fixed would be really handy to us.

Our workflow (for code that makes up a website) consists of feature branches and two long-running branches. One of these long-running branches represents what is currently on the live platform while the other represents the staging platform.

Simplifying somewhat, we prepare releases by merging feature branches to the staging branch, and deploying and testing from there. At release time, the staging branch is merged to the live one, and the code is deployed live.

From time to time, we find during testing that one of the features we merged to staging isn't ready, and needs to be pulled from the release (to be added in later). So currently we laboriously uncommit from staging until we get to the revision before the merge in question, and then repeat the merges, excluding the one we want to pull.

What we would like to be able to do, is to create a second staging branch from the first at the revision before the one we want to exclude, and then just replay the merges from the original staging branch except the one we don't want. Then use the new staging branch in place of the original. This way, things like commit comments and suchlike don't need to be entered again. In most cases our feature branches don't conflict, so most of the time these would replay flawlessly. While this kinda works now, the merges are flattened and so history is lost.

Hope this helps in some way!