threads / discuss / 27130

rebasing branch with reverted patches

Subject: rebasing branch with reverted patches

## tl;dr

7 messages between Apr 19, 2011 and Apr 19, 2011.

replies: 6people: 4as markdown or json

Francis Moreau· Apr 19, 2011, 07:32 UTC · lore
Hello,

I'm wondering if it would be a good idea for git rebase to allow not rebasing reverted patch which are part of the rebased branch.

For example I'm currently rebasing my branch 'devel' onto master. This branch have several commits and specially one called A and another one called A' which reverts A.

When rebasing 'devel' branch, rebase could try to drop both A and A'.
What do you think ?
BTW is there a way to do this currently ?
Thanks
-- 
Francis
Michael J Gruber· Apr 19, 2011, 08:42 UTC · re: Francis Moreau · lore

Re: rebasing branch with reverted patches

Francis Moreau venit, vidit, dixit 19.04.2011 09:32:
Show 14 quoted lines
> Hello,
> 
> I'm wondering if it would be a good idea for git rebase to allow not
> rebasing reverted patch which are part of the rebased branch.
> 
> For example I'm currently rebasing my branch 'devel' onto master. This
> branch have several commits and specially one called A and another one
> called A' which reverts A.
> 
> When rebasing 'devel' branch, rebase could try to drop both A and A'.
> 
> What do you think ?
> 
> BTW is there a way to do this currently ?

You can do this with "rebase -i" by removing A and A' from the commit list (or squashing them or dealing with them in whatever way you like).

Michael
Francis Moreau· Apr 19, 2011, 09:09 UTC · re: Michael J Gruber · lore

Re: rebasing branch with reverted patches

On Tue, Apr 19, 2011 at 10:42 AM, Michael J Gruber <git@drmicha.warpmail.net> wrote:

Show 18 quoted lines
> Francis Moreau venit, vidit, dixit 19.04.2011 09:32:
>> Hello,
>>
>> I'm wondering if it would be a good idea for git rebase to allow not
>> rebasing reverted patch which are part of the rebased branch.
>>
>> For example I'm currently rebasing my branch 'devel' onto master. This
>> branch have several commits and specially one called A and another one
>> called A' which reverts A.
>>
>> When rebasing 'devel' branch, rebase could try to drop both A and A'.
>>
>> What do you think ?
>>
>> BTW is there a way to do this currently ?
>
> You can do this with "rebase -i" by removing A and A' from the commit
> list (or squashing them or dealing with them in whatever way you like).
Of course, but my point was to make this automatically...
-- 
Francis
Andreas Ericsson· Apr 19, 2011, 09:15 UTC · re: Francis Moreau · lore

Re: rebasing branch with reverted patches

On 04/19/2011 11:09 AM, Francis Moreau wrote:
Show 23 quoted lines
> On Tue, Apr 19, 2011 at 10:42 AM, Michael J Gruber
> <git@drmicha.warpmail.net>  wrote:
>> Francis Moreau venit, vidit, dixit 19.04.2011 09:32:
>>> Hello,
>>>
>>> I'm wondering if it would be a good idea for git rebase to allow not
>>> rebasing reverted patch which are part of the rebased branch.
>>>
>>> For example I'm currently rebasing my branch 'devel' onto master. This
>>> branch have several commits and specially one called A and another one
>>> called A' which reverts A.
>>>
>>> When rebasing 'devel' branch, rebase could try to drop both A and A'.
>>>
>>> What do you think ?
>>>
>>> BTW is there a way to do this currently ?
>>
>> You can do this with "rebase -i" by removing A and A' from the commit
>> list (or squashing them or dealing with them in whatever way you like).
> 
> Of course, but my point was to make this automatically...
> 

That would be akin to removing in-code comments of why it's a bad idea to implement a particular solution in a particular way, and it also removes the capability of reverting the revert (ie, re-doing the change) at a later time when stability can be sacrificed temporarily.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.
Francis Moreau· Apr 19, 2011, 09:19 UTC · re: Andreas Ericsson · lore

Re: rebasing branch with reverted patches

On Tue, Apr 19, 2011 at 11:15 AM, Andreas Ericsson <ae@op5.se> wrote:
Show 5 quoted lines
>
> That would be akin to removing in-code comments of why it's a bad idea
> to implement a particular solution in a particular way, and it also
> removes the capability of reverting the revert (ie, re-doing the change)
> at a later time when stability can be sacrificed temporarily.

That's right but OTOH I use git-rebase for development stuff where all correct points you raised don't apply.

-- 
Francis
Santi Béjar· Apr 19, 2011, 09:39 UTC · re: Francis Moreau · lore

Re: rebasing branch with reverted patches

On Tue, Apr 19, 2011 at 11:09 AM, Francis Moreau <francis.moro@gmail.com> wrote:
Show 22 quoted lines
> On Tue, Apr 19, 2011 at 10:42 AM, Michael J Gruber
> <git@drmicha.warpmail.net> wrote:
>> Francis Moreau venit, vidit, dixit 19.04.2011 09:32:
>>> Hello,
>>>
>>> I'm wondering if it would be a good idea for git rebase to allow not
>>> rebasing reverted patch which are part of the rebased branch.
>>>
>>> For example I'm currently rebasing my branch 'devel' onto master. This
>>> branch have several commits and specially one called A and another one
>>> called A' which reverts A.
>>>
>>> When rebasing 'devel' branch, rebase could try to drop both A and A'.
>>>
>>> What do you think ?
>>>
>>> BTW is there a way to do this currently ?
>>
>> You can do this with "rebase -i" by removing A and A' from the commit
>> list (or squashing them or dealing with them in whatever way you like).
>
> Of course, but my point was to make this automatically...

You can also change the A' commit title to "fixup! original_title" while reverting (there is no --fixup argument like "git commit" has), then git rebase -i would reorder the todo file for you.

git revert gets confused by the resulting empty change but you can "git rebase --continue", or now that both are next to the other just remove them.

HTH, Santi

Francis Moreau· Apr 19, 2011, 10:21 UTC · re: Santi Béjar · lore

Re: rebasing branch with reverted patches

Hello,
On Tue, Apr 19, 2011 at 11:39 AM, Santi Béjar <santi@agolina.net> wrote:
>
> You can also change the A' commit title to "fixup! original_title"
> while reverting (there is no --fixup argument like "git commit" has),
> then git rebase -i would reorder the todo file for you.
Interesting I wasn't aware of --autosquash option, thanks.

This is almost what I was asking for actually, the only part which is missing is the fact that git-rebase detect the "Revert: " magic string, check that the revert is sane (by comparing the diff of the revert with the diff of the original commit) and do the same as "fixup!" would do without the confusion of the resulting empty commit.

Thanks
-- 
Francis

← back to recent threads