[PATCH 06 of 10] effectflag: detect when date changed
Boris Feld
boris.feld at octobus.net
Fri Jul 7 08:38:35 EDT 2017
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1499345662 -7200
# Thu Jul 06 14:54:22 2017 +0200
# Node ID 7bf0e2d03ccfd013693ecef6aff79804ed1b97d6
# Parent 765f9c129b4e67e92f52075e00bfb4f3c24094f6
# EXP-Topic effectflag
effectflag: detect when date changed
Store in effect flag when the date changed between the predecessor and
its successors.
It can happens with "hg commit --amend -d", "hg amend -d" or "histedit".
diff -r 765f9c129b4e -r 7bf0e2d03ccf mercurial/obsutil.py
--- a/mercurial/obsutil.py Thu Jul 06 14:53:48 2017 +0200
+++ b/mercurial/obsutil.py Thu Jul 06 14:54:22 2017 +0200
@@ -539,6 +539,7 @@
# logic around storing and using effect flags
DESCCHANGED = 1 << 0 # action changed the description
USERCHANGED = 1 << 4 # the user changed
+DATECHANGED = 1 << 5 # the date changed
def geteffectflag(relation):
""" From an obs-marker relation, compute what changed between the
@@ -557,4 +558,8 @@
if changectx.user() != source.user():
effects |= USERCHANGED
+ # Check if date has changed
+ if changectx.date() != source.date():
+ effects |= DATECHANGED
+
return effects
diff -r 765f9c129b4e -r 7bf0e2d03ccf tests/test-obsmarkers-effectflag.t
--- a/tests/test-obsmarkers-effectflag.t Thu Jul 06 14:53:48 2017 +0200
+++ b/tests/test-obsmarkers-effectflag.t Thu Jul 06 14:54:22 2017 +0200
@@ -51,7 +51,7 @@
check result
$ hg debugobsolete --rev .
- 2ef0680ff45038ac28c9f1ff3644341f54487280 4dd84345082e9e5291c2e6b3f335bbf8bf389378 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'user': 'test'}
+ 2ef0680ff45038ac28c9f1ff3644341f54487280 4dd84345082e9e5291c2e6b3f335bbf8bf389378 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '32', 'user': 'test'}
amend touching the branch only
----------------------------
@@ -109,7 +109,7 @@
$ hg debugobsolete --rev .
3b12912003b4e7aa6df6cded86255006c3c29d27 0 {fad47e5bd78e6aa4db1b5a0a1751bc12563655ff} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'user': 'test'}
- fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '17', 'user': 'test'}
+ fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '49', 'user': 'test'}
rebase not touching the diff
----------------------------
More information about the Mercurial-devel
mailing list