On Sun, Feb 10, 2019 at 9:51 PM Оля Тележная <olyatelezhnaya@xxxxxxxxx> wrote: > > > It would be nice to have a few more project ideas. > > I am not sure I have additional ideas for 3-month project for the intern, but > > > https://git.github.io/SoC-2019-Ideas/ currently lists only 2 possible > > projects: > > > > - Unify ref-filter formats with other --pretty formats (which is new) > > I am ready to act as a mentor in this task, I know that part of > project good enough. > I have additional related task: We have a function called > oid_object_info, it allows to download meta-info of the file. It was > used in cat-file, and inspired by that example, I improved ref-filter, > so now ref-filter works faster with it. Moreover, I have found that > oid_object_info allows to get the contents of the file. It was useful > in ref-filter, and actually it could be also useful in cat-file, but > we still download the file differently in cat-file, and it looks > awkward. I need to make just one last move to finish my patch: it will > close the task about migrating cat-file formatting logic to > ref-filter. But cat-file still will not use general way to download > the file. So, the task is to get rid of additional file-reading logic. > I guess this task is much smaller than original one, but at least the > student will have chance to finish it in 3 months. > My patch is here: https://github.com/git/git/pull/568 > But I hope you will also see it this week in the mailing list. > Proposed task is in TODO in the end of ref-filter file. > > By the way, we had a letter from Google, it is said that our tasks are > sparsed. I am not sure I understand it correctly. Should I help the > project somehow to solve our issues? I'm a little hesitant to suggest this as I'm not sure how available I could be for mentoring and don't view myself as a good mentor, but another project idea which has lots of sub-pieces and thus could show progress and be useful even if not everything is completed: Consistency of sequencer commands: * The suggestion to fix an interrupted rebase-i or cherry-pick due to a commit that became empty via 'git reset HEAD' (in builtin/commit.c) instead of 'git rebase --skip' or 'git cherry-pick --skip' ranges from annoying to confusing. (Especially since other interrupted am's and rebases both point to am/rebase --skip.). Note that 'git cherry-pick --skip' is not yet implemented, so that would have to be added first. * There are a handful of flags that am-based rebases support that are not available to interactive/merge-based rebases; it'd be nice to implement them for the interactive machinery. (There are also numerous flags that only the interactive machinery supports that are unavailable to am-based rebases, but I don't care; I want to deprecate am-based rebases.) * --ignore-whitespace (transliterate to -Xignore-space-change?) * --whitespace=... * --committer-date-is-author-date/--ignore-date * -C4 [There's also some empty handling (from "Behavioral Differences" in Documentation/git-rebase.txt) that would be nice to address, though that might be contentious and I might try to tackle that piece before GSoC gets rolling...] Bonus: Make a flag to allow rebase to rewrite commit messages that refer to older commits that were also rebased. (i.e. if rebasing commits A and B, and commit B says "This reverts commit <sha-of-A>, then rewritten B's commit message should say "This reverts commit <sha-of-rewritten-A".) Do this for both sha1sums and sha1sum abbreviations in commit messages.