git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: vk <g@vkabc.me>
Cc: Git <git@vger.kernel.org>
Subject: Re: [GSoC] Microproject help
Date: Tue, 2 Apr 2024 12:35:00 +0200	[thread overview]
Message-ID: <ZgvfVE4ZmOUPri0U@tanuki> (raw)
In-Reply-To: <80f0bb12243eedbc4ad6580cb06abeb2@vkabc.me>

[-- Attachment #1: Type: text/plain, Size: 3446 bytes --]

On Fri, Mar 29, 2024 at 11:57:31AM +0800, vk wrote:
> On 2024-03-27 14:36, Patrick Steinhardt wrote:
> > On Tue, Mar 26, 2024 at 07:56:19PM +0800, vk wrote:
> > > On 2024-03-26 02:25, Karthik Nayak wrote:
> > > > vk <g@vkabc.me> writes:
> > > >
> > > > Hello!
> > > >
> > > > > Hello all,
> > > > >
> > > > > I'm Vk and I work as a software engineer. I am interested in
> > > > > contributing to git repository. Apologies for the late start as I only
> > > > > stumbled upon GSoC recently and git project interested me as I use it
> > > > > everyday at work and it would be meaningful for me to contribute to
> > > > > it.
> > > > > Even if I am not chosen, it will be great if I can start learning to
> > > > > contribute to git open source.
> > > > >
> > > > > For the microproject, I have looked into the lists for 2024 and it
> > > > > seems
> > > > > that all the projects have been taken except for `Replace a
> > > > > run_command*() call by direct calls to C functions`. However, it seems
> > > > > that the issue has been solved. The command I ran to search throughout
> > > > > the repo is `git grep 'run_command*('` and the search result returns
> > > > > run_command functions which I assume are essential.
> > > > >
> > > >
> > > > When I ran the same, I saw around 135 results. Are you saying that
> > > > they're all essential?
> > > >
> > > > For e.g. In `builtin/gc.c:maintenance_task_pack_refs`, shouldn't you be
> > > > able to replace the `run_command`?
> > > >
> > > 
> > > My bad as the example uses `run_command_v_opt` and upon further
> > > inspection
> > > it seems that there might be similar situations like the example
> > > that can
> > > save an external process. However, for the
> > > maintenance_task_pack_refs, the
> > > command being run is `git pack-refs` which is a write process unlike
> > > the
> > > example which is a simple read only process of `git show-branch` to
> > > get the
> > > current commit? I will be searching the codebase for similar read only
> > > `run_command` and see if I can replace them.
> > 
> > Hint: the `maintenance_task_pack_refs()` can in fact be converted to use
> > `refs_pack_refs()` instead. I was briefly considering doing that in [1],
> > but then didn't want to do such an unrelated refactoring in an already
> > long patch series.
> > 
> > So if you decide to do that you should probably build on top of my patch
> > series to avoid conflicts. The patch series is available e.g. at [2],
> > branch "ps/pack-refs-auto". So if you decide to give it a try you should
> > build on top of that branch.
> 
> 
> Hello all,
> 
> For the build on top of ps/pack-refs-auto, do I commit to this branch
> locally and get the diff for submitting the patch?

Yes. Generally, what I do is:

    1. Check out the `master` branch.

    2. Merge the topic branch you want to build upon into the `master`
       branch.

    3. Build your topic on top of that merge commit.

When sending the patches to the mailing list you would mention that
dependency e.g. in the cover letter and then only send patches from the
merge commit to the tip of your own topic branch.

Note though that, as Junio mentioned, this is becoming more involved
than the typical microproject. You can of course still continue to work
on it if you want to, but definitely feel free to switch to an "easier"
target to work on.

Patrick

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-04-02 10:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 13:10 [GSoC] Microproject help vk
2024-03-25 18:25 ` Karthik Nayak
2024-03-26 11:56   ` vk
2024-03-27  6:36     ` Patrick Steinhardt
2024-03-29  3:57       ` vk
2024-04-02 10:35         ` Patrick Steinhardt [this message]
2024-03-29  5:46       ` Junio C Hamano
2024-04-02  9:52         ` Patrick Steinhardt
2024-03-25 20:51 ` Eric Sunshine
2024-03-25 21:23   ` Junio C Hamano
2024-03-25 21:37     ` Eric Sunshine
2024-03-25 21:58       ` Junio C Hamano
2024-03-26  2:59         ` Eric Sunshine

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZgvfVE4ZmOUPri0U@tanuki \
    --to=ps@pks.im \
    --cc=g@vkabc.me \
    --cc=git@vger.kernel.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).