From: Lemuria Date: Fri, 24 Dec 2021 19:05:43 GMT Subject: Re: Git internal command line parser Message-ID: <902f8da8-970f-0a5f-a88e-d75754b71440@gmail.com> In-Reply-To: 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 >>> >