Hi Rohit, On Fri, Mar 29, 2019 at 11:33 PM Rohit Ashiwal <rohit.ashiwal265@xxxxxxxxx> wrote: > > This is the v2 of the draft proposal[1]. I've added some details to the proposal, > it talks more about what to implement instead of how. It is still incomplete. > > I'm currently adding more to the overview section, where I'll document the work > done by Dscho and Alban. After that I'll find files that will be changed while > implementing rest of the flags, finally add the basic control and/or data flow > of the 'how' part. The plan to improve it looks good to me. > ### List of Contributions at Git: > > Repo | Status | Title > -|-|- > [git/git][8] | Merged in 'next' branch | [Micro][3]**:** Use helper functions in test script It would be nice to have a link to the last "What's cooking in git.git" email from Junio so we can easily see the current status of your patch/patch series. > [git-for-windows/git][9] | Merged and released | [#2077][4]**:** [FIX] git-archive error, gzip -cn : command not found. > [git-for-windows/build-extra][10] | Merged | [#235][5]**:** installer: Fix version of installer and installed file. > > > ## The Project > > ### _Improve consistency of sequencer commands_ > > #### Overview > > Stephan Beyer \<s-beyer@xxxxxxx> tried to introduce git-sequencer as his GSoC > 2008 [project][6] which executed a sequence of git instructions to \<HEAD> or > \<branch> and the sequence was given by a \<file> or through `stdin`. The > git-sequencer wants to become the common backend for git-am, git-rebase and > other git commands. Unfortunately, most of the code did not get merged during > the SoC period but he continued his contributions to the project along with > Christian Couder \<chriscool@xxxxxxxxxxxxx> and then mentor Daniel Barkalow > \<barkalow@xxxxxxxxxxxx>. > > The project was continued by Ramkumar Ramachandra \<artagnon@xxxxxxxxx> in > [2011][7], converting it to a builtin and extending its domain to > git-cherry-pick. I don't think the sequencer has been converted into a builtin. I am not sure why Ram wrote that he would do that in his proposal as I don't think it was really a goal we had. By the way, you might want to read the sequencer related article in https://git.github.io/rev_news/2016/10/19/edition-20/ for things that Dscho did. > The learnings from all those works will serve as a huge headstart this year for > me. > > As of now, there are still some inconsistencies among these commands, e.g., > there is no `--skip` flag in `git-cherry-pick` while one exists for > `git-rebase`. This project aims to remove inconsistencies in how the command > line options are handled. [...] > 5. `[Bonus]` As familiarity with the code increases, I might be able to implement > the feature of rewriting commits in time. I had to go back to the "Points to work on" section to understand what this was about. Please describe what this is about in a clearer way. > 6. `[Bonus]` If everything goes well and time permits, discuss with the mentor(s) > the possibility of deprecating the am backend of rebase. This point is last to > work on as it provides no "cosmetic" difference on the user side. Elijah > [mentioned][12] the possibility of a "social" problem that might occur which shall > be discussed then. Maybe it would be interesting to see if there is a performance difference between the 2 backends. [...] > #### Relevant Work > > Dscho and I had a talk on how a non-am backend should implement `git rebase > --whitespace=fix`, which he warned may become a large project (as it turns out > it is a sub-task in one of the [proposed ideas][11]), we were trying to > integrate this on git-for-windows first. > > Keeping warning in mind, I discussed this project with Rafael and he suggested > (with a little bit uncertainty in mind) that I should work on implementing a > git-diff flag that generates a patch that when applied, will remove whitespace > errors which I am currently working on. Nice!