git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
>>>
> 

  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).