git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: GSoC 2019: Git's application submitted

From
Christian Couder <christian.couder@gmail.com>
Date
Feb 11, 2019, 08:35 UTC
Message-ID
<CAP8UFD1Rv+nFqDYf33rRw-kWnfqokSG6=tG8XPFyBoVCU6Te=w@mail.gmail.com>
In-Reply-To
<20190207213326.GF6085@hank.intra.tgummerer.com>
On Thu, Feb 7, 2019 at 10:33 PM Thomas Gummerer <t.gummerer@gmail.com> wrote:
Show 34 quoted lines
>
> On 02/07, Johannes Schindelin wrote:
> > On Wed, 6 Feb 2019, Thomas Gummerer wrote:
> > >  - implement pushing/poping conflicted state
> > >
> > >    This would obviously be the end goal.
> >
> > On second thought, this might actually be super trivial. Right now, we
> > support two modes (not counting the `--untracked` stuff): --keep-index and
> > --no-keep-index. In both cases, we seem to create a merge commit whose
> > tree reflects the working directory and whose first parent is HEAD and
> > whose second parent is a single commit on top of HEAD (which contains
> > either no changes in the case of --no-keep-index, or whose tree reflects
> > the index in case of --keep-index).
> >
> > To extend that to the conflict case, we could introduce a new flag
> > --with-conflicts, and have the commit structure
> >
> >       Worktree
> >        |    \
> >        |    index stage 0
> >        |      /     |     \
> >        | stage 1  stage 2  stage 3
> >        |    /     /       /
> >       HEAD ---------------
> >
> > The only tricky thing I can see is to maintain backwards compatibility if
> > possible, so that old `git stash` will do something at least semi-sensible
> > with those commit structures.
> >
> > It might be too small a project, after all.
>
> Yeah, looking at this I think you're right.  Thanks for helping work
> through this.

I am not sure it will be too small a project, especially because it is a new feature. On top of the coding part, the student will also have to come up with good documentation and test cases, and there will probably be naming and workflow discussions and possibly refactoring opportunities and bug fixes along the way.

Yeah, the naming and workflow discussions should actually happen when discussing the student's proposal, in which case an important part of the work will (hopefully) be done before the GSoC actually starts.

Historically though we have always been very optimistic in what we thought a student could accomplish in a GSoC. And we are very likely to find more ideas for improvements during the GSoC, in case everything is "finished" before the end. I actually think that it has never happened that a student both "finished" the project before the end, and that no idea for improvement on top of the work was found.

I have added a "Note about refactoring projects versus projects that implement new features" at the end of the idea list:

https://github.com/git/git.github.io/blob/master/SoC-2019-Ideas.md#note-about-refactoring-projects-versus-projects-that-implement-new-features

and I think that with that note students working on such projects will be warned enough, and therefore hopefully have a better chance of success.

So after all if you are willing to co-mentor such a project, I would be ok to co-mentor it with you, and we should add it to the list.

Thanks, Christian.

And yeah it would help improve our idea list as requested by Google.
Previous: Christian CouderNext: Thomas Gummerer
Message 14 of 29 in “GSoC 2019: Git's application submitted”
  1. Christian CouderFeb 4, 2019
  2. Thomas GummererFeb 4, 2019
  3. Thomas GummererFeb 5, 2019
  4. Christian CouderFeb 5, 2019
  5. Thomas GummererFeb 6, 2019
  6. Johannes SchindelinFeb 7, 2019
  7. Thomas GummererFeb 7, 2019
  8. Оля ТележнаяFeb 11, 2019
  9. Christian CouderFeb 11, 2019
  10. Оля ТележнаяFeb 11, 2019
  11. Christian CouderFeb 11, 2019
  12. Elijah NewrenFeb 13, 2019
  13. Christian CouderFeb 14, 2019
  14. Christian CouderFeb 11, 2019
  15. Thomas GummererFeb 11, 2019
  16. Christian CouderFeb 11, 2019
  17. Thomas GummererFeb 12, 2019
  18. Christian CouderFeb 12, 2019
  19. Thomas GummererFeb 12, 2019
  20. Johannes SchindelinFeb 6, 2019
  21. Duy NguyenMar 5, 2019
  22. Duy NguyenMar 5, 2019
  23. Jeff KingMar 6, 2019
  24. Duy NguyenMar 6, 2019
  25. Jeff KingMar 6, 2019
  26. Johannes SchindelinMar 6, 2019
  27. Duy NguyenMar 18, 2019
  28. Christian CouderMar 18, 2019
  29. Christian CouderFeb 4, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.