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

Re: Git internal command line parser

From
Lemuria <nekadek457@gmail.com>
Date
Dec 24, 2021, 19:05 UTC
Message-ID
<902f8da8-970f-0a5f-a88e-d75754b71440@gmail.com>
In-Reply-To
<cc6fa52a-d782-d4a8-eb93-936b8d83fc2f@iee.email>
On 25/12/2021 2:36 am, Philip Oakley wrote:
Show 26 quoted lines
> On 24/12/2021 18:30, Lemuria wrote:
>>
>>
>> On 25/12/2021 2:13 am, Philip Oakley wrote:
>>> On 24/12/2021 14:38, Lemuria wrote:
>>>> #=< TLDR: Where's the code for git's internal command line parser?
>>>>> ===#
>>>>
>>>> I'm interested in the internals of git, more specifically it's command
>>>> line parser.
>>>
>>> One place to start is https://github.com/git/git/blob/master/git.c
>>>
>>
>> Wait, is all of Git just one big executable or are there many
>> executables and `git` is just the front-end for accessing the
>> separate git executables, such as say, the one for processing
>> commits?
>>
> 
> Yes, `git` is a front end.
> 
> If you are on Windows, it gets even more interesting because all the
> individual sub-commands are just hard links back to the single git.exe
> that then links to those sub-command's code.
>
I'm on Ubuntu 20.04, just in case you ever want to know.

And I likely will consider this "front-end to many separate executable apps" approach for my future large projects.

Thanks for your help! I've also cloned the git repository of git, and I'll take a look through the source code.

I'm also a beginner to C, not quite an expert at it.
Show 13 quoted lines
>>>>
>>>> Does Git use a library like getopt for it's command line handling, or
>>>> does it use a custom parser?
>>>>
>>>> If possible, I would appreciate being redirected to the source code
>>>> files that handle this.
>>>>
>>>> Sincerely,
>>>> Lemuria
>>>
>>> Philip
>>>
> 
Previous: Philip OakleyNext: João Victor Bonfim
Message 5 of 11 in “Git internal command line parser”
  1. LemuriaDec 24, 2021
  2. Philip OakleyDec 24, 2021
  3. LemuriaDec 24, 2021
  4. Philip OakleyDec 24, 2021
  5. LemuriaDec 24, 2021
  6. João Victor BonfimDec 25, 2021
  7. LemuriaDec 25, 2021
  8. João Victor BonfimDec 26, 2021
  9. LemuriaDec 26, 2021
  10. Philip OakleyDec 27, 2021
  11. João Victor BonfimDec 29, 2021

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.