Hello there! Finally, I have got to the last stage of this GSoC program. It was great experience working with the organisation. The mentors were very helpful and they hone my skills. The best part I want to share with you guys about Google Summer of Code is that it is really an amazing event where you learn a lot of things and meet new peoples. I urge that every student or I can say every learner should go for this esteemed program. Following is the list of patches that I committed during my GSoC period. If you want to read in details about these changes then either go to https://blogs.python-gsoc.org/sushil-khanchi/ or follow commit description ;)

Merged patches:

  1. resolve: add confirm functionality: Gives a functinality to confirm before performing actions when you run hg resolve:
    • https://phab.mercurial-scm.org/rHGf8732e33bcbc4ba565b371888dae1fc75998a3ae
    • https://phab.mercurial-scm.org/rHGdb03e5cefc824b2ee029164b92a59ff70bd1df82
    • https://phab.mercurial-scm.org/rHGf35f6791595f00e039963b05570f61214fce67ef
    • https://phab.mercurial-scm.org/rHG755741c39230ba0d1db42b8e8d6355ce60a02346
    • https://phab.mercurial-scm.org/rHG49b51f41fb46d497487ee2211b88387230f504b8
  2. History-editing-backup config option: This config option aims to give a functionality to not store any backup for history editing commands like histedit, rebase, amend etc. Currently it supports histedit, rebase, amend. rebase:
    • https://phab.mercurial-scm.org/rHG2002c193f2bcb07ea898d6229835e7d61bc48aae
    • https://phab.mercurial-scm.org/rHG2b728789edfd414958061f3063f45c40ddb20d1d



  1. rebase: add confirm option functionality: This option gives a functionality to confirm before finishing rebase so if we hit a conflict then it will simply abort and if rebase is successful then it will ask user to apply changes by prompting “apply changes (yn)?”
    • https://phab.mercurial-scm.org/rHG572dff5c946e05bc4743531803a5b79a6067f646
    • https://phab.mercurial-scm.org/rHGa50482254b0ae2106d5d3775f45dcf4621df310e
    • https://phab.mercurial-scm.org/rHG35b3f686157a27db8a1a0a4ab9eab5f4583a5fdf
    • https://phab.mercurial-scm.org/rHGb3d0c97a082072c570acaade18359b6b264fb535
    • https://phab.mercurial-scm.org/rHG70448ec995c25f4d5e5a3218d8806bb2b006834c
  2. histedit: add –no-backup opiton(issue5825)
    • https://phab.mercurial-scm.org/rHG7b57b1ed5c0f13f216a99aabead84abac240c1be
    • https://phab.mercurial-scm.org/rHG88e6630dc8d0da19df2ecb90153cd4c72d1e89a3
    • https://phab.mercurial-scm.org/rHGfaea9b1980d9b0c97f3e457b5f271248fcd63716
  3. rebase: add dry-run functionality: This –dry-run flag gives you a functionality to just see what would be the result without actually performing that actions. This means you can check if a rebase will be successful or not by running hg rebase -s x -d y --dry-run
    • https://phab.mercurial-scm.org/rHGf4f1fb1cbfb42fb24b7b546f39b35f1bf5a7267c
    • https://phab.mercurial-scm.org/rHGd6686f864a707773bae6134a4beec0e6e08ccc57
    • https://phab.mercurial-scm.org/rHGe6b643ccf87d73638c754fe9ced8c6add00413e3
    • https://phab.mercurial-scm.org/rHG56b2074114b19e12abd9cd4c378d58b702232705
    • https://phab.mercurial-scm.org/rHGba6d2c32f34a1d21d3606c9355fe51d5173af5c8
    • https://phab.mercurial-scm.org/rHGc92fdc27cbdde50defe9a8ea52dbbf49029bf010
    • https://phab.mercurial-scm.org/rHG9c3b48fb7ac5ecd9549e65d60a79f2bacc6492f2
    • https://phab.mercurial-scm.org/rHGc892a30bafb9e991202f6b4b96b31132f34aceb6
    • https://phab.mercurial-scm.org/rHG999e5c218daf300f8f217b6b5e3df0e7c4ef3511
    • https://phab.mercurial-scm.org/rHG731debab233fd8e4c677cb15f479ee9385f530c0
  4. rebase: add –stop option functionality: This option is very helpful if you are in between of a large rebase and don’t know what to do, but you don’t want to lose all the work you have done. So you can use this –stop option to stop a rebase at any point instead of losing all the rebased revisions.
    • https://phab.mercurial-scm.org/D3959
    • https://phab.mercurial-scm.org/D3969
    • https://phab.mercurial-scm.org/D3970
    • https://phab.mercurial-scm.org/D3982
  5. graft: add no-commit mode: A –no-commit flag is added which you can use to just graft changes in working directory without actually making a commit.
    • https://phab.mercurial-scm.org/rHG622f79e3a1cb310191825722894a725219e78c3c
  6. phase-dry-run: advanceboundary: add dry-run parameter
    • https://phab.mercurial-scm.org/rHG36ba5dba372dfe5ac82b6d87a90553ba5dd93586
  7. forget: add dry-run mode:
    • https://phab.mercurial-scm.org/rHG45bfcd16f27e6d5988dfa8b2165bede17b41468c
  8. forget: add interactive mode:
    • https://phab.mercurial-scm.org/rHGe7bf5a73e4e1c36ec5d389cf73ee12cac7a16da8
    • https://phab.mercurial-scm.org/rHGf10cb49951e1342cc473a5190db450e94259c999
  9. remove: add dry-run functionality:
    • https://phab.mercurial-scm.org/rHGdf1fd2fdc74e14bdd2eb6e642b0b5e37c92aec98

WIP patches:

  1. phase: add dry-run functionality:
    • https://phab.mercurial-scm.org/D3187
    • https://phab.mercurial-scm.org/D3672
  2. rebase: suppress transaction warns:
    • https://phab.mercurial-scm.org/D3830