git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [GSoC][RFC][PROPOSAL v1] Unify ref-filter formats with other --pretty formats
@ 2020-02-26  0:03 Hariom verma
  2020-03-04 15:16 ` Christian Couder
  0 siblings, 1 reply; 7+ messages in thread
From: Hariom verma @ 2020-02-26  0:03 UTC (permalink / raw)
  To: git
  Cc: Christian Couder, johannes.schindelin, Matheus Tavares Bernardino,
	peff, Hariom Verma

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

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: [GSoC][RFC][PROPOSAL v1] Unify ref-filter formats with other --pretty formats
@ 2020-02-26  7:30 Abhishek Kumar
  2020-02-26 16:59 ` Hariom verma
  0 siblings, 1 reply; 7+ messages in thread
From: Abhishek Kumar @ 2020-02-26  7:30 UTC (permalink / raw)
  To: hariom18599
  Cc: christian.couder, git, Johannes Schindelin,
	Matheus Tavares Bernardino, peff

Greetings Hariom,

> 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?

As far as I have seen, there are two approaches to the project timeline.
Some prefer a week by week timeline whereas others have 3-4 week-long
phases instead.

If your work can be neatly divided into a weekly schedule, by all
means - go for it.

> 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.

Olga has worked on migrating the formatting logic from cat-file, log
and for-each-ref to ref-filter as a part of Outreachy 2017-18. Look up
her patches and proposal.

She, along with Christian and Thomas were the possible mentors for last year.
They are the best people to ask to learn from.

Regards
Abhishek

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [GSoC][RFC][Proposal v1] Unify ref-filter formats with other --pretty formats
@ 2020-03-23  7:23 Harshit Jain
  2020-03-23  9:42 ` Hariom verma
  0 siblings, 1 reply; 7+ messages in thread
From: Harshit Jain @ 2020-03-23  7:23 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Christian Couder

Greetings!
I would like to request all of you to please review and give suggestions
for my GSoC proposal. I have already submitted the draft on the GSoC
official website and have mentioned the link here as well.

Link: https://docs.google.com/document/d/1pNDKC-ZVTdo-B9xUtB1LuVkQXpYBsB5dEEtRbHuzWtE/edit?usp=sharing

Thanks,
Harshit Jain

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-23 10:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26  0:03 [GSoC][RFC][PROPOSAL v1] Unify ref-filter formats with other --pretty formats Hariom verma
2020-03-04 15:16 ` 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

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).