On 2013-02-23 19:06, Stefano Lattarini wrote: > On 02/23/2013 06:46 PM, Stefano Lattarini wrote: >> On 02/21/2013 04:06 PM, Stefano Lattarini wrote: >>> In a couple of days, I will proceed with this "branch moving": >>> >>> * branch-1.13.2 -> maint >>> * maint -> master >>> * master -> next >>> >> Done. >> > Damn, not really. For some questionable reason, Savannah is rejecting > my non-fast-forward push to master even if I specify '--force', and > I cannot use the usual trick "delete the remote branch, then push the > local one to it" trick that I typically use to work around this > problem, since 'master' is the "current branch" of the remote > repository, and that cannot be deleted to avoid confusing "git clone".
I was not aware that those moves would be non-fast-forwards, and I think this is bad bad bad. It's quite hostile to do non-fast-forwards on branches as central as master and maint. And I think git/savannah is rejecting them quite rightly! master and maint have never been published as "rewindable", and it should be correct to base new work on them. They should be left alone, IMHO. You should have implemented this more gradually, such that next would have taken its role directly, but maint and master should have been allowed to grow into the correct branches once the relevant releases had been made. Or even better, implement the change right after a major release so that master and maint would have been correctly positioned from the start. I have a few single-commit local branches that I will simply have to cherry-pick to the new world order. Or is there some better way to move these branches after their base has been pulled from under them? Hopefully there isn't some big chunk of unpublished work that will be killed by these disruptive changes... Cheers, Peter