Mercurial > hg
changeset 36953:b9bbcf9ffac1
obsolete: move marker flags to obsutil
Evolve extension expects to have obsolete.bumpedfix (imported in
hgext3rd/evolve/evolvecmd.py), so we provide it.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Tue, 13 Mar 2018 20:34:38 +0800 |
parents | b24cde12061b |
children | efc4fb344c05 |
files | mercurial/obsolete.py mercurial/obsutil.py |
diffstat | 2 files changed, 35 insertions(+), 32 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/obsolete.py Wed Feb 21 17:21:10 2018 +0100 +++ b/mercurial/obsolete.py Tue Mar 13 20:34:38 2018 +0800 @@ -148,38 +148,8 @@ return _getoptionvalue(repo, option) -### obsolescence marker flag - -## bumpedfix flag -# -# When a changeset A' succeed to a changeset A which became public, we call A' -# "bumped" because it's a successors of a public changesets -# -# o A' (bumped) -# |`: -# | o A -# |/ -# o Z -# -# The way to solve this situation is to create a new changeset Ad as children -# of A. This changeset have the same content than A'. So the diff from A to A' -# is the same than the diff from A to Ad. Ad is marked as a successors of A' -# -# o Ad -# |`: -# | x A' -# |'| -# o | A -# |/ -# o Z -# -# But by transitivity Ad is also a successors of A. To avoid having Ad marked -# as bumped too, we add the `bumpedfix` flag to the marker. <A', (Ad,)>. -# This flag mean that the successors express the changes between the public and -# bumped version and fix the situation, breaking the transitivity of -# "bumped" here. -bumpedfix = 1 -usingsha256 = 2 +bumpedfix = obsutil.bumpedfix +usingsha256 = obsutil.usingsha256 ## Parsing and writing of version "0" #
--- a/mercurial/obsutil.py Wed Feb 21 17:21:10 2018 +0100 +++ b/mercurial/obsutil.py Tue Mar 13 20:34:38 2018 +0800 @@ -17,6 +17,39 @@ ) from .utils import dateutil +### obsolescence marker flag + +## bumpedfix flag +# +# When a changeset A' succeed to a changeset A which became public, we call A' +# "bumped" because it's a successors of a public changesets +# +# o A' (bumped) +# |`: +# | o A +# |/ +# o Z +# +# The way to solve this situation is to create a new changeset Ad as children +# of A. This changeset have the same content than A'. So the diff from A to A' +# is the same than the diff from A to Ad. Ad is marked as a successors of A' +# +# o Ad +# |`: +# | x A' +# |'| +# o | A +# |/ +# o Z +# +# But by transitivity Ad is also a successors of A. To avoid having Ad marked +# as bumped too, we add the `bumpedfix` flag to the marker. <A', (Ad,)>. +# This flag mean that the successors express the changes between the public and +# bumped version and fix the situation, breaking the transitivity of +# "bumped" here. +bumpedfix = 1 +usingsha256 = 2 + class marker(object): """Wrap obsolete marker raw data"""