Mercurial > hg
changeset 34415:51aadc0d0da2
effectflag: detect when description changed
Store in effect flag when the description changed between the predecessor and
its successors.
It can happens with "hg commit --amend -e", "hg amend -e" or "histedit".
Differential Revision: https://phab.mercurial-scm.org/D535
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 06 Jul 2017 14:52:34 +0200 |
parents | 468646386e95 |
children | 55ef17ec8e59 |
files | mercurial/obsutil.py tests/test-obsmarkers-effectflag.t |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/obsutil.py Thu Jul 06 14:51:08 2017 +0200 +++ b/mercurial/obsutil.py Thu Jul 06 14:52:34 2017 +0200 @@ -308,6 +308,8 @@ # logic around storing and using effect flags EFFECTFLAGFIELD = "ef1" +DESCCHANGED = 1 << 0 # action changed the description + def geteffectflag(relation): """ From an obs-marker relation, compute what changed between the predecessor and the successor. @@ -316,6 +318,11 @@ source = relation[0] + for changectx in relation[1]: + # Check if description has changed + if changectx.description() != source.description(): + effects |= DESCCHANGED + return effects def getobsoleted(repo, tr):
--- a/tests/test-obsmarkers-effectflag.t Thu Jul 06 14:51:08 2017 +0200 +++ b/tests/test-obsmarkers-effectflag.t Thu Jul 06 14:52:34 2017 +0200 @@ -29,7 +29,7 @@ check result $ hg debugobsolete --rev . - 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'amend', 'user': 'test'} + 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'} amend touching the user only ---------------------------- @@ -106,7 +106,7 @@ check result $ hg debugobsolete --rev . - fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'amend', 'user': 'test'} + fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'} rebase not touching the diff ----------------------------