git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Charvi Mendiratta <charvi077@gmail.com>
To: phillip.wood@dunelm.org.uk
Cc: git <git@vger.kernel.org>, Christian Couder <christian.couder@gmail.com>
Subject: Re: [Outreachy]: Help for Outreachy Application
Date: Wed, 28 Oct 2020 18:44:43 +0530	[thread overview]
Message-ID: <CAPSFM5evXnsOT3Oj=PXzeDYUR8esCd1rEZXpihSdbT7NPuYm1w@mail.gmail.com> (raw)
In-Reply-To: <966470c3-8883-faf1-629f-89fc8d18b339@gmail.com>

On Tue, 27 Oct 2020 at 23:18, Phillip Wood <phillip.wood123@gmail.com> wrote:
Hi Phillip
>
> Hi Charvi
>
> On 27/10/2020 14:24, Charvi Mendiratta wrote:
> > On Mon, 26 Oct 2020 at 16:06, Phillip Wood <phillip.wood123@gmail.com> wrote:
> >> On 25/10/2020 07:43, Charvi Mendiratta wrote:
> >>> I have read the Outreachy projects and am interested in the project
> >>> "Improve droping and rewording commits in Git interactive rebase". I
> >>> spent some time understanding the project and have gone through its
> >>> detailed explanation in the issue[2].
> >>
> >> Thanks for your interest in the project
> >>
> > I apologize for late replies, as I thought to spend some more time in
> > understanding the project.
>
> That's fine, no need to apologize - taking time to understand the
> project is good
>
>  >[...]
> >>> I also looked into archives of the mailing list and found the
> >>> patches[3] submitted by Philip for --reword option in git commit and
> >>> need some more pointers about its status and how to start with its
> >>> code ?
> >>> Also, in the issue[2] as commented by Phillip regarding the patches[4]
> >>> that implements reword. I would like to know if I can start with that
> >>> mentioned work, if available.
> >>
> >> Whoever takes on this project is very welcome to use my patches as a
> >> starting point. The code in the patches is sound as far as I know and
> >> the I believe the test coverage is reasonable (though that would need to
> >> be checked). They are lacking any documentation and there has been a
> >> change to the way empty commits are handled by rebase since they were
> >> written so "rebase -i: always keep empty amend! commits" will need
> >> looking at and could probably be dropped.
> >
> > Okay, I will note these points .
> >
> >> We will also need to decide on the best UI for the --reword idea. My
> >> patches were developed a couple of years ago before I was aware of
> >> dscho's idea and so implement a slightly different UI to the one
> >> outlined in the github issue (they call 'reword!' 'amend!' instead). I'm
> >> not that keen on adding another option to `git commit` to create yet
> >> another flavor of fixup commit, we'll need to agree a way forward on that[1]
> >>
> >
> > I agree that we need to look into options for creating reword! commit
> > and drop! commit and its integration with interactive rebase .
> >
> > Also, considering this I think there can be two possibilities :
> >
> > As mentioned by Junio [1] that we can extend the existing '--fixed <commit>'/
> > '--squash <commit>', to implement reword! commit as mentioned in the issue[2]
> > by Dscho .
>
> My concern with the idea of using `--fixup=<commit> --edit` to create a
> reword! commit is that it is changing existing behavior. I (very)
> occasionally add some temporary notes to a fixup commit if I know I'm
> not going to be rebasing for a while, that would still be possible under
> the new scheme but would require manually editing the subject line.
>

I am still unable to get the case as you mentioned . Otherwise, I thought
earlier about this idea as that for creating reword! commit if we want to
change both the content and message then `--fixup=<commit> --edit` can
be used and will be presented same as `git commit --amend` . Secondly, if
we want to change only message then `--fixup=<commit> --edit --allow-empty`
can be used and will present same as `git commit --amend --only` for the
mentioned commit . Please correct me if I am wrong or missing something .

> > or as you have mentioned to change the semantics of
> > 'git commit --fixup/squash".
>
> I think that would require a config variable to opt in which is not ideal.
>
> Since that discussion I've wondered if changing commit to allow
> `--fixup=reword:<commit>` to create an empty reword! commit that changes
> the message of <commit> when it is rebased and `--fixup=amend:<commit>`
> to create a reword! commit that changes the content and message of
> <commit> when it is rebased. The advantage is that they are backwards
> compatible and mirror --amend and --reword as suggested in the other
> thread. We could allow `reword/amend:<commit>` to be abbreviated as
> `r/a:<commit>`
>

Okay, I note this as one of the possibility and I agree completely with this.

> We also need to decide how to apply a reword! commit when rebasing. My
> patch series adds a new command 'amend' but I wonder if we should think
> about using `fixup -C` to reuse the message without editing and `fixup
> -c` to reuse the message and have the user edit it as we do for `merge`
>

Yes I also think, like we are not using extra commit command, then we
can also avoid to use new command in rebase also and can go with `fixup -C`.
But, I am still doubtful that how it will work upon rebase
--autosquash . I am still
looking for some pointers for how merge command works(its use) in rebase -i.

> One other point - as the reword! mechanism changes the contents and
> message of the commit I wonder if we could improve the name - maybe
> amend! or revise! I'm not sure.
>

As I understood, that reword! mechanism includes two cases, first if we want
to change the content and commit message both and second if only need to
change the commit message (as mentioned in issue to --allow-empty). As the
word "reword" implies the second case only . So, considering this I also agree
to improve its name to the one as you suggested or may be other.

> > And, if we consider the above then for drop! commit, I wonder if we
> > can implement
> > it in the same way as mentioned in issue [2] by adding the --drop
> > option to 'git revert'.
> >
> > Secondly, as you have mentioned here [3], there could be a `rewrite` command
> > as a wrap of `rebase -i` . But regarding this, I want to once confirm
> > if this can be a
> > solution of this project or is it need to be done later on.
>
> The 'rewrite' idea is definitely not part of this project, it's an idea
> for better history editing in the future.
>

Okay,Thanks for confirming this  .

Thanks and Regards,
Charvi

> Best Wishes
>
> Phillip
>
> > Please correct me if I am wrong.
> >
> > Thanks and Regards,
> > Charvi
> >
> > [1] https://lore.kernel.org/git/xmqqft77glhn.fsf@gitster.c.googlers.com/
> > [2] https://github.com/gitgitgadget/git/issues/259
> > [3] https://lore.kernel.org/git/95cc6fb2-d1bc-11de-febe-c2b5c78a6850@gmail.com/
> >
> >> Best Wishes
> >>
> >> Phillip
> >>
> >> [1]
> >> https://lore.kernel.org/git/95cc6fb2-d1bc-11de-febe-c2b5c78a6850@gmail.com
> >>
> >>>
> >>> Thanks and Regards,
> >>> Charvi
> >>>
> >>> [1] https://public-inbox.org/git/20201021124823.2217-1-charvi077@gmail.com/
> >>> [2] https://github.com/gitgitgadget/git/issues/259
> >>> [3]
> >>> https://public-inbox.org/git/pull.736.git.1600695050.gitgitgadget@gmail.com/
> >>> [4] https://github.com/phillipwood/git/commits/wip/rebase-amend
> >>>
> >>

  reply	other threads:[~2020-10-29  0:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-25  7:43 Charvi Mendiratta
2020-10-26 10:36 ` Phillip Wood
2020-10-27 14:24   ` Charvi Mendiratta
2020-10-27 17:48     ` Phillip Wood
2020-10-28 13:14       ` Charvi Mendiratta [this message]
2020-10-28 15:46         ` Phillip Wood

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

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

  git send-email \
    --in-reply-to='CAPSFM5evXnsOT3Oj=PXzeDYUR8esCd1rEZXpihSdbT7NPuYm1w@mail.gmail.com' \
    --to=charvi077@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=phillip.wood@dunelm.org.uk \
    --subject='Re: [Outreachy]: Help for Outreachy Application' \
    /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

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox