D6479: unshelve: first prototype of restoring unresolved changes

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Mon Jun 10 10:40:30 EDT 2019


pulkit added a comment.


  > step 2: Internally, merge p1 with p2 with the merge tool :fail.
  >  This will not update the contents of the files with conflicting changes.
  >  Instead, it will mark them as unresolved.
  
  Can we prevent merging again? Since we are getting content from old unresolved commit, copying mergestate from previously stored one, what purpose does this merging serves?
  
  > step 3: This internal merge will also mark the files which are already
  >  resolved by the user in the unresolved shelve changeset as unresolved. But,
  >  we will move the contents of $HGRCPATH/merge-unresolved/<basename>/
  >  to $HGRCPATH/merge/ so that we can restore the partially resolved states.
  > 
  > step 4: We now have a state in which files marked as resolved might have
  >  conflicts. But, we will apply the changes in shelve on the top of this so that we
  >  can get our old unresolved merge again by the usual unshelve mechanism.
  >  The usual rebase step is avoided on unresolved shelve changesets.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6479

To: navaneeth.suresh, #hg-reviewers
Cc: pulkit, mercurial-devel


More information about the Mercurial-devel mailing list