comparison mercurial/obsolete.py @ 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 c6061cadb400
children 98c14e857e71
comparison
equal deleted inserted replaced
36952:b24cde12061b 36953:b9bbcf9ffac1
146 raise error.Abort(_("'createmarkers' obsolete option must be enabled " 146 raise error.Abort(_("'createmarkers' obsolete option must be enabled "
147 "if other obsolete options are enabled")) 147 "if other obsolete options are enabled"))
148 148
149 return _getoptionvalue(repo, option) 149 return _getoptionvalue(repo, option)
150 150
151 ### obsolescence marker flag 151 bumpedfix = obsutil.bumpedfix
152 152 usingsha256 = obsutil.usingsha256
153 ## bumpedfix flag
154 #
155 # When a changeset A' succeed to a changeset A which became public, we call A'
156 # "bumped" because it's a successors of a public changesets
157 #
158 # o A' (bumped)
159 # |`:
160 # | o A
161 # |/
162 # o Z
163 #
164 # The way to solve this situation is to create a new changeset Ad as children
165 # of A. This changeset have the same content than A'. So the diff from A to A'
166 # is the same than the diff from A to Ad. Ad is marked as a successors of A'
167 #
168 # o Ad
169 # |`:
170 # | x A'
171 # |'|
172 # o | A
173 # |/
174 # o Z
175 #
176 # But by transitivity Ad is also a successors of A. To avoid having Ad marked
177 # as bumped too, we add the `bumpedfix` flag to the marker. <A', (Ad,)>.
178 # This flag mean that the successors express the changes between the public and
179 # bumped version and fix the situation, breaking the transitivity of
180 # "bumped" here.
181 bumpedfix = 1
182 usingsha256 = 2
183 153
184 ## Parsing and writing of version "0" 154 ## Parsing and writing of version "0"
185 # 155 #
186 # The header is followed by the markers. Each marker is made of: 156 # The header is followed by the markers. Each marker is made of:
187 # 157 #