Coding Period : Week 4

Published: 06/23/2019

Hey everyone!!  This is the update for week 4 and hence the last week before the first evaluation. This week I mainly extended the state detection API to more cases which were not part of the plan but an essential for Mercurial. I also came up with the first implementation of hg abort. 

What did I do this week?

As stated in the previous blog I got my PRs regarding the first sub-task accepted.[1][2][3][4] @martinvonz suggested some extended cases for the API and I was interested to take that up and add those features. Also, I updated the release notes about the new API. 
hg abort, I sent the first prototype for it which included the algorithm for hg abort, the extension of state detection API to register abort functions and inclusion of graft, rebase and histedit into the plan. This leaves me with two remaining operations merge and shelve. I was able to write a prototype for shelve but since it was buggy I did not send it as a PR. I got my patch reviewed by @Pulkit on Bitbucket [5]. He suggested me some changes I will send the patch directly to Phabricator.

What is coming up next?

The coming week I am planning to get all of the patches for extended API approved and will send the complete hg abort patch to be reviewed. The work that is still left is cleaning up the patch and inclusion of shelve and abort as part of abort plan. 
Towards the end of this week if time permits I would like to start with
hg continue

Did you get stuck anywhere?

During the start of hg abort I did get stuck with what actually will the algorithm for it look like. Though I had a visualisation but was not quite clear with it. I discussed this with @Pulkit got my doubts cleared and went ahead with my work.