Re: [PATCH v3 0/5] cleanup ra/rebase-i-more-options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Phillip,

On Thu, 21 May 2020, Phillip Wood wrote:

> From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
>
> Thanks for the feedback on v2, I've updated the documentation as
> suggested by Elijah and made the style fixes suggested by Alban but
> I've not changed read_author_script() for the reasons explained in
> https://lore.kernel.org/git/c6a2711a-96c1-d7ac-9678-20c581408ef5@xxxxxxxxx
>
> These patches are based on 9fadedd637 ("Merge branch
> 'ds/default-pack-use-sparse-to-true'", 2020-03-29)

Thank you for working on these patches! TBH what I was looking to most in
that GSoC project was the ability to combine `--interactive` with Sverre's
`--whitespace=fix` option, but it never came even close to that. So I had
planned to help this patch series as much as I can.

Turns out that I do not really have any time to help this patch series,
therefore I am very happy to see Danh and Elijah jump in and review the
patch series, and that makes me think that between the three of you, it is
in good hands now.

Thanks,
Dscho

>
> Phillip Wood (2):
>   rebase -i: support --committer-date-is-author-date
>   rebase -i: support --ignore-date
>
> Rohit Ashiwal (3):
>   rebase -i: add --ignore-whitespace flag
>   sequencer: rename amend_author to author_to_free
>   rebase: add --reset-author-date
>
>  Documentation/git-rebase.txt           |  33 +++-
>  builtin/rebase.c                       |  46 ++++--
>  sequencer.c                            | 111 ++++++++++++-
>  sequencer.h                            |   2 +
>  t/t3422-rebase-incompatible-options.sh |   2 -
>  t/t3436-rebase-more-options.sh         | 209 +++++++++++++++++++++++++
>  6 files changed, 379 insertions(+), 24 deletions(-)
>  create mode 100755 t/t3436-rebase-more-options.sh
>
> Range-diff against v2:
> 1:  5ef315240a ! 1:  df8c4ed2e9 rebase -i: add --ignore-whitespace flag
>     @@ Documentation/git-rebase.txt: your branch contains commits which were dropped, t
>       with `--keep-base` in order to drop those commits from your branch.
>
>       --ignore-whitespace::
>     -+	Behaves differently depending on which backend is selected.
>     ++	Ignore whitespace differences when trying to reconcile
>     ++differences. Currently, each backend implements an approximation of
>     ++this behavior:
>      ++
>      +apply backend: When applying a patch, ignore changes in whitespace in
>     -+context lines.
>     ++context lines. Unfortunately, this means that if the "old" lines being
>     ++replaced by the patch differ only in whitespace from the existing
>     ++file, you will get a merge conflict instead of a successful patch
>     ++application.
>      ++
>      +merge backend: Treat lines with only whitespace changes as unchanged
>     -+when merging.
>     ++when merging. Unfortunately, this means that any patch hunks that were
>     ++intended to modify whitespace and nothing else will be dropped, even
>     ++if the other side had no changes that conflicted.
>      +
>       --whitespace=<option>::
>      -	These flags are passed to the 'git apply' program
> 2:  55eb3a7efc ! 2:  df44a0bde6 rebase -i: support --committer-date-is-author-date
>     @@ Commit message
>          Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
>
>       ## Documentation/git-rebase.txt ##
>     -@@ Documentation/git-rebase.txt: when merging.
>     +@@ Documentation/git-rebase.txt: if the other side had no changes that conflicted.
>       See also INCOMPATIBLE OPTIONS below.
>
>       --committer-date-is-author-date::
>     @@ sequencer.c: static int run_git_commit(struct repository *r,
>
>       	if (!(flags & VERIFY_MSG))
>      @@ sequencer.c: static int try_to_commit(struct repository *r,
>     -
>     - 	if (parse_head(r, &current_head))
>     - 		return -1;
>     --
>     - 	if (flags & AMEND_MSG) {
>     - 		const char *exclude_gpgsig[] = { "gpgsig", "gpgsig-sha256", NULL };
>     - 		const char *out_enc = get_commit_output_encoding();
>     -@@ sequencer.c: static int try_to_commit(struct repository *r,
>       		commit_list_insert(current_head, &parents);
>       	}
>
> 3:  19352fdc22 = 3:  fa3d4856b4 sequencer: rename amend_author to author_to_free
> 4:  5e971abb74 ! 4:  96657233d4 rebase -i: support --ignore-date
>     @@ sequencer.c: static const char *author_date_from_env_array(const struct argv_arr
>      +		error(_("malformed ident line '%s'"), author);
>      +		return NULL;
>      +	}
>     ++
>      +	len = ident.mail_end - ident.name_begin + 1;
>     -+
>      +	strbuf_addf(&new_author, "%.*s ", len, ident.name_begin);
>      +	datestamp(&new_author);
>      +	return strbuf_detach(&new_author, NULL);
>     @@ sequencer.c: static int try_to_commit(struct repository *r,
>      +		free(author_to_free);
>      +		author_to_free = (char *)author;
>      +	}
>     ++
>       	if (commit_tree_extended(msg->buf, msg->len, &tree, parents,
>       				 oid, author, opts->gpg_sign, extra)) {
>       		res = error(_("failed to write commit object"));
> 5:  43a097c583 = 5:  828155baba rebase: add --reset-author-date
>
> --
> 2.26.2
>




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux