threads / rfc / 52802

[RFC][GSOC] Microproject Suggestion

Subject: [RFC][GSOC] Microproject Suggestion

## tl;dr

4 messages between Feb 14, 2020 and Feb 14, 2020.

replies: 3people: 3as markdown or json

Robear Selwans· Feb 14, 2020, 00:52 UTC · lore

Hi, so it came to my attention that GSOC applicants will need to submit a microproject to be considered. I was thinking about implementing the squash as a separate feature from rebase. I did not dig up enough in the mail history to know whether this was suggested before or not.

It would be something that looks like this:
> git squash <number_of_commits> [--offset-from-head=0]

I did not really think it through, yet, and I don't know what options could be put there so I am open to suggestions.

My motivation is quite simple. I think it is more intuitive. When someone first asked me to squash multiple commits before, the first thing I had in mind was `git squash`. It was kind of a disappointment that this was not its own command.

So does that sound like a good idea?
Junio C Hamano· Feb 14, 2020, 01:41 UTC · re: Robear Selwans · lore

Re: [RFC][GSOC] Microproject Suggestion

Robear Selwans <rwagih.rw@gmail.com> writes:
> Hi, so it came to my attention that GSOC applicants will need to
> submit a microproject to be considered. I was thinking about ...
> So does that sound like a good idea?
Not really.

The purpose of a GSoC microproject is not about producing useful end user product. It is to learn the end-to-end flow, starting from the initial submission, interacting with the reviewers to polish the patch, to reach the final version. For that purpose, we'd prefer a bite-sized project (and that is why it is called "micro")---my personal gut-feeling yardstick is that anything that takes more than 30 minutes to finish by an experienced Git developer to come up with a perfect model answer is too big.

As a real patch for you to get your toes into Git development, outside the scope of GSoC, I think it would be a good sized first patch. It is a bit too big for a microproject, and it is a bit too small for a main GSoC project.

For the feature itself, I'd just do
    $ git reset --soft HEAD~$n ;# rewind
    $ git commit --amend

to open an editor, and then to the editor to edit the log message, I'd tell it to insert "git log ..@{1}" to the edit buffer to help me formulate the log message for the consolidated change, so I do not personally see me using it, even if it were available.

Thanks.
Robear Selwans· Feb 14, 2020, 07:29 UTC · re: Junio C Hamano · lore

Re: [RFC][GSOC] Microproject Suggestion

On Fri, Feb 14, 2020 at 3:41 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 8 quoted lines
> For the feature itself, I'd just do
>     $ git reset --soft HEAD~$n ;# rewind
>     $ git commit --amend
>
> to open an editor, and then to the editor to edit the log message,
> I'd tell it to insert "git log ..@{1}" to the edit buffer to help me
> formulate the log message for the consolidated change, so I do not
> personally see me using it, even if it were available.
Yeah, this makes a lot of sense.

That was actually the only idea that I could come up with till now. I am open to suggestions, though. I don't really mind if it is too big, as I am also interested in contributing to git.

Denton Liu· Feb 14, 2020, 08:49 UTC · re: Robear Selwans · lore

Re: [RFC][GSOC] Microproject Suggestion

Hi Robear,
On Fri, Feb 14, 2020 at 09:29:33AM +0200, Robear Selwans wrote:
> That was actually the only idea that I could come up with till now. I
> am open to suggestions, though. I don't really mind if it is too big,
> as I am also interested in contributing to git.

Even though Git doesn't have an offical issue tracker, one good place to look is GitGitGadget's issue[1]. It's pretty well-curated and has a lot of tiny cleanup issues that you could get started on.

Another thing you could do to find inspiration is to search for #leftoverbits on your Git mailing list archive of choice (most people seem to use lore.kernel.org/git).

Hope that helps,
Denton
[1]: https://github.com/gitgitgadget/git/issues

← back to recent threads