From: Phillip Wood <phillip.wood123@gmail.com> To: Rohit Ashiwal <rohit.ashiwal265@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 14:33:05 +0100 Message-ID: <dbe0fe4d-9553-fd8e-5c5a-5457dc5e3eae@gmail.com> (raw) In-Reply-To: <20190723195722.16745-1-rohit.ashiwal265@gmail.com> Hi Rohit On 23/07/2019 20:57, Rohit Ashiwal wrote: > 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. I dont think it should continue, the error should be propagated up to cmd_rebase() (In your patch I think one of the context lines in run_git_commit() shows this happening) > >> [...] >> >>> + 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)); Yes I think it should check for opts->committer_date_is_author_date here Best Wishes Phillip > Thanks > Rohit >
next prev parent reply other threads:[~2019-07-24 13:33 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 2019-07-24 13:33 ` Phillip Wood [this message] 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=dbe0fe4d-9553-fd8e-5c5a-5457dc5e3eae@gmail.com \ --to=phillip.wood123@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.wood@dunelm.org.uk \ --cc=rohit.ashiwal265@gmail.com \ --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
git@vger.kernel.org list mirror (unofficial, one of many) This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/git git clone --mirror http://ou63pmih66umazou.onion/git git clone --mirror http://czquwvybam4bgbro.onion/git git clone --mirror http://hjrcffqmbrq6wope.onion/git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 git git/ https://public-inbox.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.version-control.git nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git nntp://news.gmane.io/gmane.comp.version-control.git note: .onion URLs require Tor: https://www.torproject.org/ code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git