<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://herr-priestess.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://herr-priestess.github.io/" rel="alternate" type="text/html" /><updated>2026-11-04T03:11:36+00:00</updated><id>https://herr-priestess.github.io/feed.xml</id><title type="html">Cynthia Uche</title><subtitle>Notes from my Git and Outreachy journey</subtitle><entry><title type="html">Hello, Git</title><link href="https://herr-priestess.github.io/2026/11/04/hello-git.html" rel="alternate" type="text/html" title="Hello, Git" /><published>2026-11-04T00:00:00+00:00</published><updated>2026-11-04T00:00:00+00:00</updated><id>https://herr-priestess.github.io/2026/11/04/hello-git</id><content type="html" xml:base="https://herr-priestess.github.io/2026/11/04/hello-git.html"><![CDATA[<p>Hi, I’m Cynthia Uche. I’m also called Priestess. I’m a software
engineer from Nigeria, and I’m applying to Outreachy with the Git
project for the December 2026 round. If I’m selected, this is where I
will write every week about what I’m learning.</p>

<h2 id="a-bit-about-me">A bit about me</h2>

<p>C was the first language I learned, so I’m comfortable reading and
writing it, even though I hadn’t used it much day to day until I
started reading Git’s source. I also have a merged patch in OpenStack
Manila, which went through Gerrit review, so reworking a change after
review comments is not new to me. Git’s mailing-list workflow is
still a different world, and I’m enjoying learning it.</p>

<h2 id="my-first-git-patch">My first Git patch</h2>

<p>My microproject was <code class="language-plaintext highlighter-rouge">t2104: avoid suppressing git's exit code</code>. The
idea is small: in a test script, a pipe like <code class="language-plaintext highlighter-rouge">git ... | grep ...</code>
hides git’s exit code, so if git crashes, the test can still pass. The
fix is to write git’s output to a file first, then inspect the file. It
was merged to master after review.</p>

<p>Using <code class="language-plaintext highlighter-rouge">git send-email</code> seemed challenging at first, and GitGitGadget
looked like a far easier option. But I was really curious about how
send-email worked, so I learned it, and now I actually enjoy using it.</p>

<h2 id="the-project-i-want-to-work-on">The project I want to work on</h2>

<p>The project is “Improve how command arguments and options are scanned
and parsed”. Some commands need to look at a few options before they
call <code class="language-plaintext highlighter-rouge">parse_options()</code>. fast-import is the example. It has to know
about <code class="language-plaintext highlighter-rouge">--allow-unsafe-features</code> before it reads the “feature” lines in
the stream.</p>

<p>The old early scan was a hand-written loop, and it can disagree with
<code class="language-plaintext highlighter-rouge">parse_options()</code>. That one accepts abbreviations, so something the
scan sees as a flag can really be the value of another option. For a
safety check, that is a real problem.</p>

<p>There is a series in progress that adds <code class="language-plaintext highlighter-rouge">early_scan_options()</code>, which
reads the same option table as <code class="language-plaintext highlighter-rouge">parse_options()</code> so the two agree. I
reviewed one of its patches, ran the related tests, and noticed that
one argument passed at a call site didn’t match how the real parse is
configured. Reading reviews from experienced contributors on the same
series was an education in itself.</p>

<h2 id="what-i-plan-to-write-here">What I plan to write here</h2>

<ul>
  <li>What I learn each week, including my mistakes</li>
  <li>How I read and reproduce a bug before changing code</li>
  <li>Notes on review feedback and how I respond to it</li>
  <li>Things I wish I knew when I started</li>
</ul>

<h2 id="links">Links</h2>

<ul>
  <li><a href="https://lore.kernel.org/git/20261101210623.622-1-herroyalpriestess@gmail.com/">My proposal</a></li>
  <li><a href="https://lore.kernel.org/git/20261021033723.5265-1-herroyalpriestess@gmail.com/">My microproject thread</a></li>
  <li><a href="https://github.com/herrpriestess">GitHub</a></li>
</ul>

<p>I love sharing what I learn, and I trust I’ll learn a lot. If you are
also new to Git, do say hello.</p>

<p>Till next time,
💐</p>]]></content><author><name></name></author><category term="git" /><category term="outreachy" /><category term="c" /><category term="open-source" /><summary type="html"><![CDATA[Hi, I’m Cynthia Uche. I’m also called Priestess. I’m a software engineer from Nigeria, and I’m applying to Outreachy with the Git project for the December 2026 round. If I’m selected, this is where I will write every week about what I’m learning.]]></summary></entry></feed>