Coding Period : Week 3

Published: 06/15/2019

Hey everyone !  This is the update of what I did this week. This week I tried to perfect my implementation of things and learned how to write code in a minimalistic way instead of long complex hunks. 

What did I do this week?

This week was mostly spent on perfecting the unification code whose PRs I sent last week. I improved them and added a couple of new features. The prominent one being writing a method to register to unfinishedstates. I also worked on the unification of merge to checkunfinishedstate() method which would be a large change to the whole codebase as previously separate method per command were used to track down a merge in progress while the command was under execution. 
I parallelly also tried to register abort methods for various commands in the core into the
unfinishedstates list and develop a miniature hg abort command. Its support needs to be extended to extensions and then it would be ready for review.

What is coming up next?

The coming week I am planning to get all of the patches for API unification approved and also will try to send some patches regarding hg abort
I will also work parallelly on the unification of
mergestate to checkunfinished() because the unification of that would require addition of certain functionalities one of them being providing custom hints as per the command.

Did you get stuck anywhere?

While unifying the merge with other unfinishedstates I found the tests for hg strip were failing and the changes in them seemed quite illogical. I talked to my mentor about it and to much of a surprise he too found out that it was a bug in strip that it was allowed even when a merge was in progress. I prepared a patch for that and fixed that.[6]
I also got stuck at the initial reviews of the patch which demanded merge and bisect to be registered at the end of the list. However, my mentor's suggestion on developing a registering mechanism came handy and that issue too was solved.