All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rohit Ashiwal <rohit.ashiwal265@gmail.com>
To: rohit.ashiwal265@gmail.com
Cc: git@vger.kernel.org, newren@gmail.com,
	Johannes.Schindelin@gmx.de, t.gummerer@gmail.com,
	christian.couder@gmail.com, artagnon@gmail.com, s-beyer@gmx.net
Subject: [GSoC][RFC] Proposal: Improve consistency of sequencer commands
Date: Fri, 22 Mar 2019 20:41:57 +0530	[thread overview]
Message-ID: <20190322151157.9550-1-rohit.ashiwal265@gmail.com> (raw)
In-Reply-To: <CAL7ArXqkVfrnQWYFDYdwMGkZjHCwzyQX4pbKCo=KCzy-zJiRBw@mail.gmail.com>

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?


######################################################################################
                  Improve consistency of sequencer commands
######################################################################################


About Me
========

Personal Information
---------------+-----------------------------------------------------------------------
Name           |     Rohit Ashiwal
Major          |     Computer Science and Engineering
E-mail         |     rohit.ashiwal265@gmail.com
IRC            |     __rohit
Skype          |     rashiwal
Ph no          |     [ ph_no ]
Github         |     r1walz
Linkedin       |     rohit-ashiwal
Address        |     [                             Address                            ]
Postal Code    |     [ postal_code ]
Time Zone      |     IST (UTC +0530)
---------------+-----------------------------------------------------------------------


Background
----------
I am a sophomore at the Indian Institute of Technology Roorkee[1], pursuing
my bachelor's degree in Computer Science and Engineering. I was introduced
to programming at a very early stage of my life. Since then, Ive been trying
out new technologies by taking up various projects and participating in contests.
I am passionate about system software development and competitive programming,
and I also actively contribute to open-source projects. At college, I joined
the Mobile Development Group [MDG](2), IIT Roorkee - a student group that fosters
mobile development within the campus. I have been an active part of the Git
community since February of this year, contributing to git-for-windows.


Dev-Env
-------
I am fluent in C/C++, Java and Shell Scripting, otherwise, I can also program
in Python, JavaScript. I use both Ubuntu 18.04 and Windows 10 x64 on my laptop.
I prefer Linux for development unless the work is specific to Windows.
VCS: 	git
Editor: VS Code with gdb integrated


Contributions to Open Source
============================
My contributions to open source have helped me gain experience in understanding
the flow of any pre-written code at a rapid pace and enabled me to edit/add new
features.

List of Contributions at Git:
-----------------------------
Status: Merge in next revision
git/git:
[Micro](3): Use helper functions in test script.

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.


The Project: `Improve consistency of sequencer commands'
========================================================

Overview
--------
git-sequencer was introduced by Stephan Beyer <s-beyer@gmx.net> 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@gmail.com>
in 2011[7], converting it to a builtin and extending its domain to git-cherry-pick.
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
    - [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


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.


Availability
============
My vacations start on 7 May and end on 15 July. The official GSoC period
is from 6 May to 19 August. I can easily devote 40-45 hours a week until
my college reopens and 35-40 hours per week after that. Im also free on
the weekends and I intend to complete most of the work before my college
reopens.

Other than this project, I have no commitments/vacations planned for the
summer. I shall keep my status posted to all the community members on a
weekly basis and maintain transparency in the project.


After GSoC
==========
Even after the Google Summer of Code, I plan on continuing my contributions
to this organization, by adding to my project  and working on open issues
or feature requests. With the community growing continuously, I feel
responsible for all the projects Im a part of. Having picked up a lot of
developing skills, my major focus would be to develop mentorship skills so
that I can give back to this community by helping other people navigate
around and reviewing their contributions.


[0]: https://git.github.io/SoC-2019-Ideas/
[1]: https://www.iitr.ac.in/
[2]: http://mdg.iitr.ac.in/
[3]: https://public-inbox.org/git/20190303122842.30380-1-rohit.ashiwal265@gmail.com/
[4]: https://github.com/git-for-windows/git/pull/2077
[5]: https://github.com/git-for-windows/build-extra/pull/235
[6]: https://public-inbox.org/git/20080607220101.GM31040@leksak.fem-net/
[7]: https://public-inbox.org/git/20110403172054.GA10220@kytes/

  parent reply	other threads:[~2019-03-22 15:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-24 10:05 [GSoC] Introduction Rohit Ashiwal
2019-02-24 14:47 ` Johannes Schindelin
2019-02-25  6:50 ` Christian Couder
2019-02-25 11:35   ` Rohit Ashiwal
2019-02-25 20:21     ` Christian Couder
2019-02-25 21:09       ` Eric Sunshine
2019-03-22 15:11 ` Rohit Ashiwal [this message]
2019-03-23 22:17   ` [GSoC][RFC] Proposal: Improve consistency of sequencer commands Christian Couder
2019-03-24  1:21     ` Rohit Ashiwal
2019-03-24  1:07   ` Elijah Newren
2019-03-24  1:45     ` Rohit Ashiwal
2019-03-29 22:32 ` [GSoC][RFC v2] " Rohit Ashiwal
2019-03-29 23:25   ` Elijah Newren
2019-03-29 23:34     ` Rohit Ashiwal
2019-03-30  0:38       ` Elijah Newren
2019-03-30  8:48         ` Rohit Ashiwal
2019-03-30 17:13           ` Elijah Newren
2019-03-30  7:16   ` Christian Couder
2019-03-30 17:12     ` Elijah Newren
2019-04-05 21:31 ` [GSoC][RFC v3] Proposal: " Rohit Ashiwal
2019-04-07  7:15   ` Christian Couder
2019-04-07 12:16     ` Rohit Ashiwal
2019-04-07 23:07       ` Christian Couder

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=20190322151157.9550-1-rohit.ashiwal265@gmail.com \
    --to=rohit.ashiwal265@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=artagnon@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=newren@gmail.com \
    --cc=s-beyer@gmx.net \
    --cc=t.gummerer@gmail.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.