Re: [PATCH v2 00/15] Introduce new `git replay` command
- From
Elijah Newren <newren@gmail.com>
- Date
- May 16, 2023, 04:42 UTC
- Message-ID
- <CABPp-BFz688Hz3FMjO9TwxicnS6S76f2zbsBMMK5JtYju5iBbA@mail.gmail.com>
- In-Reply-To
- <20230509175347.1714141-1-christian.couder@gmail.com>
On Tue, May 9, 2023 at 10:54 AM Christian Couder <christian.couder@gmail.com> wrote:
>
[...]
Show 40 quoted lines
> Now the changes between v1 and v2 are:
>
> * The patch series has been rebased on top of current master, so that
> conflicts with master are resolved. This required replacing calls to
> functions like get_oid() with repo_get_oid(), as well as changing
> some `#include "*.h"` to use different header files. This
> unfortunately makes the range-diff between v1 and v2 a bit more
> difficult to read than we would like.
>
> * Patch 1/15 is a new patch. It has been introduced to rework t6429,
> so that this test script doesn't break when conflict output is
> removed later in the series. This allowed us to remove the old 9/14
> patch ("replay: very coarse worktree updating").
>
> * The old 9/14 patch ("replay: very coarse worktree updating") was
> removed. This is to make sure that the new command can be used on
> bare repos. This enables us to focus first on making sure the new
> command a good plumbing command that works well on bare repos.
>
> * The old 12/14 patch ("replay: introduce guess_new_base()") was
> removed. This is also to focus first on making sure the new command
> is a good plumbing command.
>
> * The old 13/14 patch ("replay: add different modes") has been split
> into 2 patches: patch 13/15 ("replay: add --advance or 'cherry-pick'
> mode") and patch 14/15 ("replay: add --contained to rebase contained
> branches").
>
> * Patch 12/15 ("replay: disallow revision specific options and
> pathspecs") is a new patch that disallow using revision specific
> options that would be allowed and eaten by setup_revisions(). Even
> if it would be very nice to have some of these options in the
> future, not all these options make sense for the new command, and it
> might require improving the setup_revisions() mechanism (as well as
> adding tests and doc) to cleanly allow those we want, but that is
> outside the scope of this first patch series.
>
> While at it, this patch also disallow pathspecs too.
>
> It would be nice to have them in the future,Other than these 10 words and the code comment they represent, all the changes made in v2 look good to me...
Show 10 quoted lines
> but for now it is not necessary and > would require work (at least for tests and doc) that can be done > later. > > * Patches 11/15 to 15/15 include a number of new tests to check that > the command works well on bare repos, and in case of 11/15 to check > that exit code in case of conflict is 1. > > * Patch 11/15, in which the doc for the `git replay` command is > introduced, now says that the new command is experimental.
..especially this one. Thanks for including this!
> * Note that a segfault that was found by Derrick Stolee in the v1 is > fixed by 000c4ceca7 (merge-ort: fix calling merge_finalize() with no > intermediate merge, 2023-04-22) merged to master by 3927312601 > (Merge branch 'en/ort-finalize-after-0-merges-fix', 2023-05-02).