Before storing unresolved mergestate information in changeset level, I tried
to make the user store the partially resolved merge to restore for later
after fixing an urgent bug using the usual mergestate information in
$HGRCPATH/merge/ only.
This patch adds an --unresolved flag to shelve. Until now, a shelve
during a merge was aborted. This patch makes shelve to handle merge with
unresolved files. The usual mergestate information in $HGRCPATH/merge/ is
moved to $HGRCPATH/merge-unresolved/<basename>/ after shelving
and the working directory is updated to p1(). In the next patch, I'll make
unshelve to restore this information.
Unresolved shelve changesets are stored with the extra mapping
{'unresolved-merge': True}. Also, hg shelve --patch and
hg shelve --list will show unresolved files separately as:
$ hg shelve --list default (unresolved) (1s ago) changes to: C
shelve will abort when:
- No merge is active on calling with --unresolved.
- No unresolved files found in active merge on calling with --unresolved.
- Merge is active on calling without --unresolved.
the function needs documentation on what this does and why it does so.