git/list[1] front-page[2] threads[3] people[4] search[5] about
 

A Question from a Hopeful Future Contributor

From
EFEric Frederickson <ericfrederickson68@gmail.com>
Date
Jul 18, 2025, 22:26 UTC
Message-ID
<87y0slp23s.fsf@arch.mail-host-address-is-not-set>
Hello everyone,

I hope that this message finds you well! I'm a software developer and passionate git user, and I'd like to try my hand at contributing to the project. I'm sending this message in order to ask Junio and the team if there's anything that would be particularly useful / appropriate for me to start looking into on that front. (Reading through the last few "What's cooking" messages, I didn't see anything that jumped out at me as needing a new contributor, which is why I'm asking in a separate message instead of replying to one of those.)

(Some notes on my skills: working on docs or tests is always a favorite for me, so things in those areas would be a great time. Also comfortable with low-level code, and any kind of scripting. Note too that academic background centers around programming language design and parsing related stuff, so I've got some fluency in those areas that I could hopefully apply well to the project if ever needed.)

Looking through the repo for a place to find todo items, I naturally stumbled upon the TODO file in the origin/todo branch, and saw an item in there which seemed like it could be a good place to start:

> * "git status" on intent-to-add index entries (say "I" in the first
>   column instead of "A" for short status, add "(needs 'git add')" at the
>   end of "new file: $path " in long status).

I am interpreting this todo message as meaning that the following behavior should be implemented:

Given the initial conditions created by the following setup commands:

--- mkdir EXAMPLE cd EXAMPLE

git init
touch a.txt b.txt c.txt

git add a.txt git add --intent-to-add b.txt

# Leave c.txt untracked so that it shows up for reference in the git-status # outputs below. ---

The goal of the todo item is to have the short git-status message change from this:

---
A  a.txt
 A b.txt
?? c.txt
---
to this:
---
A  a.txt
 I b.txt
?? c.txt
---
and to have the long git-status message change from this:

--- On branch master

No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   a.txt
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	new file:   b.txt
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	c.txt
---
to this:

--- On branch master

No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   a.txt
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	new file:   b.txt (needs 'git add')
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	c.txt
---

Let me know if this would be a good change to pursue. Also open to trying anything else that's needed!

Thank you for your time, -- Eric Frederickson ericfrederickson68@gmail.com https://emfred.com

Next: Junio C Hamano
Message 1 of 11 in “A Question from a Hopeful Future Contributor”
  1. Eric FredericksonJul 18, 2025
  2. Junio C HamanoJul 18, 2025
  3. Eric FredericksonJul 19, 2025
  4. D. Ben KnobleJul 26, 2025
  5. Junio C HamanoJul 28, 2025
  6. D. Ben KnobleJul 28, 2025
  7. Ayush ChandekarJul 18, 2025
  8. Lucas Seiki OshiroJul 19, 2025
  9. Eric FredericksonJul 20, 2025
  10. brian m. carlsonJul 19, 2025
  11. Eric FredericksonJul 20, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.