Google Summer of Code '19: Add functionality to store an unresolved merge-state

Navaneeth Suresh navaneeths1998 at gmail.com
Sun May 12 18:31:09 UTC 2019


Hello everyone,

I am Navaneeth Suresh, one of the GSoC '19 students with Mercurial. I
wanted to discuss my project on adding functionality to store an unresolved
merge-state[1]
<https://www.mercurial-scm.org/wiki/SummerOfCode/Ideas2019#Add_functionality_to_store_an_unresolved_merge-state>
with
the community. Having gone through past mailing list archives on similar
issues, I got some ideas on the implementation of the project. However,
there can be other alternatives and I might encounter some issues which I
might not aware of. So, I'm sharing my idea of implementation.

As said by @marmoute, we are storing only one active unresolved
merge-state. I am thinking to store it as a visible commit under a bookmark
having the prefix `conflict/`. This should contain metadata about the files
which are marked as resolved/unresolved by the user. I have coded this and
made this work by respecting both parents without changing the default
behavior of `localrepo.commit()` (adding metadata about conflicts part is
left.) This conflicted state can be later restored by rebasing the tip on
the top of the commit just before the conflict commit and stripping the
conflict commit from the DAG. The restoring functionality is much
hypothetical at the moment and there are things to investigate on that.

If anyone of you has other thoughts on the implementation, I would love to
hear that. Also, pros, cons, feasibility, etc. on this proposed way of
implementation are also welcome.

Regards,
Navaneeth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20190513/a0fcbab0/attachment.html>


More information about the Mercurial-devel mailing list