git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Rohit Ashiwal <rohit.ashiwal265@gmail.com>
To: Phillip <phillip.wood123@gmail.com>
Cc: Dscho <Johannes.Schindelin@gmx.de>,
	Git Mailing List <git@vger.kernel.org>, Junio <gitster@pobox.com>,
	Martin <martin.agren@gmail.com>,
	Phillip <phillip.wood@dunelm.org.uk>,
	Thomas <t.gummerer@gmail.com>, Elijah <newren@gmail.com>
Subject: Re: [GSoC][PATCH v2 2/2] rebase -i: support --committer-date-is-author-date
Date: Wed, 24 Jul 2019 01:27:22 +0530	[thread overview]
Message-ID: <20190723195722.16745-1-rohit.ashiwal265@gmail.com> (raw)
In-Reply-To: <7f53b294-57f7-77bf-ca0a-e9621227377c@gmail.com>

Hi Phillip

On Sat, 20 Jul 2019 15:56:50 +0100 Phillip Wood <phillip.wood123@gmail.com> wrote:
> 
> [...]
> 
> > @@ -467,6 +470,9 @@ int cmd_rebase__interactive(int argc, const char **argv, const char *prefix)
> >   		OPT_BOOL(0, "autosquash", &opts.autosquash,
> >   			 N_("move commits that begin with squash!/fixup!")),
> >   		OPT_BOOL(0, "signoff", &opts.signoff, N_("sign commits")),
> > +		OPT_BOOL(0, "committer-date-is-author-date",
> > +			 &opts.committer_date_is_author_date,
> > +			 N_("make committer date match author date")),
> 
> I guess it's good to do this for completeness but does
> rebase--preserver-merges.sh support --committer-date-is-author-date? It
> is the only caller of rebase--interactive I think so would be the only
> user of this code.

Oh! Yes, I did it for the completeness. Let's add the flag while we
still have that _rebase--interactive_ command hanging out with us.

> [...]
> 
> > +	if (read_author_script(rebase_path_author_script(),
> > +			       NULL, NULL, &date, 0))
> > +		die(_("failed to read author date"));
> 
> Can we have this return an error please - we try quite hard in the
> sequencer not to die in library code.

Yes, we can through an error and continue, but then the user will
see the unchanged author date which is against his / her will but
it will not crash the program at least.

> [...]
> 
> > +	if (opts->committer_date_is_author_date) {
> > +		char *date = read_author_date_or_die();
> > +		argv_array_pushf(&cmd.env_array, "GIT_COMMITTER_DATE=%s", date);
> > +		free(date);
> > +	}
> 
> It's a shame to be doing this twice is slightly different ways in the
> same function (and again in try_to_commit() but I don't think that can
> be avoided as not all callers of run_git_commit() go through
> try_to_commit()). As I think the child inherits the current environment
> modified by cmd.env_array we could just call setenv() at the top of the
> function. It would be worth looking to see if it would be simpler to do
> the setenv() call in the loop that picks the commits, then we would
> avoid having to do it in do_merge() and try_to_commit() separately.

Ok, I'll have to change the code according to what Junio suggested.
Let's see how this area will look after that.

> [...]
> 
> > +		if (file_exists(rebase_path_cdate_is_adate())) {
> > +			opts->allow_ff = 0;
> 
> This is safe as we don't save the state of allow_ff for rebases so it
> wont be overridden later. It would be an idea to add to the checks in
> the assert() at the beginning of pick_commits() no we have another
> option that implies --force-rebase.

Are you suggesting to modify this assert() call (in pick_commits())?

    if (opts->allow_ff)
        assert(!(opts->signoff || opts->no_commit ||
                opts->record_origin || opts->edit));

Thanks
Rohit


  reply	other threads:[~2019-07-23 20:00 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-12 18:50 [GSoC][PATCH 0/1] rebase -i: support --ignore-whitespace Rohit Ashiwal
2019-07-12 18:50 ` [GSoC][PATCH 1/1] rebase -i: add --ignore-whitespace flag Rohit Ashiwal
2019-07-15 17:57   ` Junio C Hamano
2019-07-15 22:00     ` Rohit Ashiwal
2019-07-15 22:08       ` Junio C Hamano
2019-07-15 22:42         ` Rohit Ashiwal
2019-07-12 18:53 ` [GSoC][PATCH 0/2] rebase -i: support --committer-date-is-author-date Rohit Ashiwal
2019-07-18 19:03   ` [GSoC][PATCH v2 " Rohit Ashiwal
2019-07-18 19:03     ` [GSoC][PATCH v2 1/2] sequencer: add NULL checks under read_author_script Rohit Ashiwal
2019-07-18 19:03     ` [GSoC][PATCH v2 2/2] rebase -i: support --committer-date-is-author-date Rohit Ashiwal
2019-07-19 22:36       ` Junio C Hamano
2019-08-02 20:57         ` Rohit Ashiwal
2019-07-20 14:56       ` Phillip Wood
2019-07-23 19:57         ` Rohit Ashiwal [this message]
2019-07-24 13:33           ` Phillip Wood
2019-07-19 21:26     ` [GSoC][PATCH v2 0/2] " Junio C Hamano
2019-07-19 21:47       ` Junio C Hamano
2019-07-12 18:53 ` [GSoC][PATCH 1/2] sequencer: add NULL checks under read_author_script Rohit Ashiwal
2019-07-15 18:04   ` Junio C Hamano
2019-07-12 18:53 ` [GSoC][PATCH 2/2] rebase -i: support --committer-date-is-author-date Rohit Ashiwal
2019-07-14 11:31   ` Rohit Ashiwal
2019-07-18 18:55 ` [GSoC][PATCH v2 0/1] rebase -i: support --ignore-whitespace Rohit Ashiwal
2019-07-18 18:55   ` [GSoC][PATCH v2 1/1] rebase -i: add --ignore-whitespace flag Rohit Ashiwal
2019-07-19 21:33     ` Junio C Hamano
2019-07-23 19:59       ` Rohit Ashiwal
2019-07-23 20:57         ` Junio C Hamano
2019-07-22 10:00     ` Phillip Wood
2019-07-23 19:58       ` Rohit Ashiwal
2019-07-23 21:01         ` Elijah Newren
2019-07-24 11:14           ` Johannes Schindelin
2019-07-24 21:18 ` [GSoC][PATCH v3 0/1] " Rohit Ashiwal
2019-07-24 21:18   ` [GSoC][PATCH v3 1/1] " Rohit Ashiwal

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=20190723195722.16745-1-rohit.ashiwal265@gmail.com \
    --to=rohit.ashiwal265@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=martin.agren@gmail.com \
    --cc=newren@gmail.com \
    --cc=phillip.wood123@gmail.com \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=t.gummerer@gmail.com \
    --subject='Re: [GSoC][PATCH v2 2/2] rebase -i: support --committer-date-is-author-date' \
    /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

Code repositories for project(s) associated with this 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).