{"thread":{"id":"64635","subject":"[Outreachy] - Week 1","startedAt":"2025-12-16T13:29:04Z","lastAt":"2025-12-16T13:29:04Z","messageCount":1,"participants":["Bello Caleb Olamide"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"532271","messageId":"aUFem8vqUFCS/4NU@pop-os.localdomain","threadId":"64635","inReplyTo":null,"subject":"[Outreachy] - Week 1","fromName":"Bello Caleb Olamide","fromEmail":"belkid98@gmail.com","sentAt":"2025-12-16T13:28:59Z","receivedAt":"2025-12-16T13:29:04Z","isPatch":false,"sender":{"key":"belkid98@gmail.com","avatar":"https://avatars.githubusercontent.com/u/73387291?v=4"},"body":"Week 1: Onboarding, Communication, and Choosing My First Issue\nRepository: https://gitlab.com/Cloobtech/git\n\nBello Olamide\n·\nDec 12, 2025\n·\n3 min read\n\n\nThe Outreachy internship officially kicked off this week, and the past few days have been a blend of onboarding activities, community interactions, and diving straight into my project on reducing Git’s global state. It has been exciting, occasionally overwhelming, but overall a very fulfilling start.\n\nSettling Into the Outreachy Community\n\nOn the first day, I was invited to the Outreachy community space on Zulip, where interns can ask questions, interact with the program committee, and connect with fellow interns. It was comforting seeing other people who were just as excited and nervous as I was.\n\nLater, I also received an invitation to a GitLab Slack workspace that included my mentors and several Git maintainers. This has become our main space for day-to-day collaboration and technical discussions.\n\nSyncing With My Mentors & Setting Up Communication\n\nI emailed my mentors, Christian Couder and Usman Akinyemi, on Day 1 to introduce myself formally and discuss our preferred communication channels. We agreed to use GitLab as the primary platform to host my working branches, track progress, and prepare merge requests.\n\nWith this settled, I set up my GitLab remotes and ensured I could push branches and create a public mirror of my work.\n\nStarting the Project: Identifying My First Issue\n\nI didn’t waste any time getting into the technical part of the project. After reviewing previous contributions, I decided to begin with an earlier patch series, done by Ayush Chandekar, that attempted to move the git_attributes_file global variable out of environment.c and into struct repository.\n\nLink to the discussion can be seen below\n\nhttps://lore.kernel.org/git/20250309153321.254844-1-ayu.chandekar@gmail.com/\n\nThe earlier approach, after moving the git attributes_file into struct repo-setting, proposed passing struct repository *repo through the functions of the attributes subsystem. However, Junio Hamano observed that this design could be improved. His suggestion was insightful:\n\nInstead of accessing git_attributes_file through the repository struct, it should be reached via struct index_state.\n\nThis is because:\n\nAn index already knows its repository\n\nA repository may have multiple indexes\n\nThe attributes subsystem already passes struct index_state down most of its call chain\n\nThis results in a cleaner and more consistent API\n\nThis design conversation made an excellent starting point for me to understand the trade-offs in Git’s architecture and why reducing global state requires careful restructuring rather than simple variable relocation.\n\nEarly Challenges & Mentor Support\n\nWhile pushing my first branch, I ran into an unexpected issue: GitLab didn’t show the “Merge Request” banner I was expecting.\n\nAfter some confusion, my mentor stepped in and pointed out that I had pushed to the wrong remote, he however pointed out that this wasn't a fault of mine because that was the URL I was provided with initially. He provided the correct GitLab URL:\n\nhttps://gitlab.com/gitlab-org/git/\n\nOnce I updated the remote and pushed my branch to the right place, everything worked smoothly. This was a small moment, but it reminded me how helpful it is to have mentors who respond quickly and guide me in the right direction.\n\nClosing Thoughts\n\nOverall, Week 1 has been a strong start. I’ve settled into the community, clarified communication channels, chosen the first issue to work on, and begun studying the surrounding code and previous attempts.\n\nSo that’s my Week 1 experience.\n\nCatch you all in week2 :)\n\n---\n\nThis email is cross-posted from my blog: [https://cloobtech.hashnode.dev/week-1-onboarding-communication-and-choosing-my-first-issue]\n"}]}