threads / discuss / 55760

[GSoC] My Git Dev Blog

Subject: [GSoC] My Git Dev Blog

## tl;dr

13 messages between May 22, 2021 and May 31, 2021.

replies: 12people: 6as markdown or json

Atharva Raykar· May 22, 2021, 16:42 UTC · lore
Hi all,
As is tradition, I have started my weekly GSoC blog :)
Here is week 1: https://atharvaraykar.me/gitnotes/week1

I shall be sharing my progress, thoughts, experiences and any information that might help future contributors in my blog.

After my GSoC period, I hope to convert it into a blog that will help pull in and guide new contributors to Git development.

Any kind of feedback will be appreciated!

You can find the listing of all of the posts at https://atharvaraykar.me/gitnotes/

I will update this thread every week when I make a new post.

-- Atharva Raykar

Philippe Blain· May 22, 2021, 19:39 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi Atharva,
Le 2021-05-22 à 12:42, Atharva Raykar a écrit :
Show 6 quoted lines
> Hi all,
> 
> As is tradition, I have started my weekly GSoC blog :)
> 
> Here is week 1: https://atharvaraykar.me/gitnotes/week1
>

I enjoyed reading your first post. About gettext, note that if you do not want to hardcode a specific version of gettext in your LDFLAGS/CFLAGS, you could use '/usr/local/opt/gettext/{include,lib}', or rather, the equivalent for M1 Macs, which I guess would be '/opt/homebrew/opt/gettext' ? Can't test as I'm on Intel...

On a second note, for your information the 'configure' build approach is not as well maintained as the Makefile-only approach, so it's good to make it work with the plain Makefile.

Cheers and good luck for your internship,
Philippe.
Atharva Raykar· May 23, 2021, 11:50 UTC · re: Philippe Blain · lore

Re: [GSoC] My Git Dev Blog

On 23-May-2021, at 01:09, Philippe Blain <levraiphilippeblain@gmail.com> wrote:
Show 14 quoted lines
> 
> Hi Atharva,
> 
> Le 2021-05-22 à 12:42, Atharva Raykar a écrit :
>> Hi all,
>> As is tradition, I have started my weekly GSoC blog :)
>> Here is week 1: https://atharvaraykar.me/gitnotes/week1
>> 
> 
> I enjoyed reading your first post. About gettext, note that
> if you do not want to hardcode a specific version of gettext
> in your LDFLAGS/CFLAGS, you could use '/usr/local/opt/gettext/{include,lib}',
> or rather, the equivalent for M1 Macs, which I guess would be
> '/opt/homebrew/opt/gettext' ? Can't test as I'm on Intel...

Thanks for pointing this out. This worked as well on my M1 Mac. As Bagas suggested in this thread, using '/opt/homebrew/{include,lib}' also works, as homebrew symlinks the actual location to that directory.

I'll update my blog entry.
> On a second note, for your information
> the 'configure' build approach is not as well maintained as
> the Makefile-only approach, so it's good to make it work with the plain Makefile.

Noted. I realised the real blooper for me that snowballed into my janky fix was looking at resources on building Git in all sorts of places online, while not noticing the fact that there was a pretty clear INSTALL file in the source all along (:

> Cheers and good luck for your internship,
Thanks!
> Philippe.
> 
Bagas Sanjaya· May 23, 2021, 08:10 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi Atharva,
On 22/05/21 23.42, Atharva Raykar wrote:
Show 14 quoted lines
> Hi all,
> 
> As is tradition, I have started my weekly GSoC blog :)
> 
> Here is week 1: https://atharvaraykar.me/gitnotes/week1
> 
> I shall be sharing my progress, thoughts, experiences and any
> information that might help future contributors in my blog.
> 
> After my GSoC period, I hope to convert it into a blog that
> will help pull in and guide new contributors to Git development.
> 
> Any kind of feedback will be appreciated!
> 

You said on your blog that you switched your development environment from Linux (what the distro you used previously?) to macOS. Why did you make the switch?

Next, you mentioned that you set up emacs config for Git developers (ones that contribute code to git.git). Since I use (r)vim instead of emacs as my editor, what are similar configs for vim?

And finally, you said that you had to deal with "header not found" errors. I asked these questions:

   1. You mentioned that in order to link against gettext on non-standard
      path, you did:
> ./configure "LDFLAGS=$LDFLAGS -L/opt/homebrew/Cellar/gettext/0.21/lib" \
>      "CFLAGS=-I/opt/homebrew/Cellar/gettext/0.21/include"
      Why did you use full path to gettext? I suspect that you can instead
      use `LDFLAGS= $LDFLAGS -L/opt/homebrew/lib \
      CFLAGS=-I/opt/homebrew/include`, because when you install a library
      using homebrew, it will symlink the library location from homebrew
      standard hierarchy (/opt/homebrew/{lib,include}) to actual location
      (/opt/homebrew/<User>/<package>/<version>/{lib,include}).
   2. Can these procedure above for linking Git against libraries at
      non-standard locations (such as /opt) be applicable also to Linux
      systems? Try to adapt that procedure on your Linux system (if
      available), with custom-compiled newer version of any of Git
      dependencies (such as gettext).
Thanks.
-- 
An old man doll... just what I always wanted! - Clara
Atharva Raykar· May 23, 2021, 11:50 UTC · re: Bagas Sanjaya · lore

Re: [GSoC] My Git Dev Blog

On 23-May-2021, at 13:40, Bagas Sanjaya <bagasdotme@gmail.com> wrote:
Show 16 quoted lines
> 
> Hi Atharva,
> 
> On 22/05/21 23.42, Atharva Raykar wrote:
>> Hi all,
>> As is tradition, I have started my weekly GSoC blog :)
>> Here is week 1: https://atharvaraykar.me/gitnotes/week1
>> I shall be sharing my progress, thoughts, experiences and any
>> information that might help future contributors in my blog.
>> After my GSoC period, I hope to convert it into a blog that
>> will help pull in and guide new contributors to Git development.
>> Any kind of feedback will be appreciated!
> 
> You said on your blog that you switched your development environment
> from Linux (what the distro you used previously?) to macOS. Why did
> you make the switch?

No special reason for this. My old Linux machine was due for an upgrade, and a new M1 Macbook has since taken its place.

> Next, you mentioned that you set up emacs config for Git developers
> (ones that contribute code to git.git). Since I use (r)vim instead
> of emacs as my editor, what are similar configs for vim?

I don't really use Vim that much and I am not that familiar with how to configure it. Sorry, I don't think I can be of much help here. I also don't want to share tips on my blog that I won't be making use of.

Show 13 quoted lines
> And finally, you said that you had to deal with "header not found"
> errors. I asked these questions:
> 
>  1. You mentioned that in order to link against gettext on non-standard
>     path, you did:
>> ./configure "LDFLAGS=$LDFLAGS -L/opt/homebrew/Cellar/gettext/0.21/lib" \
>>     "CFLAGS=-I/opt/homebrew/Cellar/gettext/0.21/include"
>     Why did you use full path to gettext? I suspect that you can instead
>     use `LDFLAGS= $LDFLAGS -L/opt/homebrew/lib \
>     CFLAGS=-I/opt/homebrew/include`, because when you install a library
>     using homebrew, it will symlink the library location from homebrew
>     standard hierarchy (/opt/homebrew/{lib,include}) to actual location
>     (/opt/homebrew/<User>/<package>/<version>/{lib,include}).

Thanks a lot! This was helpful and did work out for me. Since I am new to macOS (and homebrew), I did not know about this hierarchy. I finally decided I would update my post to use this along with a Makefile-only approach recommended by Philippe.

Show 5 quoted lines
>  2. Can these procedure above for linking Git against libraries at
>     non-standard locations (such as /opt) be applicable also to Linux
>     systems? Try to adapt that procedure on your Linux system (if
>     available), with custom-compiled newer version of any of Git
>     dependencies (such as gettext).

I'm not too sure, and unfortunately I don't have my old Linux system to verify this.

> Thanks.
> 
> -- 
> An old man doll... just what I always wanted! - Clara
Felipe Contreras· May 30, 2021, 16:41 UTC · re: Bagas Sanjaya · lore

Re: [GSoC] My Git Dev Blog

Bagas Sanjaya wrote:
> Since I use (r)vim instead of emacs as my editor, what are similar
> configs for vim?

I'm not sure if you are suggesting he includes those in his post, or asking in general, but:

https://lore.kernel.org/git/20201209065537.48802-2-felipe.contreras@gmail.com/
-- 
Felipe Contreras
Christian Couder· May 24, 2021, 20:18 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi Atharva,
On Sat, May 22, 2021 at 6:42 PM Atharva Raykar <raykar.ath@gmail.com> wrote:
Show 14 quoted lines
>
> Hi all,
>
> As is tradition, I have started my weekly GSoC blog :)
>
> Here is week 1: https://atharvaraykar.me/gitnotes/week1
>
> I shall be sharing my progress, thoughts, experiences and any
> information that might help future contributors in my blog.
>
> After my GSoC period, I hope to convert it into a blog that
> will help pull in and guide new contributors to Git development.
>
> Any kind of feedback will be appreciated!
Great!
I found only a missing "how":

s/as I have not yet fully understood config handling generally works/as I have not yet fully understood how config handling generally works/

> You can find the listing of all of the posts at
> https://atharvaraykar.me/gitnotes/
>
> I will update this thread every week when I make a new post.

Thanks, Christian.

Atharva Raykar· May 30, 2021, 07:07 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi,
On 22-May-2021, at 22:12, Atharva Raykar <raykar.ath@gmail.com> wrote:
> 
> [...]
> I will update this thread every week when I make a new post.
A new blog post is out at: http://atharvaraykar.me/gitnotes/week2
Summary of what's in it:
* Deliberate and not-so-deliberate things left behind by developers
  -- and why they are valuable (especially for my first patch)
* My work as putting cherries on top of other people's cakes
* A debugging blooper -- showing my mistakes in the hopes that
  there is something to learn from it
The usual things apply: feedback and discussion is welcome.
Kaartic Sivaraam· May 30, 2021, 17:30 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi Atharva,
On 30/05/21 12:37 pm, Atharva Raykar wrote:
Show 9 quoted lines
> Hi,
> 
> On 22-May-2021, at 22:12, Atharva Raykar <raykar.ath@gmail.com> wrote:
>>
>> [...]
>> I will update this thread every week when I make a new post.
> 
> A new blog post is out at: http://atharvaraykar.me/gitnotes/week2
> 
Nice post!

Just one suggestion. While reading, I felt that it would've been nice if it had a few links. For instance,

> The patch that I ended up sending this week is heavily based on
> the work of two generations of GSoC programmers who struggled
 > over this problem.

The text above could've had a link somewhere to the patch you sent to the mailing list:

https://public-inbox.org/git/20210528081224.69163-1-raykar.ath@gmail.com/
> I studied Shourya’s stalled patch, parts of which had already
> been reviewed.

... and the above text could've had a link to Shourya's patch series you mention:

https://public-inbox.org/git/20201214231939.644175-1-periperidip@gmail.com/
> In the spirit of Git being “the stupid content tracker”, I have
> decided to actually live up to that phrase and keep a track of
> my stupid moments in this section of my weekly reports, in the
> hopes that there is something here to learn from.

Good initiative. It indeed might turn out to be very helpful. I won't surprised if it even turns out to help you, sometime in the future ;-)

> For whatever reason, I thought of the most convoluted explanations,
> not realising that they actually don’t make any sense. Thoughts like:
> “Is the memory buffer not having tab separated tokens? Are they
> separated by some special whitespace character??”
I could totally feel you here. Things would get better over time.

Hope this helps, Sivaraam

Atharva Raykar· May 31, 2021, 05:41 UTC · re: Kaartic Sivaraam · lore

Re: [GSoC] My Git Dev Blog

On 30-May-2021, at 23:00, Kaartic Sivaraam <kaartic.sivaraam@gmail.com> wrote:
Show 24 quoted lines
> 
> Hi Atharva,
> 
> [...]
> 
> Just one suggestion. While reading, I felt that it would've been
> nice if it had a few links. For instance,
> 
>> The patch that I ended up sending this week is heavily based on
>> the work of two generations of GSoC programmers who struggled
> > over this problem.
> 
> The text above could've had a link somewhere to the patch you sent
> to the mailing list:
> 
> https://public-inbox.org/git/20210528081224.69163-1-raykar.ath@gmail.com/
> 
>> I studied Shourya’s stalled patch, parts of which had already
>> been reviewed.
> 
> ... and the above text could've had a link to Shourya's patch
> series you mention:
> 
> https://public-inbox.org/git/20201214231939.644175-1-periperidip@gmail.com/
Sure. Thanks for saving me some of the effort to get the links :D
Bagas Sanjaya· May 31, 2021, 06:55 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

Hi Atharva,
On 30/05/21 14.07, Atharva Raykar wrote:
Show 21 quoted lines
> Hi,
> 
> On 22-May-2021, at 22:12, Atharva Raykar <raykar.ath@gmail.com> wrote:
>>
>> [...]
>> I will update this thread every week when I make a new post.
> 
> A new blog post is out at: http://atharvaraykar.me/gitnotes/week2
> 
> Summary of what's in it:
> 
> * Deliberate and not-so-deliberate things left behind by developers
>    -- and why they are valuable (especially for my first patch)
> 
> * My work as putting cherries on top of other people's cakes
> 
> * A debugging blooper -- showing my mistakes in the hopes that
>    there is something to learn from it
> 
> The usual things apply: feedback and discussion is welcome.
> 

I think it's better to post link to each blogpost as separate threads, because we can discuss each posts at its own merit.

-- 
An old man doll... just what I always wanted! - Clara
Atharva Raykar· May 31, 2021, 07:43 UTC · re: Bagas Sanjaya · lore

Re: [GSoC] My Git Dev Blog

On 31-May-2021, at 12:25, Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> 
> I think it's better to post link to each blogpost as separate threads, because we can discuss each posts at its own merit.
Sure, I can do that next week onwards.
> -- 
> An old man doll... just what I always wanted! - Clara
Christian Couder· May 31, 2021, 08:32 UTC · re: Atharva Raykar · lore

Re: [GSoC] My Git Dev Blog

On Mon, May 31, 2021 at 9:43 AM Atharva Raykar <raykar.ath@gmail.com> wrote:
Show 6 quoted lines
>
> On 31-May-2021, at 12:25, Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> >
> > I think it's better to post link to each blogpost as separate threads, because we can discuss each posts at its own merit.
>
> Sure, I can do that next week onwards.
Thanks! I think it could help people get interested in your blog posts too.

← back to recent threads