git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Hariom verma <hariom18599@gmail.com>
To: git <git@vger.kernel.org>
Cc: Christian Couder <christian.couder@gmail.com>,
	johannes.schindelin@gmx.de,
	Matheus Tavares Bernardino <matheus.bernardino@usp.br>,
	peff@peff.net, Hariom Verma <hariom18599@gmail.com>
Subject: [GSoC][RFC][PROPOSAL v1] Unify ref-filter formats with other --pretty formats
Date: Wed, 26 Feb 2020 05:33:31 +0530	[thread overview]
Message-ID: <CA+CkUQ9Pnta8Ut9ZaeKLSPn_EyQwh=Wgm1eiSWirghgtcWZqoA@mail.gmail.com> (raw)

Here is the initial version of my proposal. I would really love to
have comments on it.
Also, how should I manage the project timeline?

Project title says some past GSoC and Outreachy Interns had worked on this.
I would also like to be redirected there. So I can learn from there
work as well.

Thanks,
Hariom

=====================================

View on Docs: https://docs.google.com/document/d/15GPvle6S0iNg430aJx-gMrXvsgnzTlFNFhyP-K6Zmtw/edit?usp=sharing

======================================

**Unify ref-filter formats with other --pretty formats**

Name  :  Hariom Verma
Major  :  Computer Science and Engineering
Mobile no.  : <<mob_no>>
Email  : <<email>>
Time Zone  : IST (UTC +05:30)

## About me
I am a Computer Science undergraduate at Shri G S Institute of
Technology & Science, Indore, India. I am passionate about software
freedom and open source communities. I've been writing in C, C++,
Python & Dart for almost 3 years, and contributed to some projects
which can be seen on Github.

I’m contributing to Git since Oct 2019 and would love to be a member
of such a versatile community.

### Contact:
IRC: harry-hov (on #git-devel@freenode)
GitHub: harry-hov
Linkedin: https://www.linkedin.com/in/harry-hov/

## Me & Git
My contributions have helped me understand the review and patch
submission process in a batter way. Also, I now feel a bit more
comfortable with Git’s codebase.

Commit
Status
-------------------
receive.denyCurrentBranch: respect all worktrees[1]
Status: next

t5509: use a bare repository for test push target[2]
Status: next

get_main_worktree(): allow it to be called in the Git directory[3]
Status: next

git-compat-util.h: drop the `PRIuMAX` and other fallback definitions[4]
Status: Merged to master

builtin/blame.c: constants into bit shift format[5]
Status: Merged to Master

## Proposed Project

### Abstract
Git has an old problem of duplicated implementations of some logic.
For example, Git had at least 4 different implementations to format
command output for different commands. The foremost aim of this
project is to simplify codebase by getting rid of duplication of a
similar logic and, as a result, simplify adding new functionality.
The current task is to reuse ref-filter formatting logic in pretty to
minimize code duplication and to have one unified interface to extract
all needed data from the object and to print it properly.

### Plan
As Thomas Gummerer suggested[6] I’ll start by first looking at what
actually needed to be replaced (for example by studying the PRETTY
FORMATS section in 'man git-log', what which verbs you can use in the
ref-filter ('man git-for-each-ref') to achieve the same thing.
Then I’ll research how one format is implemented in 'pretty.c', and
see how a similar thing using the ref-filter is implemented in
'ref-filter.c'.
e.g. the "%(objectname:short) %(contents:subject)" (this is missing
coloring, but just to get you the idea) is similar to
'--pretty=oneline'.  Now one can try to find how 'oneline' is
implemented in 'pretty.c', and could translate that to use the
'ref-filter' API.

### Potential Problem
The biggest challenge is to maintain backward compatibility while
using reuse ref-filter formatting logic in pretty. One can't just
delete some commands, rewrite them and change their interface.
Also, bugs could get introduced.

## Availability
My exams will end on 30 April. I might travel home after that. So, I
can start actively writing code for this project after 3 May. My
college resumes on 15 July. I can easily devote 45-50 hours a week
until my college reopens and 35-40 hours per week after that. I'm 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 for
this summer. I will also periodically post my status through blogs.

## Post GSoC
As I said, I would love to be a member of Git’s community. So, I
intend to keep contributing even after the GSoC period ends.

## Experience with Open Souce (Optional)
-> Organized many Git workshops for newcomers with HackSocIndore[7].
HackSocIndore is a group of developers that organizes Hackathons,
Workshops & Technical Events. I’m the core team member at HackSoc.
-> Mentor, Kharagpur Winter of Code (KWoC)[8]
Kharagpur Winter of Code is a 5-week long online program for students
who are new to Open Source Development.


[1]:https://public-inbox.org/git/d21a590d6c23f231c54b731b737c363b83660f79.1582484231.git.gitgitgadget@gmail.com/
[2]:https://public-inbox.org/git/ae749310f067c43429741987cd9f47c1ae4ceb3f.1582484231.git.gitgitgadget@gmail.com/
[3]:https://public-inbox.org/git/8718facbc951614f19407afa6ca8d6110507483d.1582484231.git.gitgitgadget@gmail.com/
[4]:https://public-inbox.org/git/177deddcf83c2550c0db536a7a6942ba69a92fa5.1574600963.git.gitgitgadget@gmail.com/
[5]:https://public-inbox.org/git/838478a185322572ed4747eb484b678a8e2d7ac6.1571334411.git.gitgitgadget@gmail.com/
[6]:https://public-inbox.org/git/20190331184930.GV32487@hank.intra.tgummerer.com/
[7]:https://www.hacksoc.in
[8]:https://kwoc.kossiitkgp.org

             reply	other threads:[~2020-02-26  0:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26  0:03 Hariom verma [this message]
2020-03-04 15:16 ` [GSoC][RFC][PROPOSAL v1] Unify ref-filter formats with other --pretty formats Christian Couder
  -- strict thread matches above, loose matches on Subject: below --
2020-02-26  7:30 Abhishek Kumar
2020-02-26 16:59 ` Hariom verma
2020-03-23  7:23 [GSoC][RFC][Proposal " Harshit Jain
2020-03-23  9:42 ` Hariom verma
2020-03-23 10:37   ` Harshit Jain

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='CA+CkUQ9Pnta8Ut9ZaeKLSPn_EyQwh=Wgm1eiSWirghgtcWZqoA@mail.gmail.com' \
    --to=hariom18599@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    --cc=matheus.bernardino@usp.br \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).