{"thread":{"id":"66770","subject":"[OUTREACHY][PROPOSAL] Improve how command arguments and options are scanned and parsed - Keryle Fondji","startedAt":"2026-11-04T14:37:41Z","lastAt":"2026-11-04T23:46:36Z","messageCount":2,"participants":["kerylefondji7@gmail.com","Usman Akinyemi"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"557442","messageId":"20261104143741.654-1-kerylefondji7@gmail.com","threadId":"66770","inReplyTo":null,"subject":"[OUTREACHY][PROPOSAL] Improve how command arguments and options are scanned and parsed - Keryle Fondji","fromName":"","fromEmail":"kerylefondji7@gmail.com","sentAt":"2026-11-04T14:37:41Z","receivedAt":"2026-11-04T14:37:41Z","isPatch":false,"sender":{"key":"kerylefondji7@gmail.com","avatar":null},"body":"Hi mentors and the Git community,\n\nHere is my Outreachy proposal for the project \"Improve how command\narguments and options are scanned and parsed\".\n\nI would appreciate any feedback from mentors and the community.\n\nPersonal Information\n--------------------\n\nFull Name: Fondji Tamekong Keryle Blondeau\nEmail Address: kerylefondji7@gmail.com\nLocation: Kribi, Cameroon (WAT, UTC+1)\n\nAbout me\n--------\n\nI am a self-taught C developer with a background in computer science,\ninterested in low-level programming and open-source development.\n\nMy journey into open source began when a friend introduced me to open\nsource and shared details about Outreachy.\n\nWhen I first tried to apply to Git years ago, I struggled with the\ncodebase and could not finish a patch in time. However, I remained\nmotivated to learn. I spent time studying Git internals and improving\nmy C programming skills.\n\nReturning to Outreachy this year with better preparation, I was able\nto follow the mailing list workflow and complete a merged contribution.\nWorking on Git's parse-options API confirmed that the \"Improve how\ncommand arguments and options are scanned and parsed\" project is the\nright fit for my 13-week internship.\n\nProject Details\n===============\nApplicant: Fondji Tamekong Keryle Blondeau\nMentors: Christian Couder, Siddharth Asthana\n\nContributions Summary\n====================\n\nContribution #1: started Oct. 17, 2026. Not accepted or merged.\n\nPatch: [PATCH v3] builtin/var: refactor to use parse-options API [1]\n\nDetails:\nOn October 17, 2026, I started working on converting option handling in\nbuiltin/var.c to the parse-options API. I sent three patch revisions\n(up to v3), updating the option structures, flag logic, and formatting.\n\nContext, Learnings & Outcome:\nDuring code review, Phillip Wood explained that git var had already been\nconverted in commit e19f0779c67 in September 2026 [1]. Even though the\nchanges were already upstreamed, this attempt was very helpful. Phillip\nnoted that the main goal of microprojects is to help candidates practice\nsending patches, using the mailing list, and handling reviews.\nThrough his response, I learned how to run the test suite, search the\nmailing list archives [6], check the 'seen' branch, and use microproject\ndocumentation [4, 5].\n\n\nContribution #2: started Oct. 26, 2026. Accepted and merged into 'next'\n(marked \"Will merge to 'master'\").\n\nPatch: [PATCH v7] archive-zip: refactor 'path too long' error message\nto use Q_() [2]\n\nDetails:\nOn October 26, 2026, I started working on the error message in\narchive-zip.c for pathnames that exceed maximum length limits. I updated\nthe code to replace _() with Q_() to handle plural forms correctly for\ninternationalization [2].\n\nContext, Learnings & Outcome:\nI submitted seven patch revisions (v1 to v7) on the mailing list [2].\nThanks to clear feedback from Junio C. Hamano, Phillip Wood, and\nKristoffer Haugsbakk, I gained practical experience in:\n- Internationalization (i18n): Using Q_() to handle plural forms across\n  different languages.\n- Git Coding Guidelines: Following indentation standards, aligning\n  function arguments, keeping lines under 80 characters, and using tabs.\n- Patch Workflow: Structuring commit messages according to\n  SubmittingPatches.\n\nOn October 29, 2026, patch v7 was accepted and merged into 'next'\n(commit ae25f6f799), and included in Junio C. Hamano's \"What's cooking\nin git.git\" report marked as \"Will merge to 'master'\" [3].\n\n\nAvailability\n============\nI am committed to 40 hours per week during the internship.\nI am based in Kribi, Cameroon (WAT, UTC+1) and can adjust my hours for\ncalls, syncs, and reviews.\nI have no conflicting work or exam commitments.\n\n\nInternship Blogging\n==================\nI will publish regular updates about my progress, technical notes, and\nchallenges on a schedule agreed with my mentors, and share post links on\nthe mailing list.\n\nProposed Timeline\n=================\n\nPre-Internship Period (Now – Dec 6):\n- Continue studying the Git codebase and internal option parsing APIs.\n- Work on another microproject or cleanup patch on the mailing list to\n  keep practicing the patch workflow.\n- Discuss initial target builtin/ commands with Christian Couder,\n  Siddharth Asthana, Phillip Wood, and Junio C. Hamano.\n\nWeeks 1–2 (Dec 7 – Dec 20): Onboarding & Command Selection\n- Set up local test setups for target commands.\n- Confirm the first group of builtin/ commands needing option parsing\n  refactoring with my mentors.\n- Submit a first setup or documentation patch for the workflow.\n\nWeeks 3–6 (Dec 21 – Jan 17): Option Parsing Conversion (Batch 1)\n- Convert legacy option parsing in the first set of builtin/ commands to\n  the parse-options API.\n- Update or add tests in t/ to maintain test coverage.\n- Send patch series to the mailing list and address review comments.\n\nWeeks 7–10 (Jan 18 – Feb 14): Refactoring & Cleanup (Batch 2)\n- Work on the second set of commands assigned by mentors, including\n  subcommands and complex flags.\n- Update error messages according to Git coding and internationalization\n  standards (Q_() / _()).\n- Follow up on review discussions on the mailing list.\n\nWeeks 11–12 (Feb 15 – Feb 28): Testing & Integration\n- Prepare final patch revisions based on maintainer and reviewer\n  feedback.\n- Run full test suite checks on all modified commands to ensure\n  stability.\n\nWeek 13 (Mar 1 – Mar 8): Documentation & Final Evaluation\n- Complete documentation updates and submit the final Outreachy report.\n- Outline post-internship contribution goals for Git.\n\nAfter the Internship\n====================\nAfter the internship, I plan to stay active in the Git community by\nsending patches, reviewing code, and supporting new contributors.\n\nAppreciation\n============\nHaving my first contribution merged into Git has been a meaningful\nachievement for me. I would like to thank Usman Akinyemi for the warm\nwelcome when I joined the mailing list.\n\nI am very grateful to Junio C. Hamano, Phillip Wood, and Kristoffer\nHaugsbakk for their patience, reviews, and guidance on my patch\nrevisions [1, 2, 3, 4]. Finally, thank you to my mentors, Christian\nCouder and Siddharth Asthana, and to the Git community for helping new\ncontributors learn and progress.\n\nReferences\n==========\n[1] https://lore.kernel.org/git/d748915d-c50c-4143-8140-ae885a6ba604@gmail.com/\n[2] https://lore.kernel.org/git/20261026192803.1985-2-kerylefondji7@gmail.com/\n[3] https://lore.kernel.org/git/xmqqcxsmejd9.fsf@gitster.g/\n[4] https://git.github.io/SoC-2026-Microprojects/\n[5] https://git.github.io/General-Microproject-Information/\n[6] https://lore.kernel.org/git\n\nBest regards,\nFondji Tamekong Keryle Blondeau\n\n"},{"id":"557515","messageId":"CAPSxiM_wivLZhxvKjDAs0HQmqYRZd=Fb6xmfQK2ioqaWEXWC+w@mail.gmail.com","threadId":"66770","inReplyTo":"20261104143741.654-1-kerylefondji7@gmail.com","subject":"Re: [OUTREACHY][PROPOSAL] Improve how command arguments and options are scanned and parsed - Keryle Fondji","fromName":"Usman Akinyemi","fromEmail":"usmanakinyemi202@gmail.com","sentAt":"2026-11-04T23:46:36Z","receivedAt":"2026-11-04T23:46:36Z","isPatch":false,"sender":{"key":"usmanakinyemi202@gmail.com","avatar":"https://avatars.githubusercontent.com/u/86585626?v=4"},"body":"> Returning to Outreachy this year with better preparation, I was able\n> to follow the mailing list workflow and complete a merged contribution.\n> Working on Git's parse-options API confirmed that the \"Improve how\n> command arguments and options are scanned and parsed\" project is the\n> right fit for my 13-week internship.\n>\n> Project Details\n> ===============\n\nthe project details is missing\n\n> Applicant: Fondji Tamekong Keryle Blondeau\n> Mentors: Christian Couder, Siddharth Asthana\n>\n\nAlso, do submit your application on the Outreachy application platform.\nIt is very important, I believe you can always edit your submission until\nthe last day of submission.\n\nThanks for your interest in the Git project.\n\nUsman\n\n"}]}