{"thread":{"id":"53137","subject":"[GSoC][Proposal v1] My proposal for GSoC 2020","startedAt":"2020-03-30T20:39:40Z","lastAt":"2020-03-31T03:53:20Z","messageCount":2,"participants":["Angel Pan","Abhishek Kumar"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"394394","messageId":"CAFk=nY5QSWk+2_eLdyS+4Nzbm23R7i1A4NEOEVxHueCSytgBTQ@mail.gmail.com","threadId":"53137","inReplyTo":null,"subject":"[GSoC][Proposal v1] My proposal for GSoC 2020","fromName":"Angel Pan","fromEmail":"dinoallosaurus1111@gmail.com","sentAt":"2020-03-30T20:39:25Z","receivedAt":"2020-03-30T20:39:40Z","isPatch":false,"sender":{"key":"dinoallosaurus1111@gmail.com","avatar":"https://gravatar.com/avatar/759daaef3b99a93bea134f079314994931cde0c810b6876900c8da4224a79cc9?d=mp&s=160"},"body":"Hello everyone.\nHere is my proposal for GSoC. A review or criticism would be appreciated.\n\nGoogle doc version:\nhttps://docs.google.com/document/d/19Nkesmet7X7U42lsvksXoiEBrnOppKicWHYKneEQsQ8/edit?usp=sharing\n\nBest regards,\nAngel\n\n----------\n# Unify ref-filter formats with other `--pretty` formats\n\n## Contact Information\n\nFull name: Yun Pan(Angel Pan)\n\nEmail: [dinoallosaurus1111@gmail.com](mailto:dinoallosaurus1111@gmail.com)\n\nIRC: dinoallosaurus\n\nGitHub: dinoallo\n\nTimezone: UTC+8\n\n## Short Biography\n\nI am a first year student in Computer Science at Zhejiang University\nin China. It's my first time participating in GSoC. I have had\nexperience working with C/C++, shell scripts, Python, Go and Perl. I\nam interested in writing CLI or system scripts/configurations, which\nis the main reason I apply to Git project. I might be relatively new\nwhen it comes to contributing on-line project. However, I am a quick\nand avid learner so if I don’t have enough skills to complete the job,\nI can self-learn immediately.\n\n## Working Environment\n\nMy operating system is Arch Linux, which I started using it about half\nan year ago. Before then I was using Debian-based systems like Ubuntu.\nAnd I have some experience using git on Windows as well.\n\nI mainly use Emacs and VS Code as my editor but I can use Vim also. I\nam able to use both markdown and Org-mode on Emacs for documenting\n\n## Coding/Contributing Experience\n\nC is my *native* language I like to config my computer and automate\nsome work on it by myself so I learned shell-scripts and other\nscripting languages.  Now I write code related to back-end for the\nstudent club at my university.\n\nSince I used to develop web before, there is a small-project written\nin Python with Django on my GitHub page. From the experience of\napplying to git, I obtained much deeper knowledge about git and how it\nworks. No matter what the outcome is, I am looking forward to\ncontributing more to git and work with all the developers.\n\n### Microproject\n\nMailing list: https://lore.kernel.org/git/pull.595.git.1585588586605.gitgitgadget@gmail.com/T/#u\n\nGitHub: https://github.com/gitgitgadget/git/pull/595\n\nStatus: waiting to be review.\n\n## Introduction\n\nCurrently, the placeholder used in ref-filter expansion `%(foo)` has\nnot yet supported in `--pretty` format.\n\nUsing the new ref-filter formats has its own convenience.  For\nexample, the format `%(foo)` is more human-readable, easy to process,\nand extensible if we want to add some options in each placeholder(like\n`%(trailers:only=bogo)`) . Hence,  users can just simply add the\noptions in the placeholder if needed, reducing their frustration in\nconstructing long and complex output command.\n\nMy goal is to unify the the ref-filter formats with `--pretty` formats\nand generalized them in git:\n\n* Get rid of unrecognizable placeholders like `%an` to `%(authorname)`.\n* Introduce format-scripting(like the one used in `git-for-each-ref`)\nto `--pretty` and even make a field in user's configuration to use\ndefault format-script for `--pretty`.\n\n## Deliverables/Timeline\n\n### ~ May 5th\n\n* I will keep an eye on git project and make more patches to it if possible.\n* At the same time, getting to know more about the community and\ncollaborating with others.\n\n* Also I will talk to my potential mentor, to get more concrete and\nconstructive advise about my project. Last, finalize my project.\n\n### May 5th ~ June 2nd\n\nCommunity-bonding period:\n\nAfter having rounded understanding about the community and all the\npast work, I would like to revise my previous ideas regarding to my\nproject if there is a much better solution or other problems. Then, I\nwill start to work on a part of my project:\n\n* Carefully examine `ref-filter` related code to see what I can learn\nfrom(the implementation, etc...) and what to avoid doing.\n* Replace the placeholders in `--pretty` with new formats and names.\n* Commit patches to obtain reviews from the community.\n\n### June 2nd ~ June 10th\n\nThe cushion period. Finish the unfinished work from last phase. If all\nthe job is done, add test scripts and future documentation.\n\n### June 11th ~ July 3rd\n\nI will be occupied in this phase since the final exams take over. I\nmight not be able to work on some actual change but is free to reply\nto anyone in the community.\n\n### July 3rd ~ July 17th\n\n* Gathering all reviews and criticisms from the community and revise\nmy previous patches if needed.\n\n* Add test scripts and documentation.\n\n### July 17th ~ July 28th\n\n* Implement the format-scripting in `--pretty`\n* Commit the patches to obtain reviews from the community\n\n### July 28th ~ August 12th\n\n* Gathering all reviews and criticisms from the community and revise\nmy previous patches if needed.\n\n* Add test scripts and documentation.\n* [option] configuration on pretty\n\n### August 12th ~ August 25th\n\nFinal revision and discussion.\n\n### August 25th ~\n\nSubmission\n\n*If I complete my job earlier than I plan, than I would like to come\nup with more improvements and new features in my project.*\n\n ### Side-note\n\n* Before my summer vacation, I can code for 2-3 hours per working day\nand 4-6 hours on weekend.\n* My summer vacation starts from July 3rd to early September, which\nfits well with GSoC's schedule. I will be able to spend half of my day\non my project.\n* English is not my first language so if I have grammatical or other\nerrors in documentation or communication, a review will be\nappreciated.\n\n\n\n## Conclusion\n\nFirst, I would like to say thank you to all developers that have\nhelped me or replied to me in the mailing list.\n\nI want to join an active open-source community online for a really\nlong time but I was too shy before and got caught up with the college\nentrance exam. I think GSoC is a good platform to start my journey.\nThough I was not able to get the information in time and it's late for\nme to commit my submission before deadline, I still decided to apply.\nBecause if I hadn't, I would regret someday.\n\nAs I mentioned before, maybe I have little experience to\nonline-contributing, but I will learn the required skills to overcome\nobstacles. My lust for knowledge is my greatest power.\n\nLast but not least, it's a pleasure to join the open-source community.\nLet's collaborate and make the online world better.\n\n----------\n"},{"id":"394402","messageId":"20200331035206.GA1576@Abhishek-Arch","threadId":"53137","inReplyTo":"CAFk=nY5QSWk+2_eLdyS+4Nzbm23R7i1A4NEOEVxHueCSytgBTQ@mail.gmail.com","subject":"Re: [GSoC][Proposal v1] My proposal for GSoC 2020","fromName":"Abhishek Kumar","fromEmail":"abhishekkumar8222@gmail.com","sentAt":"2020-03-31T03:52:06Z","receivedAt":"2020-03-31T03:53:20Z","isPatch":false,"sender":{"key":"abhishekkumar8222@gmail.com","avatar":"https://avatars.githubusercontent.com/u/31231064?v=4"},"body":"On Tue, Mar 31, 2020 at 04:39:25AM +0800, Angel Pan wrote:\n> Hello everyone.\n> Here is my proposal for GSoC. A review or criticism would be appreciated.\n> \n> Google doc version:\n> https://docs.google.com/document/d/19Nkesmet7X7U42lsvksXoiEBrnOppKicWHYKneEQsQ8/edit?usp=sharing\n> \n> Best regards,\n> Angel\n> \n> ----------\n\nSide note: Use the project title in the e-mail subject. This would help\nmentors to understand what the project is about at a first glance.\n\n>\n> # Unify ref-filter formats with other `--pretty` formats\n> \n> ## Contact Information\n> \n> Full name: Yun Pan(Angel Pan)\n> \n> Email: [dinoallosaurus1111@gmail.com](mailto:dinoallosaurus1111@gmail.com)\n> \n> IRC: dinoallosaurus\n> \n> GitHub: dinoallo\n> \n> Timezone: UTC+8\n> \n> ## Short Biography\n> \n> I am a first year student in Computer Science at Zhejiang University\n> in China. It's my first time participating in GSoC. I have had\n> experience working with C/C++, shell scripts, Python, Go and Perl. I\n> am interested in writing CLI or system scripts/configurations, which\n> is the main reason I apply to Git project. I might be relatively new\n\n\"I am applying\" instead of \"I apply\".\n\n> when it comes to contributing on-line project. However, I am a quick\n\n\"on-line\" project is an unusual word choice, although I understand your\nsentiment. Collaborative might work better.\n\n> and avid learner so if I don’t have enough skills to complete the job,\n> I can self-learn immediately.\n> \n> ## Working Environment\n> \n> My operating system is Arch Linux, which I started using it about half\n> an year ago. Before then I was using Debian-based systems like Ubuntu.\n> And I have some experience using git on Windows as well.\n> \n\nNice! I use Arch too.\n\n> I mainly use Emacs and VS Code as my editor but I can use Vim also. I\n> am able to use both markdown and Org-mode on Emacs for documenting\n> \n> ## Coding/Contributing Experience\n> \n> C is my *native* language I like to config my computer and automate\n\n\"configure\" instead of \"config\".\n\n> some work on it by myself so I learned shell-scripts and other\n> scripting languages.  Now I write code related to back-end for the\n> student club at my university.\n> \n> Since I used to develop web before, there is a small-project written\n> in Python with Django on my GitHub page. From the experience of\n> applying to git, I obtained much deeper knowledge about git and how it\n> works. No matter what the outcome is, I am looking forward to\n> contributing more to git and work with all the developers.\n> \n> ### Microproject\n> \n> Mailing list: https://lore.kernel.org/git/pull.595.git.1585588586605.gitgitgadget@gmail.com/T/#u\n> \n> GitHub: https://github.com/gitgitgadget/git/pull/595\n> \n> Status: waiting to be review.\n\nI have reviewed the pull request. Code changes seem look good to me but\nyou need to write a better commit message (as harry-hov noted). Send out\na second version as soon as you are done.\n\nThe title and a one-line description of the microproject in the proposal\nwould be useful.\n\n>\n> ## Introduction\n> \n> Currently, the placeholder used in ref-filter expansion `%(foo)` has\n> not yet supported in `--pretty` format.\n> \n> Using the new ref-filter formats has its own convenience.  For\n> example, the format `%(foo)` is more human-readable, easy to process,\n> and extensible if we want to add some options in each placeholder(like\n> `%(trailers:only=bogo)`) . Hence,  users can just simply add the\n> options in the placeholder if needed, reducing their frustration in\n> constructing long and complex output command.\n> \n> My goal is to unify the the ref-filter formats with `--pretty` formats\n> and generalized them in git:\n\n\"generalize\" instead of \"generalized\"\n\n> \n> * Get rid of unrecognizable placeholders like `%an` to `%(authorname)`.\n\nRemoving old, short placeholders like `%an` could break existing scripts\nand user flow.\n\nHaving both short and descriptive placeholders would be better.\n\n> * Introduce format-scripting(like the one used in `git-for-each-ref`)\n> to `--pretty` and even make a field in user's configuration to use\n> default format-script for `--pretty`.\n> \n\nCould you elaborate on what format-scripting means? Do you mean use of\n`--format` option to configure the output format?\n\nWhile the two goals you have are appreciable, the broader aim of this\nproject is to remove *duplicate* implementation of format command\noutput.\n\nYou can also read up on other proposals and previous work done on this\nproject idea.\n\n> ## Deliverables/Timeline\n> \n> ### ~ May 5th\n> \n> * I will keep an eye on git project and make more patches to it if possible.\n> * At the same time, getting to know more about the community and\n> collaborating with others.\n> \n> * Also I will talk to my potential mentor, to get more concrete and\n> constructive advise about my project. Last, finalize my project.\n> \n> ### May 5th ~ June 2nd\n> \n> Community-bonding period:\n> \n> After having rounded understanding about the community and all the\n> past work, I would like to revise my previous ideas regarding to my\n> project if there is a much better solution or other problems. Then, I\n> will start to work on a part of my project:\n> \n> * Carefully examine `ref-filter` related code to see what I can learn\n> from(the implementation, etc...) and what to avoid doing.\n> * Replace the placeholders in `--pretty` with new formats and names.\n> * Commit patches to obtain reviews from the community.\n> \n> ### June 2nd ~ June 10th\n> \n> The cushion period. Finish the unfinished work from last phase. If all\n> the job is done, add test scripts and future documentation.\n> \n> ### June 11th ~ July 3rd\n> \n> I will be occupied in this phase since the final exams take over. I\n> might not be able to work on some actual change but is free to reply\n> to anyone in the community.\n> \n> ### July 3rd ~ July 17th\n> \n> * Gathering all reviews and criticisms from the community and revise\n> my previous patches if needed.\n> \n> * Add test scripts and documentation.\n> \n> ### July 17th ~ July 28th\n> \n> * Implement the format-scripting in `--pretty`\n> * Commit the patches to obtain reviews from the community\n> \n> ### July 28th ~ August 12th\n> \n> * Gathering all reviews and criticisms from the community and revise\n> my previous patches if needed.\n> \n> * Add test scripts and documentation.\n> * [option] configuration on pretty\n> \n> ### August 12th ~ August 25th\n> \n> Final revision and discussion.\n> \n> ### August 25th ~\n> \n> Submission\n> \n> *If I complete my job earlier than I plan, than I would like to come\n> up with more improvements and new features in my project.*\n> \n>  ### Side-note\n> \n> * Before my summer vacation, I can code for 2-3 hours per working day\n> and 4-6 hours on weekend.\n> * My summer vacation starts from July 3rd to early September, which\n> fits well with GSoC's schedule. I will be able to spend half of my day\n> on my project.\n> * English is not my first language so if I have grammatical or other\n> errors in documentation or communication, a review will be\n> appreciated.\n> \n\nI have fixed some of grammatical errors but your English is\nunderstandable.\n\nI personally use Grammarly to fix my errors. It's not foolproof but\npretty close.\n\n> \n> \n> ## Conclusion\n> \n> First, I would like to say thank you to all developers that have\n> helped me or replied to me in the mailing list.\n> \n> I want to join an active open-source community online for a really\n> long time but I was too shy before and got caught up with the college\n> entrance exam. I think GSoC is a good platform to start my journey.\n> Though I was not able to get the information in time and it's late for\n> me to commit my submission before deadline, I still decided to apply.\n> Because if I hadn't, I would regret someday.\n> \n\nYeah, I know the feeling. Git is one of the better communities to work\nwith, so you have made a fine choice.\n\n> As I mentioned before, maybe I have little experience to\n> online-contributing, but I will learn the required skills to overcome\n> obstacles. My lust for knowledge is my greatest power.\n> \n> Last but not least, it's a pleasure to join the open-source community.\n> Let's collaborate and make the online world better.\n> \n> ----------\n\nThanks for the proposal!\n\nI hope you have submitted the PDF draft already. Today is the deadline\nand you can always re-upload later.\n\nRegards\nAbhishek\n"}]}