git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Edmundo Carmona Antoranz <eantoranz@gmail.com>
Cc: Phillip Susi <phill@thesusis.net>, Git List <git@vger.kernel.org>
Subject: Re: [RFC] introducing git replay
Date: Wed, 13 Apr 2022 21:07:25 +0200	[thread overview]
Message-ID: <220413.86o814er20.gmgdl@evledraar.gmail.com> (raw)
In-Reply-To: <CAOc6etbheKZ9CYJ+6Chz9gDj1WGK_5hQeHYTmhOKiUtDd0RKtQ@mail.gmail.com>


On Wed, Apr 13 2022, Edmundo Carmona Antoranz wrote:

> On Wed, Apr 13, 2022 at 7:45 PM Phillip Susi <phill@thesusis.net> wrote:
>>
>>
>> Edmundo Carmona Antoranz <eantoranz@gmail.com> writes:
>>
>> > If HEAD and v2.35.0 share the same tree, it _should_ be possible
>> > to recreate the commits that make up the range v2.35.0..v2.36.0-rc1
>> > on top of HEAD without requiring any real "rebasing". Just creating
>>
>> Isn't that literally the definition of rebase?
>>
>
> Well, yeah. :-) What I mean is to skip the rebase _engine_. No
> merging/cherry-picking/conflicts along the way of recreating the
> new revisions. Say, clone the exact same revisions that we want to
> _rebase_ and adjust their parents, nothing else (or little else, like adjusting
> the committer).

Yeah I think this is fundimentally a good idea to pursue, and it's been
discussed at various times in the past, and indeed, it seems best to
pursue it as a rebase optimization.

I.e. given a history that has say files A.txt and B.txt, and a fork from
A adding X.txt and Y.txt (and nothing else) we should be able to do a
"light rebase" in moving that X & Y forward to it has B as the parent.

Right now we do a rebase in all its glory to do that, with index
updating along the way (I forget how much that's been optimized, if at
all) etc.

But if we can detect that we say only have additions of new files we
could just munge the headers as we go along, and the rest should all be
happening essentially as fast as we can SHA-1 the commit objects, which
is basically what this built-in does, right?


  reply	other threads:[~2022-04-13 19:16 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-13 16:43 [RFC] introducing git replay Edmundo Carmona Antoranz
2022-04-13 17:05 ` Junio C Hamano
2022-04-15 18:46   ` Edmundo Carmona Antoranz
2022-04-15 20:33     ` Junio C Hamano
2022-04-16  5:35       ` Edmundo Carmona Antoranz
2022-04-16  6:39         ` Junio C Hamano
2022-04-16  7:02           ` Edmundo Carmona Antoranz
2022-04-17  5:05         ` Elijah Newren
2022-04-17  5:37           ` Edmundo Carmona Antoranz
2022-04-17 17:22             ` Martin von Zweigbergk
2022-04-18  7:04               ` Edmundo Carmona Antoranz
2022-04-18  7:29           ` Sergey Organov
2022-04-18 16:27             ` Elijah Newren
2022-04-18 17:33               ` Sergey Organov
2022-04-20 11:27               ` Tao Klerks
2022-04-21  2:33                 ` Elijah Newren
2022-04-13 17:26 ` rsbecker
2022-04-13 17:30   ` Edmundo Carmona Antoranz
2022-04-13 17:44     ` Edmundo Carmona Antoranz
2022-04-13 17:44 ` Phillip Susi
2022-04-13 17:49   ` Edmundo Carmona Antoranz
2022-04-13 19:07     ` Ævar Arnfjörð Bjarmason [this message]
2022-04-13 17:48 ` Junio C Hamano
2022-04-13 17:56   ` Edmundo Carmona Antoranz
2022-04-13 20:06   ` Eric Sunshine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=220413.86o814er20.gmgdl@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=eantoranz@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=phill@thesusis.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).