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

[Outreachy][Proposal] Accelerate rename detection and the range-diff

From
Sangeeta NB <sangunb09@gmail.com>
Date
Oct 26, 2020, 07:49 UTC
Message-ID
<CAHjREB6Hh+urW3j2c9p45ZudSdDv0rUP28Lb4e4TZasqTzRmDA@mail.gmail.com>
Hey Everyone,

I would love to participate in outreachy this year with Git in the project "Accelerate rename detection and the range-diff command in Git". I have contributed to the microproject "Unify the meaning of dirty between diff and describe"[1] which is still under review, but through the process, I have got myself familiar with the mailing list and patch review system. I am also contributing to another issue[2] which is still under discussion[3] about `git bisect` and `git rebase`.

[1] https://lore.kernel.org/git/pull.751.git.1602781723670.gitgitgadget@gmail.com [2] https://github.com/gitgitgadget/git/issues/486 [3] https://lore.kernel.org/git/pull.765.git.1603271344522.gitgitgadget@gmail.com/

Coming to the project, I have read more about it[4] and have created the initial version for the timeline. I would really love to have comments on it.

[4] https://github.com/gitgitgadget/git/issues/519

Also, there's a column for community-specific questions in the final application. Is there anything specific that I have to fill in that?

Please let me know if I missed anything.
Looking forward to working and learning with you all.

Thanks and Regards, Sangeeta

=================================================
Link to docs: https://docs.google.com/document/d/15mgqy4id1fXZWE1NvBEERWvET9zy-ZEfhp4x0NNv_d4/edit?usp=sharing
=================================================
## Accelerate rename detection and the range-diff command in Git
# Timeline
## Nov 23 - Dec 1(Before intern officially starts)
* Getting to know the mentors.
* Bonding with the community.
* Understanding the structure of the code and familiarizing myself
with the requirements during the internship period.
* Create a concrete workflow for outreachy tasks.
## Dec 1 - Dec 20
* Study about various Approximate Nearest Neighbor Search algorithms.
* There are various comparisons for the Approximate Nearest Neighbor
algorithm like:
* [ANN benchmarks](http://ann-benchmarks.com/)
* [How to benchmark ANN
algorithms](https://medium.com/gsi-technology/how-to-benchmark-ann-algorithms-a9f1cef6be08)
* Would compare all the algorithms and would narrow down to one or two
best algorithms for our use case.
## Dec 11: Initial point of feedback
* Would take feedback from the mentors and would ask about all the
expectations that mentors and the community have from me.
## Dec 21 - Jan 05
* Would study how Locality Sensitive Hashing (data-independent) or
Locality Preserving Hashing (data-dependent) can improve our accuracy
(or even complexity).
* Would study various hashing algorithms and combine them with our
nearest neighbor search algorithm.
## Jan 06 - Jan 20
* Study if a pre-trained Support Vector Machine can add something to
our use case.
* Study how different organizations(eg Gerrit) decide if two commits
are similar or not.
* SVM’s have accuracy disadvantage as compared to nearest neighbor
algorithms. Therefore, I would look into ways if we can create a
hybrid algorithm which uses SVM’s and nearest neighbor algorithms and
get better accuracy. There are also some research papers on the same.
I would study that and would finalize the algorithm after discussion
with mentors and the community.
## Jan 12: Midpoint feedback
* Would take feedback from the mentors and would ask about ways where
I can improve or places where I was lagging.
## Jan 21 - Feb 15
* Implement the finalized algorithm.
* Benchmark its accuracy and complexity against existing methods.
* Use it for the rename detection and for commit matching in `git range-diff`.
* Update the documentation for the same.
## Feb 16 - Mar 02 ( Wrap up)
* Buffer period for incomplete work.
* Wrap up the code.
* Implement the reviews and suggestions given by mentors.
* Write documentation for the code if required.
* Get my patches merged.
## Mar 02: Final feedback
* Would take the final feedback from the mentors and would ask about
ways where I could have improved on.
* Would talk about ways to connect even after the Outreachy period.
## Post-Outreachy
* I intend to keep contributing even after the Outreachy period ends.
* Would love to co-mentor(if possible) in the next outreachy and GSoC rounds.
* Would love to review patches of other contributors and take part in
the mailing list discussions.
# Other Involvements
* Blogging is an important part of Outreachy, therefore I would love
to write a blog every weekend or every fortnight, as discussed with
mentors, writing in it the summary of work done so far, anything I
learned in that week, and my experience.
* I would also be glad to help other contributors and users solve
their issues and help the maintainers in reviewing patches over the
outreachy period and even after that.
Next: Elijah Newren
Message 1 of 5 in “[Outreachy][Proposal] Accelerate rename detection and the range-diff”
  1. Sangeeta NBOct 26, 2020
  2. Elijah NewrenOct 26, 2020
  3. Kaartic SivaraamOct 30, 2020
  4. Elijah NewrenOct 31, 2020
  5. Kaartic SivaraamNov 2, 2020

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.