Hi Rohit, On Fri, Mar 22, 2019 at 4:12 PM Rohit Ashiwal <rohit.ashiwal265@xxxxxxxxx> wrote: > > Hey People > > I am Rohit Ashiwal and here my first draft of the proposal for the project > titled: `Improve consistency of sequencer commands' this summer. I need your > feedback and more than that I need help to improve the timeline of this > proposal since it looks very weak. Basically, it lacks the "how" component > as I don't know much about the codebase in detail. > > Thanks > Rohit > > PS: Point one is missing in the timeline from the ideas page[0], can someone > explain what exactly it wants? You mean this point from the idea page: "The suggestion to fix an interrupted rebase-i or cherry-pick due to a commit that became empty via git reset HEAD (in builtin/commit.c) instead of git rebase --skip or git cherry-pick --skip ranges from annoying to confusing. (Especially since other interrupted am’s and rebases both point to am/rebase –skip.). Note that git cherry-pick --skip is not yet implemented, so that would have to be added first." or something else? By the way it is not very clear if the proposal uses markdown or another related format and if it is also possible (and perhaps even better visually) to see it somewhere else (maybe on GitHub). If that's indeed possible, please provide a link. It is a good thing though to still also send it attached to an email, so that it can be easily reviewed and commented on by people who prefer email discussions. > List of Contributions at Git: > ----------------------------- > Status: Merge in next revision Maybe "Merged into the 'next' branch" > git/git: > [Micro](3): Use helper functions in test script. Please give more information than that, for example you could point to the commit in the next branch on GitHub and perhaps to the what's cooking email from Junio where it can be seen that the patch has been merged into next and what's its current status. > Status: Merged > git-for-windows/git: > [#2077](4): [FIX] git-archive error, gzip -cn : command not found. > > Status: Merged > git-for-windows/build-extra: > [#235](5): installer: Fix version of installer and installed file. For Git for Windows contributions I think a link to the pull request is enough. It could be nice to know though if the commits are part of a released version. > The Project: `Improve consistency of sequencer commands' > ======================================================== > > Overview > -------- > git-sequencer was introduced by Stephan Beyer <s-beyer@xxxxxxx> as his > GSoC 2008 project[6]. It 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. The project was continued by Ramkumar <artagnon@xxxxxxxxx> > in 2011[7], converting it to a builtin and extending its domain to git-cherry-pick. Yeah, you can say that it was another GSoC project and maybe give his full name (Ramkumar Ramachandra). There have been more related work to extend usage of the sequencer after these GSoC projects, at least from Dscho and maybe from Alban Gruin and Elijah too. I would be nice if you could document that a bit. > 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. > Points to work on: > ------------------ > - Add `git cherry-pick --skip` > - Implement flags that am-based rebases support, but not interactive > or merge based, in interactive/merge based rebases Maybe the flags could be listed. > - [Bonus] Deprecate am-based rebases > - [Bonus] Make a flag to allow rebase to rewrite commit messages that > refer to older commits that were also rebased This part of your proposal ("Points to work on") looks weak to me. Please try to add more details about what you plan to do, how you would describe the new flags in the documentation, which *.c *.h and test files might be changed, etc. > Proposed Timeline > ----------------- > + Community Bonding (May 6th - May 26th): > - Introduction to community > - Get familiar with the workflow > - Study and understand the workflow and implementation of the project in detail > > + Phase 1 (May 27th - June 23rd): > - Start with implementing `git cherry-pick --skip` > - Write new tests for the just introduced flag(s) > - Analyse the requirements and differences of am-based and other rebases flags > > + Phase 2 (June 24th - July 21st): > - Introduce flags of am-based rebases to other kinds. > - Add tests for the same. > > + Phase 3 (July 22th - August 19th): > - Act on [Bonus] features > - Documentation > - Clean up tasks > > > 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[0]), 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. You mean Rafael Ascensão? Please CC him if he is involved in this. Thanks, Christian.