Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commit.py @ 45402:0652a533fe3c
mergestate: use _stateextras instead of merge records for commit related info
There is a set of information related to a merge which is needed on commit. We
want to store such information in the mergestate so that we can read it while
committing.
For this purpose, we are using merge records and introduced a merge
entry state for that. However this won't scale and is not clean way to implement
this.
This patch reworks the existing logic related to this to use _stateextras and
read from it.
Right now the information stored is not very descriptive but it will be in next
patch.
Using _stateextras also makes MERGE_RECORD_MERGED_OTHER useless and only to be
kept for BC.
Differential Revision: https://phab.mercurial-scm.org/D8920
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 10 Aug 2020 15:29:02 +0530 |
parents | 54eeb1a0e325 |
children | f52b0297acc8 |
comparison
equal
deleted
inserted
replaced
45401:ede4c121239e | 45402:0652a533fe3c |
---|---|
323 elif fparent2 in fparentancestors: | 323 elif fparent2 in fparentancestors: |
324 fparent2 = nullid | 324 fparent2 = nullid |
325 elif not fparentancestors: | 325 elif not fparentancestors: |
326 # TODO: this whole if-else might be simplified much more | 326 # TODO: this whole if-else might be simplified much more |
327 ms = mergestate.mergestate.read(repo) | 327 ms = mergestate.mergestate.read(repo) |
328 if ( | 328 if ms.extras(fname).get(b'filenode-source') == b'other': |
329 fname in ms | |
330 and ms[fname] == mergestate.MERGE_RECORD_MERGED_OTHER | |
331 ): | |
332 fparent1, fparent2 = fparent2, nullid | 329 fparent1, fparent2 = fparent2, nullid |
333 | 330 |
334 # is the file changed? | 331 # is the file changed? |
335 text = fctx.data() | 332 text = fctx.data() |
336 if fparent2 != nullid or meta or flog.cmp(fparent1, text): | 333 if fparent2 != nullid or meta or flog.cmp(fparent1, text): |