Hello everyone !! This is the update of what I did this week. This week was full of new learning experiences and a lot more productive than the last one.
What did I do this week?
This week completed the implementation of unification of APIs subtask and uploaded my patches on Phabricator[1] [2] [3] [4] [5] for final review. As I stated in the last blog, most of my doubts were resolved last week which gave me a headstart to proceed further. I was able to complete the subtask but I also needed to clean up the code and make it presentable on Phabricator. Initially, I uploaded the whole code at once which was quite untidy and difficult to review. Martin suggested me to break it down into simpler patches which was a little frustrating at first but later gave me a really important thing to learn that one should not only code from the perspective on an author but also from the perspective of a reviewer. Because in later times too if someone needs to check out changes that the code made, he or she may do so with ease.
What is coming up next?
The coming week I will move according to the timeline in my proposal and start my work on hg abort and make it compatible with core commands like hg graft.
Also, I will be modifying my patches on the unification of APIs and get the patches merged. One of them has already been accepted.
Did you get stuck anywhere?Did you get stuck anywhere?
During the starting of the week I was doubtful regarding some issues like
does checkunfinishedstates() be the part of the new class I created or not and so on. But my mentor Pulkit cleared most of them.
Later while splitting up my patch into smaller patches I was stuck in a condition where I needed to make an amend to a commit that was not the very recent one. I could not figure out the workflow and asked my mentor about it. He gave me manual of hg evolve to go through saying that would make my workflow more powerful. After going through it I realised how awesome Mercurial is and hg evolve is one of the coolest feature that I have seen in any VCS. It provides with a whole new level of flexibility and also I was able to learn how things work at changeset level when hg amend or for that matter and history editing function is used