July Marked the beginning of II GSOC coding month. This month our goal is to make the diff bar model as accurate and intuitive as possible.
One of the biggest thing which I learnt so far is how to contribute on upstream repositories on which our project depends.
In our case this was with Libgit2, we discovered a bug in Libgit2 while doing our project, and Albfan made this a perfect example to show me how to contribute on upstream, how to raise bugs and how to do discussions for getting it solved.
While this got solved we can’t wait to get the solutions merged. So we filtered out which patches works best for us and I learnt how to apply patches to projects with Flatpak.
I really think the Flatpak team has done a great job on this one, and it was super easy and useful for me to get those patches working with my project. Without flatpak manifest Idk how I would have pulled it off. 🙂
I tried to understand how amazing is Gtk.TextView and I used something called Gtk.TextTag for highlighting the Diff text in appropriate colors.
Red —> Removed Text
Green —-> Insertion Text
In order to make grounds for Three way merge diff view, we are able to make sure now we paint the diff bar in relative manner.
For this, we introduced a reverse direction property which essentially makes the model know which direction we will be painting the diff curves, Right to Left or Left to Right.
Now comes the hard part…
Right now our model works on DiffLineCallback, where we basically pick up each line diff and paint the indicating curve for it. The disadvantage of doing this is that, the curves are getting overlapped and it not looks good.
So I tried to do some pre processing of the data and improve this situation.
While there are still tuning required for the algorithm, and I hope we get this completed real soon.
Now, the most Hard part !!!!!
Visa 😉 , It’s really hard to arrange all of your documents required for European visa, really hoping my hard work pays off and I meet you all Gnome Folks in GUADEC soon.
In the end it’s almost one and a half week left for this month to get end, and I have learnt a lot like always!