All the mail mirrored from lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.