* [GSoC/Proposal v2] Unify ref-filter formats with other --pretty formats
@ 2020-03-31 6:01 Angel Pan
0 siblings, 0 replies; only message in thread
From: Angel Pan @ 2020-03-31 6:01 UTC (permalink / raw)
To: git; +Cc: abhishekkumar8222
Big thanks to those who have spent some time reading my proposal.
Special mention toAbhishek, who corrected some of my error and provided
with some useful advice. ;)
Here is version II:
https://docs.google.com/document/d/19Nkesmet7X7U42lsvksXoiEBrnOppKicWHYKneEQsQ8/edit?usp=sharing
---
# Unify ref-filter formats with other `--pretty` formats
## Contact Information
Full name: Yun Pan(Angel Pan)
Email: [dinoallosaurus1111@gmail.com](mailto:dinoallosaurus1111@gmail.com)
IRC: dinoallosaurus
GitHub: dinoallo
Timezone: UTC+8
## Short Biography
I am a first year student in Computer Science at Zhejiang University in
China. It's my first time participating in GSoC. I have had experience
working with C/C++, shell scripts, Python, Go and Perl. I am interested
in writing CLI or system scripts/configurations, which is the main
reason I am applying to Git project. I might be relatively new when it
comes to contributing open-source project. However, I am a quick and
avid learner so if I don’t have enough skills to complete the job, I can
self-learn immediately.
## Working Environment
My operating system is Arch Linux, which I started using it about half
an year ago. Before then I was using Debian-based systems like Ubuntu.
And I have some experience using git on Windows as well.
I mainly use Emacs and VS Code as my editor but I can use Vim also. I am
able to use both markdown and Org-mode on Emacs for documenting
## Coding/Contributing Experience
C is my *native* language I like to configure my computer and automate
some work on it by myself so I learned shell-scripts and other scripting
languages. Now I write code related to back-end for the student club at
my university.
Since I used to develop web before, there is a small-project written in
Python with Django on my GitHub page. From the experience of applying to
git, I obtained much deeper knowledge about git and how it works. No
matter what the outcome is, I am looking forward to contributing more to
git and work with all the developers.
### Microproject
Mailing list:
https://lore.kernel.org/git/pull.595.git.1585588586605.gitgitgadget@gmail.com/T/#u
GitHub: https://github.com/gitgitgadget/git/pull/595
Status: Reviewed and now revised(the commit message).
## Introduction
Currently, the placeholder used in ref-filter expansion `%(foo)` has not
yet supported in `--pretty` format.
Using the new ref-filter formats has its own convenience. For example,
the format `%(foo)` is more human-readable, easy to process, and
extensible if we want to add some options in each placeholder(like
`%(trailers:only=bogo)`) . Hence, users can just simply add the options
in the placeholder if needed, reducing their frustration in constructing
long and complex output command.
My goal is to unify the the ref-filter formats with `--pretty` formats
and generalize them in git:
### Primary task(s)
* Keep the previous placeholders like `%an`, but add more recognizable
alternatives like `%(authorname)`.
* Check if there are other duplicate formats with `--pretty` , if so,
re-factor them as well.
### Optional task(s)
I don't want to go beyond the border of my main task, so I label this
idea as an optional task that needs to be carefully reviewed and
discussed by many.
* Introduce format-scripting(like the one used in `git-for-each-ref`) to
`--pretty` and even make a field in user's configuration to use default
format-script for `--pretty`.
## Deliverables/Timeline
### ~ May 5th
* I will keep an eye on git project and make more patches to it if
possible.
* At the same time, getting to know more about the community and
collaborating with others.
* Also I will talk to my potential mentor, to get more concrete and
constructive advise about my project. Last, finalize my project.
### May 5th ~ June 2nd
Community-bonding period:
After having rounded understanding about the community and all the past
work, I would like to revise my previous ideas regarding to my project
if there is a much better solution or other problems. Then, I will start
to work on a part of my project:
* Carefully examine `ref-filter` related code to see what I can learn
from(the implementation, etc...) and what to avoid doing.
* Add new placeholders with new formats and names in `--pretty`.
* Commit patches to obtain reviews from the community.
### June 2nd ~ June 10th
The cushion period. Finish the unfinished job from last phase. If all
the job is done, add test scripts and future documentation.
### June 11th ~ July 3rd
I will be occupied in this phase since the final exams take over. I
might not be able to work on some actual change but will be free to
reply to anyone in the community.
### July 3rd ~ July 17th
* Gathering all reviews and criticisms from the community and revise my
previous patches if needed.
* Add test scripts and documentation.
### July 17th ~ July 28th
* keep commit the patches to obtain reviews from the community.
* Discuss the possibility of adding configuration for `--pretty`.
### July 28th ~ August 12th
* Gathering all reviews and criticisms from the community and revise my
previous patches if needed.
* Add test scripts and documentation.
* [option] Write a experimental configuration on pretty.
### August 12th ~ August 25th
Final revision and discussion.
### August 25th ~
Submission
*If I complete my job earlier than I plan, than I would like to come up
with more improvements and new features in my project.*
### Side-note
* Before my summer vacation, I can code for 2-3 hours per working day
and 4-6 hours on weekend.
* My summer vacation starts from July 3rd to early September, which fits
well with GSoC's schedule. I will be able to spend half of my day on my
project.
* English is not my first language so if I have grammatical or other
errors in documentation or communication, a review will be appreciated.
## Conclusion
First, I would like to say thank you to all developers that have helped
me or replied to me in the mailing list.
I want to join an active open-source community online for a really long
time but I was too shy before and got caught up with the college
entrance exam. I think GSoC is a good platform to start my journey.
Though I was not able to get the information in time and it's late for
me to commit my submission before deadline, I still decided to apply.
Because if I hadn't, I would regret someday.
As I mentioned before, maybe I have little experience to
online-contributing, but I will learn the required skills to overcome
obstacles. My lust for knowledge is my greatest power.
Last but not least, it's a pleasure to join the open-source community.
Let's collaborate and make the world better.
---
On 3/31/20 4:39 AM, Angel Pan wrote:
> Hello everyone.
> Here is my proposal for GSoC. A review or criticism would be appreciated.
>
> Google doc version:
> https://docs.google.com/document/d/19Nkesmet7X7U42lsvksXoiEBrnOppKicWHYKneEQsQ8/edit?usp=sharing
>
> Best regards,
> Angel
>
> ----------
> # Unify ref-filter formats with other `--pretty` formats
>
> ## Contact Information
>
> Full name: Yun Pan(Angel Pan)
>
> Email: [dinoallosaurus1111@gmail.com](mailto:dinoallosaurus1111@gmail.com)
>
> IRC: dinoallosaurus
>
> GitHub: dinoallo
>
> Timezone: UTC+8
>
> ## Short Biography
>
> I am a first year student in Computer Science at Zhejiang University
> in China. It's my first time participating in GSoC. I have had
> experience working with C/C++, shell scripts, Python, Go and Perl. I
> am interested in writing CLI or system scripts/configurations, which
> is the main reason I apply to Git project. I might be relatively new
> when it comes to contributing on-line project. However, I am a quick
> and avid learner so if I don’t have enough skills to complete the job,
> I can self-learn immediately.
>
> ## Working Environment
>
> My operating system is Arch Linux, which I started using it about half
> an year ago. Before then I was using Debian-based systems like Ubuntu.
> And I have some experience using git on Windows as well.
>
> I mainly use Emacs and VS Code as my editor but I can use Vim also. I
> am able to use both markdown and Org-mode on Emacs for documenting
>
> ## Coding/Contributing Experience
>
> C is my *native* language I like to config my computer and automate
> some work on it by myself so I learned shell-scripts and other
> scripting languages. Now I write code related to back-end for the
> student club at my university.
>
> Since I used to develop web before, there is a small-project written
> in Python with Django on my GitHub page. From the experience of
> applying to git, I obtained much deeper knowledge about git and how it
> works. No matter what the outcome is, I am looking forward to
> contributing more to git and work with all the developers.
>
> ### Microproject
>
> Mailing list: https://lore.kernel.org/git/pull.595.git.1585588586605.gitgitgadget@gmail.com/T/#u
>
> GitHub: https://github.com/gitgitgadget/git/pull/595
>
> Status: waiting to be review.
>
> ## Introduction
>
> Currently, the placeholder used in ref-filter expansion `%(foo)` has
> not yet supported in `--pretty` format.
>
> Using the new ref-filter formats has its own convenience. For
> example, the format `%(foo)` is more human-readable, easy to process,
> and extensible if we want to add some options in each placeholder(like
> `%(trailers:only=bogo)`) . Hence, users can just simply add the
> options in the placeholder if needed, reducing their frustration in
> constructing long and complex output command.
>
> My goal is to unify the the ref-filter formats with `--pretty` formats
> and generalized them in git:
>
> * Get rid of unrecognizable placeholders like `%an` to `%(authorname)`.
> * Introduce format-scripting(like the one used in `git-for-each-ref`)
> to `--pretty` and even make a field in user's configuration to use
> default format-script for `--pretty`.
>
> ## Deliverables/Timeline
>
> ### ~ May 5th
>
> * I will keep an eye on git project and make more patches to it if possible.
> * At the same time, getting to know more about the community and
> collaborating with others.
>
> * Also I will talk to my potential mentor, to get more concrete and
> constructive advise about my project. Last, finalize my project.
>
> ### May 5th ~ June 2nd
>
> Community-bonding period:
>
> After having rounded understanding about the community and all the
> past work, I would like to revise my previous ideas regarding to my
> project if there is a much better solution or other problems. Then, I
> will start to work on a part of my project:
>
> * Carefully examine `ref-filter` related code to see what I can learn
> from(the implementation, etc...) and what to avoid doing.
> * Replace the placeholders in `--pretty` with new formats and names.
> * Commit patches to obtain reviews from the community.
>
> ### June 2nd ~ June 10th
>
> The cushion period. Finish the unfinished work from last phase. If all
> the job is done, add test scripts and future documentation.
>
> ### June 11th ~ July 3rd
>
> I will be occupied in this phase since the final exams take over. I
> might not be able to work on some actual change but is free to reply
> to anyone in the community.
>
> ### July 3rd ~ July 17th
>
> * Gathering all reviews and criticisms from the community and revise
> my previous patches if needed.
>
> * Add test scripts and documentation.
>
> ### July 17th ~ July 28th
>
> * Implement the format-scripting in `--pretty`
> * Commit the patches to obtain reviews from the community
>
> ### July 28th ~ August 12th
>
> * Gathering all reviews and criticisms from the community and revise
> my previous patches if needed.
>
> * Add test scripts and documentation.
> * [option] configuration on pretty
>
> ### August 12th ~ August 25th
>
> Final revision and discussion.
>
> ### August 25th ~
>
> Submission
>
> *If I complete my job earlier than I plan, than I would like to come
> up with more improvements and new features in my project.*
>
> ### Side-note
>
> * Before my summer vacation, I can code for 2-3 hours per working day
> and 4-6 hours on weekend.
> * My summer vacation starts from July 3rd to early September, which
> fits well with GSoC's schedule. I will be able to spend half of my day
> on my project.
> * English is not my first language so if I have grammatical or other
> errors in documentation or communication, a review will be
> appreciated.
>
>
>
> ## Conclusion
>
> First, I would like to say thank you to all developers that have
> helped me or replied to me in the mailing list.
>
> I want to join an active open-source community online for a really
> long time but I was too shy before and got caught up with the college
> entrance exam. I think GSoC is a good platform to start my journey.
> Though I was not able to get the information in time and it's late for
> me to commit my submission before deadline, I still decided to apply.
> Because if I hadn't, I would regret someday.
>
> As I mentioned before, maybe I have little experience to
> online-contributing, but I will learn the required skills to overcome
> obstacles. My lust for knowledge is my greatest power.
>
> Last but not least, it's a pleasure to join the open-source community.
> Let's collaborate and make the online world better.
>
> ----------
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-03-31 6:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-31 6:01 [GSoC/Proposal v2] Unify ref-filter formats with other --pretty formats Angel Pan
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 NNTP newsgroup(s).