On Wed, Sep 10, 2014 at 10:47 PM, Richard Hipp <d...@sqlite.org> wrote:
> On Wed, Sep 10, 2014 at 10:48 PM, Matt Welland <estifo...@gmail.com> wrote:
>> On Wed, Sep 10, 2014 at 5:12 PM, Richard Hipp <d...@sqlite.org> wrote:
>>> Sometimes we will make a check-in to trunk then later decide it doesn't
>>> belong there, so then move it into a branch.  (
>>
>> Isn't this only possible if no further commits have been made on the
>> trunk? I suppose one possible "fix" if there have been additional commits is
>> to reverse cherrypick out the change but that leaves the timeline without a
>> clear visible trace of the actions. A similar option would be to cherrypick
>> the post-goof commits to a new trunk and rename the goof + downstream
>> commits as branch "goof" and then close (and maybe hide) it. Do you have a
>> better way to do this?
>
> On the few cases when this has happened to me, I've moved "goof" into a new
> branch (typically "mistake") then cherry pick the follow-on check-ins back
> over to trunk, assuming there are not to many of them.

Eh??  That's rebasing!  ;)  (really)

More seriously, rebasing the upstream generally means that downstreams
need some instructions on how to recover.  I've been thinking that
<any VCS with first-class support for rebasing> ought to have an
option to record in a merge-like commit what has been done in a rebase
operation.  Something like a commit with subject "Rebase", the rebase
script in the message body, and, crucially, two parent commits listed:
the pre-rebase head commit, and the base commit for the rebase.  This
would provide everything a downstream needs to recover, and it would
record what happened.  And it would retain live references to dead
branches, thus preventing garbage collection commits that would not be
reachable but for Rebase commits.  I wonder if something like that
could make rebase more acceptable as a concept elsewhere than git.

Nico
--
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to