From: Lemuria <nekadek457@gmail.com>
To: Philip Oakley <philipoakley@iee.email>, git@vger.kernel.org
Subject: Re: Git internal command line parser
Date: Sat, 25 Dec 2021 03:05:43 +0800 [thread overview]
Message-ID: <902f8da8-970f-0a5f-a88e-d75754b71440@gmail.com> (raw)
In-Reply-To: <cc6fa52a-d782-d4a8-eb93-936b8d83fc2f@iee.email>
On 25/12/2021 2:36 am, Philip Oakley wrote:
> 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.
>>>>
>>>> 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
>>>
>
next prev parent reply other threads:[~2021-12-24 19:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-24 14:38 Git internal command line parser Lemuria
2021-12-24 18:13 ` Philip Oakley
2021-12-24 18:30 ` Lemuria
2021-12-24 18:36 ` Philip Oakley
2021-12-24 19:05 ` Lemuria [this message]
2021-12-25 2:55 ` João Victor Bonfim
2021-12-25 8:32 ` Lemuria
2021-12-26 2:38 ` João Victor Bonfim
2021-12-26 3:40 ` Lemuria
2021-12-27 16:43 ` Philip Oakley
2021-12-29 23:16 ` João Victor Bonfim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=902f8da8-970f-0a5f-a88e-d75754b71440@gmail.com \
--to=nekadek457@gmail.com \
--cc=git@vger.kernel.org \
--cc=philipoakley@iee.email \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).