README
branchmercurial-3.8
changeset 2111 ec04eb4d2c6e
parent 2102 e243e1d9464c
child 2113 fed5369058a4
equal deleted inserted replaced
1817:5c86af0da91d 2111:ec04eb4d2c6e
     1 =============================
     1 =============================
     2 Mutable History For Mercurial
     2 Mutable History For Mercurial
     3 =============================
     3 =============================
     4 
     4 
     5 This package supplies the ``evolve`` extension for Mercurial, which
     5 Evolve Extension
     6 provides several commands to mutate history and deal with the
     6 =================
     7 resulting issues.
     7 
     8 
     8 This package supplies the ``evolve`` extension for Mercurial,
     9 It also:
     9 
    10 
    10 **The full implementation of the changeset evolution concept is still in
    11     - enables the "changeset obsolescence" feature of Mercurial
    11 progress.**  Please subscribe to the `evolve-testers mailing list
    12     - issues several warning messages when trouble appears in your repository
    12 <https://www.mercurial-scm.org/mailman/listinfo/evolve-testers>`_ to stay up to
    13 
    13 date with changes.
    14 **This extension is experimental and not yet meant for production.**
    14 
    15 
    15 This extension:
    16 You can enable it by adding the line below to the ``extensions``
    16 
    17 section of your hgrc::
    17 * enables the “changeset evolution” feature of Mercurial core,
    18 
    18 
    19     evolve = PATH/TO/evolve-main/hgext/evolve.py
    19 * provides a set of commands to mutate your history,
       
    20 
       
    21 * issues several warning messages when troubles from some mutable appears in
       
    22   your repository,
       
    23 
       
    24 * provides an ``hg evolve`` command to deal with such "troubles",
       
    25 
       
    26 * improves performance of obsolescence marker exchanges and discovery during
       
    27   push and pull.
       
    28 
       
    29 Documentation
       
    30 -------------
    20 
    31 
    21 We recommend reading the documentation first. An online version is
    32 We recommend reading the documentation first. An online version is
    22 available here:
    33 available here:
    23 
    34 
    24     https://www.mercurial-scm.org/doc/evolution/
    35     https://www.mercurial-scm.org/doc/evolution/
    25 
    36 
    26 Or see the ``doc/`` directory for a local copy.
    37 How to Install
    27 
    38 ==============
    28 Contribute
    39 
    29 ==========
    40 Using Pip
    30 
    41 ---------
    31 Bugs are to be reported on the mercurial's bug tracker (component: evolution):
    42 
    32 https://bz.mercurial-scm.org/buglist.cgi?component=evolution&query_format=advanced&resolution=---
    43 You can install the latest evolution version usin pip::
       
    44 
       
    45     $ pip install --user hg-evolve
       
    46 
       
    47 Then just enable it in you hgrc::
       
    48 
       
    49     $ hg config --edit # adds the two line below:
       
    50     [extensions]
       
    51     evolve =
       
    52 
       
    53 From Source
       
    54 -----------
       
    55 
       
    56 To install a local version from source::
       
    57 
       
    58     $ hg clone https://www.mercurial-scm.org/repo/evolve/
       
    59     $ cd evolve
       
    60     $ make install-home
       
    61 
       
    62 Then just enable it in you hgrc::
       
    63 
       
    64     $ hg config --edit # adds the two line below:
       
    65     [extensions]
       
    66     evolve =
       
    67 
       
    68 Documentation lives in ``doc/``.
       
    69 
       
    70 Server Only Version
       
    71 ===================
       
    72 
       
    73 It is possible to enable a smaller subset of the extensions aimed at server
       
    74 serving repository. It skips the additions of the new commands and local UI
       
    75 messages that might add performance overheads. To use the server only
       
    76 extension, install the package and use::
       
    77 
       
    78     $ hg config --edit # adds the two line below:
       
    79     [extensions]
       
    80     evolve.serveronly =
       
    81 
       
    82 
       
    83 How to Contribute
       
    84 =================
       
    85 
       
    86 Bugs are to be reported on the mercurial's bug tracker (component: `evolution`_):
       
    87 
       
    88 .. _evolution: https://bz.mercurial-scm.org/buglist.cgi?component=evolution&query_format=advanced&resolution=---
    33 
    89 
    34 Please use the patchbomb extension to send email to mercurial devel. Please
    90 Please use the patchbomb extension to send email to mercurial devel. Please
    35 make sure to use the evolve-ext flag when doing so. You can use a command like
    91 make sure to use the evolve-ext flag when doing so. You can use a command like
    36 this:
    92 this::
    37 
    93 
    38     hg email --to mercurial-devel@mercurial-scm.org --flag evolve-ext --rev '<your patches>'
    94     $ hg email --to mercurial-devel@mercurial-scm.org --flag evolve-ext --rev '<your patches>'
    39 
    95 
    40 See also
    96 For guidelines on the patch description, see the `official Mercurial guideline`_.
    41 https://mercurial-scm.org/wiki/ContributingChanges#Patch_descriptions
    97 
    42 for guidelines on the patch description.
    98 .. _`official Mercurial guideline`: https://mercurial-scm.org/wiki/ContributingChanges#Patch_descriptions
    43 
    99 
    44 Please don't forget to update and run the tests when you fix a bug or
   100 Please don't forget to update and run the tests when you fix a bug or
    45 add a feature. To run the tests, you need a working copy of Mercurial,
   101 add a feature. To run the tests, you need a working copy of Mercurial,
    46 say in $HGSRC:
   102 say in $HGSRC::
    47 
   103 
    48     cd tests
   104     $ cd tests
    49     python $HGSRC/tests/run-tests.py
   105     $ python $HGSRC/tests/run-tests.py
    50 
   106 
    51 (evolve's stable and default branches correspond to Mercurial's stable
   107 (evolve's stable and default branches correspond to Mercurial's stable
    52 and default branches. So to test evolve from default, you need
   108 and default branches. So to test evolve from default, you need
    53 Mercurial on default.)
   109 Mercurial on default.), Older version of Mercurial are supportd on their respective ``mercurial-x.y`` branches.
    54 
       
    55 
   110 
    56 Changelog
   111 Changelog
    57 =========
   112 =========
    58 
   113 
       
   114 6.0.0 -- In progress
       
   115 --------------------
       
   116 
       
   117 - drop compatibility for Mercurial < 3.8,
       
   118 - removed old (unpackaged) pushexperiment extension,
       
   119 - move all extensions in the official 'hgext3rd' namespace package,
       
   120 - add the "topic" experimental extensions. See the README.topic file for details
       
   121 - officially ship 'evolve.serveronly' extensions. That extensions contains
       
   122   only the part related to exchange and is intended to be used by server.
       
   123 
       
   124   Using the extension will enable evolution, use 'experimental.evolution=!'
       
   125   to disable obsmarkers echange.  The old '__temporary__.advertiseobsolete'
       
   126   option is no longer supported.
       
   127 
    59 5.6.1 -- 2017-02-28
   128 5.6.1 -- 2017-02-28
    60 
   129 -------------------
    61  - fix a crash that sometime happened when evolving merges.
   130 
       
   131 - fix a crash that sometime happened when evolving merges.
    62 
   132 
    63 5.6.0 -- 2017-02-01
   133 5.6.0 -- 2017-02-01
    64 
   134 -------------------
    65  - compatibility with Mercurial 4.1.
   135 
    66  - improvement of prune error message.
   136 - compatibility with Mercurial 4.1.
    67  - fold: require --from flag for folding revisions to working copy
   137 - improvement of prune error message.
    68  - fix crash when trying to fold an empty revision set (issue5453)
   138 - fold: require --from flag for folding revisions to working copy
    69  - uncommit: preserve copy information of remaining files (issue5403)
   139 - fix crash when trying to fold an empty revision set (issue5453)
       
   140 - uncommit: preserve copy information of remaining files (issue5403)
    70 
   141 
    71 5.5.0 -- 2016-10-30
   142 5.5.0 -- 2016-10-30
    72 
   143 -------------------
    73  - The {obsolete} template now yield "obsolete" or "".
   144 
    74  - compatibility with Mercurial 4.0
   145 - The {obsolete} template now yield "obsolete" or "".
    75  - Fix erroneous manifest computation when solving 'bumped' changeset.
   146 - compatibility with Mercurial 4.0
    76  - split: avoid crash on empty commit (issue5191),
   147 - Fix erroneous manifest computation when solving 'bumped' changeset.
    77  - next: improve locking to avoid issue with working copy parent (issue5244)
   148 - split: avoid crash on empty commit (issue5191),
    78  - prev: improve locking to avoid issue with working copy parent (issue5244)
   149 - next: improve locking to avoid issue with working copy parent (issue5244)
    79  - evolve: fix abort suggestion to include '.' in 'hg update -C .'
   150 - prev: improve locking to avoid issue with working copy parent (issue5244)
       
   151 - evolve: fix abort suggestion to include '.' in 'hg update -C .'
    80 
   152 
    81 5.4.1 -- 2016-08-01
   153 5.4.1 -- 2016-08-01
       
   154 -------------------
    82 
   155 
    83  - compat with Mercurial 3.9
   156  - compat with Mercurial 3.9
    84 
   157 
    85 5.4.0 -- 2016-05-06
   158 5.4.0 -- 2016-05-06
       
   159 -------------------
    86 
   160 
    87 - Some collaboration with the topic experimental extensions,
   161 - Some collaboration with the topic experimental extensions,
    88   - hg evolve --all with consider all troubles in your current topic,
   162   - hg evolve --all with consider all troubles in your current topic,
    89   - preserve 'topic' during evolve,
   163   - preserve 'topic' during evolve,
    90   - 'next' and 'prev' restrict themself to the current topic by default,
   164   - 'next' and 'prev' restrict themself to the current topic by default,
    91 - remove the dangerous 'kill' alias for 'prune' (because 'hg kill -1' without
   165 - remove the dangerous 'kill' alias for 'prune' (because 'hg kill -1' without
    92 the leading 'hg' will give you an hardtime)
   166   the leading 'hg' will give you an hardtime)
    93 - during 'hg evolve' skip unsupported merge instead of aborting
   167 - during 'hg evolve' skip unsupported merge instead of aborting
    94 - various documentation fix and update
   168 - various documentation fix and update
    95 - hg summary now suggest 'hg evolve --continue when appropriate`
   169 - hg summary now suggest 'hg evolve --continue when appropriate`
    96 - compatibility with Mercurial 3.8 'hgext' namespace package.
   170 - compatibility with Mercurial 3.8 'hgext' namespace package.
    97 - small improvement to the `hg split` instruction
   171 - small improvement to the `hg split` instruction
    98 - add a 'metaedit' command to rewrite changeset meta data.
   172 - add a 'metaedit' command to rewrite changeset meta data.
    99 
   173 
   100 5.3.0 -- 2016-02-11
   174 5.3.0 -- 2016-02-11
       
   175 -------------------
   101 
   176 
   102 - split: add a new command to split changesets,
   177 - split: add a new command to split changesets,
   103 - tests: drop our copy of 'run-tests.py' use core one instead,
   178 - tests: drop our copy of 'run-tests.py' use core one instead,
   104 - bookmark: do all bookmark movement within a transaction.
   179 - bookmark: do all bookmark movement within a transaction.
   105 - evolve: compatibility with Mercurial 3.7
   180 - evolve: compatibility with Mercurial 3.7
   111           (issue4950) (hg-3.5+ only)
   186           (issue4950) (hg-3.5+ only)
   112 - no longer lock the repository for `hg parents` (issue4895)
   187 - no longer lock the repository for `hg parents` (issue4895)
   113 - updated help for the `evolve` command
   188 - updated help for the `evolve` command
   114 
   189 
   115 5.2.1 -- 2015-11-02
   190 5.2.1 -- 2015-11-02
       
   191 -------------------
   116 
   192 
   117 - add compatibility with Mercurial 3.6
   193 - add compatibility with Mercurial 3.6
   118 - prune: fixed possible issue with lock and bookmark
   194 - prune: fixed possible issue with lock and bookmark
   119 - next/prev: fixed possible issue with lock and bookmark
   195 - next/prev: fixed possible issue with lock and bookmark
   120 - add some progress data during changesets discovery
   196 - add some progress data during changesets discovery
   121 - take advantage of dirstate/transaction collaboration
   197 - take advantage of dirstate/transaction collaboration
   122 
   198 
   123 5.2.0 -- 2015-06-25
   199 5.2.0 -- 2015-06-25
       
   200 -------------------
   124 
   201 
   125 - evolve: gain a --rev option to control what revisions to evolve (issue4391)
   202 - evolve: gain a --rev option to control what revisions to evolve (issue4391)
   126 - evolve: revision are processed in the order they stack on destination
   203 - evolve: revision are processed in the order they stack on destination
   127 - evolve: properly skip unstable revision with non-evolved unstable parent
   204 - evolve: properly skip unstable revision with non-evolved unstable parent
   128 - evolve: gain --unstable --divergent --bumped flag to select the trouble
   205 - evolve: gain --unstable --divergent --bumped flag to select the trouble
   138 - next/prev: requires `--merge` to move with uncommitted changes
   215 - next/prev: requires `--merge` to move with uncommitted changes
   139 - next: significantly reword error messages
   216 - next: significantly reword error messages
   140 - next: add a --evolve flag to evolve aspiring children when on a head
   217 - next: add a --evolve flag to evolve aspiring children when on a head
   141 
   218 
   142 5.1.5 -- 2015-06-23
   219 5.1.5 -- 2015-06-23
       
   220 -------------------
   143 
   221 
   144 - minor documentation cleanup
   222 - minor documentation cleanup
   145 - support -i option for `hg amend` if commit supports it (3.4)
   223 - support -i option for `hg amend` if commit supports it (3.4)
   146 - fix the `debugrecordpruneparents` utility
   224 - fix the `debugrecordpruneparents` utility
   147 - fix some possible crash during command abort (release nonexistent transaction)
   225 - fix some possible crash during command abort (release nonexistent transaction)
   152 - significant performance improvement for all revsets.
   230 - significant performance improvement for all revsets.
   153 - provide a hint of how to update to the successor of an obsolete working copy
   231 - provide a hint of how to update to the successor of an obsolete working copy
   154   parent.
   232   parent.
   155 
   233 
   156 5.1.4 -- 2015-04-23
   234 5.1.4 -- 2015-04-23
       
   235 -------------------
   157 
   236 
   158 - significant documentation update
   237 - significant documentation update
   159 - fix issue4616: pulling with bundle2 would crash if common marker when
   238 - fix issue4616: pulling with bundle2 would crash if common marker when
   160   discovered on non-served changesets.
   239   discovered on non-served changesets.
   161 - fix the debugobsrelsethashtree command
   240 - fix the debugobsrelsethashtree command
   162 
   241 
   163 5.1.3 -- 2015-04-20
   242 5.1.3 -- 2015-04-20
       
   243 -------------------
   164 
   244 
   165 - discovery: fix misbehaving discovery across python version
   245 - discovery: fix misbehaving discovery across python version
   166 - pull: properly install the bundle2 par generator
   246 - pull: properly install the bundle2 par generator
   167   (avoid sending all markers for each pull)
   247   (avoid sending all markers for each pull)
   168 - commit: avoid potential deadlock (acquires wlock before lock)
   248 - commit: avoid potential deadlock (acquires wlock before lock)
   169 - graft: avoid potential deadlock (acquires wlock before lock)
   249 - graft: avoid potential deadlock (acquires wlock before lock)
   170 
   250 
   171 5.1.2 -- 2015-04-01
   251 5.1.2 -- 2015-04-01
       
   252 -------------------
   172 
   253 
   173 - evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
   254 - evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
   174 
   255 
   175 5.1.1 -- 2015-03-05
   256 5.1.1 -- 2015-03-05
       
   257 -------------------
   176 
   258 
   177 - debugobsconvert: fix invalid markers during conversion
   259 - debugobsconvert: fix invalid markers during conversion
   178 - discovery: cache some of the obs hash computation to improve performance (issue4518)
   260 - discovery: cache some of the obs hash computation to improve performance (issue4518)
   179 - revset: fix some crash with (issue4515)
   261 - revset: fix some crash with (issue4515)
   180 
   262 
   181 5.1 -- 2015-01-30
   263 5.1 -- 2015-01-30
       
   264 -------------------
   182 
   265 
   183 - evolve: explicitly disable bookmark on evolve (issue4432)
   266 - evolve: explicitly disable bookmark on evolve (issue4432)
   184 - evolve: don't abort Mercurial on version mismatch
   267 - evolve: don't abort Mercurial on version mismatch
   185 - compatibility with mercurial 3.3
   268 - compatibility with mercurial 3.3
   186 
   269 
   187 5.0.2 -- 2014-12-14
   270 5.0.2 -- 2014-12-14
       
   271 -------------------
   188 
   272 
   189 - evolve: remove dependency to the rebase extension
   273 - evolve: remove dependency to the rebase extension
   190 
   274 
   191 5.0.1 -- 2014-11-25
   275 5.0.1 -- 2014-11-25
       
   276 -------------------
   192 
   277 
   193 - amend: fix --logfile argument
   278 - amend: fix --logfile argument
   194 - evolve: preserve branch change when evolving
   279 - evolve: preserve branch change when evolving
   195 - evolve: fix potential crash while solving `bumped` changesets.
   280 - evolve: fix potential crash while solving `bumped` changesets.
   196 - uncommit: abort when rev specifies the current changeset
   281 - uncommit: abort when rev specifies the current changeset
   197 - evolve: various message improvement
   282 - evolve: various message improvement
   198 - evolve: fix selection of changeset to evolve from the middle of a stack (issue4434)
   283 - evolve: fix selection of changeset to evolve from the middle of a stack (issue4434)
   199 - evolve: make next/prev only move bookmarks optionally
   284 - evolve: make next/prev only move bookmarks optionally
   200 - evolve: tell user which "base of divergent changeset" is not found
   285 - evolve: tell user which "base of divergent changeset" is not found
   201 
   286 
   202 
       
   203 
       
   204 5.0.0 -- 2014-10-22
   287 5.0.0 -- 2014-10-22
       
   288 -------------------
   205 
   289 
   206 - drop compat with Mercurial pre 3.2
   290 - drop compat with Mercurial pre 3.2
   207 - uncommit: add a --rev argument
   291 - uncommit: add a --rev argument
   208 - evolve: add a `working directory now at xxxxxxxxxx` message
   292 - evolve: add a `working directory now at xxxxxxxxxx` message
   209 - evolve: automatically translate obsolete hashes when evolving
   293 - evolve: automatically translate obsolete hashes when evolving
   215   changesets pruned.
   299   changesets pruned.
   216 - pull: use discovery to pull less obsmarkers through bundle2
   300 - pull: use discovery to pull less obsmarkers through bundle2
   217 
   301 
   218 
   302 
   219 4.1.0 -- 2014-08-08
   303 4.1.0 -- 2014-08-08
       
   304 -------------------
   220 
   305 
   221 - amend: add -D/--current-date option
   306 - amend: add -D/--current-date option
   222 - amend: add -U/--current-user option
   307 - amend: add -U/--current-user option
   223 - evolve: add a --tool option
   308 - evolve: add a --tool option
   224 - evolve: add a --confirm option
   309 - evolve: add a --confirm option
   228   (when using hg >= 3.1 and bundle2-exp is enabled)
   313   (when using hg >= 3.1 and bundle2-exp is enabled)
   229 - hide message about the obsolescence marker exchange behind a
   314 - hide message about the obsolescence marker exchange behind a
   230   `experimental.verbose-obsolescence-exchange` variable (default to False).
   315   `experimental.verbose-obsolescence-exchange` variable (default to False).
   231 
   316 
   232 4.0.1 -- 2014-08-08
   317 4.0.1 -- 2014-08-08
       
   318 -------------------
   233 
   319 
   234 - createmarkers() accept an iterable (for compat with other extension)
   320 - createmarkers() accept an iterable (for compat with other extension)
   235 
   321 
   236 4.0.0 -- 2014-06-03
   322 4.0.0 -- 2014-06-03
       
   323 -------------------
   237 
   324 
   238 - require Mercurial version 3.0.1 or above
   325 - require Mercurial version 3.0.1 or above
   239 - some compatibility fixes with future 3.1.0
   326 - some compatibility fixes with future 3.1.0
   240 - deprecated `gup` and `gdown` in favor of prev and next
   327 - deprecated `gup` and `gdown` in favor of prev and next
   241 - record parent of pruned parent at prune time
   328 - record parent of pruned parent at prune time
   245 - improvement to obsolescence marker exchange:
   332 - improvement to obsolescence marker exchange:
   246   - added progress when pushing obsmarkers
   333   - added progress when pushing obsmarkers
   247   - added multiple output during obsolescence markers exchange
   334   - added multiple output during obsolescence markers exchange
   248   - only push markers relevant to pushed subset
   335   - only push markers relevant to pushed subset
   249   - add a new experimental way to exchange marker (when server support):
   336   - add a new experimental way to exchange marker (when server support):
       
   337 
   250     - added progress when pulling obsmarkers
   338     - added progress when pulling obsmarkers
   251     - only pull markers relevant to pulled subset
   339     - only pull markers relevant to pulled subset
   252     - avoid exchanging common markers in some case
   340     - avoid exchanging common markers in some case
   253     - use bundle2 as transport when available.
   341     - use bundle2 as transport when available.
       
   342 
   254  - add a hook related to the new commands
   343  - add a hook related to the new commands
   255 
   344 
   256 3.3.2 -- 2014-05-14
   345 3.3.2 -- 2014-05-14
       
   346 -------------------
   257 
   347 
   258 - fix a bug where evolve were creating changeset with 2 parents on windows
   348 - fix a bug where evolve were creating changeset with 2 parents on windows
   259   (fix issues #16, #35 and #42)
   349   (fix issues #16, #35 and #42)
   260 - adds a --obsolete flag to import (requires Mercurial 3.0)
   350 - adds a --obsolete flag to import (requires Mercurial 3.0)
   261 - prune: update to successor rather than parent when pruning '.' with -s
   351 - prune: update to successor rather than parent when pruning '.' with -s
   262 - fold: add missing --message and --logfile option
   352 - fold: add missing --message and --logfile option
   263 - fold: add squash as an alias
   353 - fold: add squash as an alias
   264 
   354 
   265 3.3.1 -- 2014-04-23
   355 3.3.1 -- 2014-04-23
       
   356 -------------------
   266 
   357 
   267 - various language fix
   358 - various language fix
   268 - active bookmark now move when using prev/next (#37)
   359 - active bookmark now move when using prev/next (#37)
   269 - fix some preservation of rename information on evolve (#33)
   360 - fix some preservation of rename information on evolve (#33)
   270 - abort when evolve tries to move a node on top of itself (will helps on the #35 front)
   361 - abort when evolve tries to move a node on top of itself (will helps on the #35 front)
   271 - fold: enable --date and --user options
   362 - fold: enable --date and --user options
   272 
   363 
   273 3.3.0 -- 2014-03-04
   364 3.3.0 -- 2014-03-04
       
   365 -------------------
   274 
   366 
   275 - raise Mercurial's minimal requirement to 2.7
   367 - raise Mercurial's minimal requirement to 2.7
   276 - drop `latercomer` and `conflicting` compatibility. Those old alias are
   368 - drop `latercomer` and `conflicting` compatibility. Those old alias are
   277   deprecated for a long time now.
   369   deprecated for a long time now.
   278 - add verbose hint about how to handle corner case by hand.
   370 - add verbose hint about how to handle corner case by hand.
   281   using it anymore. It not compatible with coming Mercurial version 2.9.
   373   using it anymore. It not compatible with coming Mercurial version 2.9.
   282 - add progress indicator for long evolve command
   374 - add progress indicator for long evolve command
   283 - report troubles creation from `hg import`
   375 - report troubles creation from `hg import`
   284 
   376 
   285 3.2.0 -- 2013-11-15
   377 3.2.0 -- 2013-11-15
       
   378 -------------------
   286 
   379 
   287 - conform to the Mercurial custom of lowercase messages
   380 - conform to the Mercurial custom of lowercase messages
   288 - added a small extension to experiment with obsolescence marker push
   381 - added a small extension to experiment with obsolescence marker push
   289 - amend: drop the deprecated note option
   382 - amend: drop the deprecated note option
   290 - amend: use core mechanism for amend (fix multiple bugs)
   383 - amend: use core mechanism for amend (fix multiple bugs)
   294 - gdown and gup commands: add next and previous alias, respectively
   387 - gdown and gup commands: add next and previous alias, respectively
   295 - make grab aliases compatible with Mercurial 2.8
   388 - make grab aliases compatible with Mercurial 2.8
   296 - Tested with 2.6, 2.7 and 2.8
   389 - Tested with 2.6, 2.7 and 2.8
   297 
   390 
   298 3.1.0 -- 2013-02-11
   391 3.1.0 -- 2013-02-11
       
   392 -------------------
   299 
   393 
   300 - amend: drop deprecated --change option for amend
   394 - amend: drop deprecated --change option for amend
   301 - alias: add a grab alias to be used instead of graft -O
   395 - alias: add a grab alias to be used instead of graft -O
   302 - touch: add a --duplicate option to *not* obsolete the old version
   396 - touch: add a --duplicate option to *not* obsolete the old version
   303 - touch: fix touching multiple revision at the same time
   397 - touch: fix touching multiple revision at the same time
   305 - prune: various minor improvements
   399 - prune: various minor improvements
   306 - prune: add option to prune a specific bookmark
   400 - prune: add option to prune a specific bookmark
   307 - prune: add -u and -d option to control metadata
   401 - prune: add -u and -d option to control metadata
   308 
   402 
   309 3.0.0 -- 2013-02-02
   403 3.0.0 -- 2013-02-02
       
   404 -------------------
   310 
   405 
   311 - compatibility with 2.5
   406 - compatibility with 2.5
   312 
   407 
   313 2.2.0 --
   408 2.2.0 --
       
   409 -------------------
   314 
   410 
   315 - make evolve smarter at picking next troubled to solved without --any
   411 - make evolve smarter at picking next troubled to solved without --any
   316 
   412 
   317 2.1.0 -- 2012-12-03
   413 2.1.0 -- 2012-12-03
       
   414 -------------------
   318 
   415 
   319 - qsync fixes
   416 - qsync fixes
   320 - have qfold ask for commit message
   417 - have qfold ask for commit message
   321 
   418 
   322 2.0.0 -- 2012-10-26
   419 2.0.0 -- 2012-10-26
       
   420 -------------------
   323 
   421 
   324 - compat with mercurial 2.4
   422 - compat with mercurial 2.4
   325 
   423 
   326 1.1.0 -- 2012-10-26
   424 1.1.0 -- 2012-10-26
       
   425 -------------------
   327 
   426 
   328 - fix troubles creation reporting from rebase
   427 - fix troubles creation reporting from rebase
   329 - rename latecomer to bumped
   428 - rename latecomer to bumped
   330 - renamed conflicting to divergent
   429 - renamed conflicting to divergent
   331 - smarter divergent handling
   430 - smarter divergent handling
   332 
   431 
   333 1.0.2 -- 2012-09-19
   432 1.0.2 -- 2012-09-19
       
   433 -------------------
   334 
   434 
   335 - fix hg fold bug
   435 - fix hg fold bug
   336 - fix hg pull --rebase
   436 - fix hg pull --rebase
   337 - fix detection of conflict with external tools
   437 - fix detection of conflict with external tools
   338 - adapt to core movement (caches and --amend)
   438 - adapt to core movement (caches and --amend)
   339 
   439 
   340 1.0.1 -- 2012-08-31
   440 1.0.1 -- 2012-08-31
       
   441 -------------------
   341 
   442 
   342 - documentation improvement
   443 - documentation improvement
   343 - fix a performance bug with hgweb
   444 - fix a performance bug with hgweb
   344 
   445 
   345 1.0 -- 2012-08-29
   446 1.0 -- 2012-08-29
       
   447 -------------------
   346 
   448 
   347 - Align with Mercurial version 2.3 (drop 2.2 support).
   449 - Align with Mercurial version 2.3 (drop 2.2 support).
   348 - stabilize handle killed parent
   450 - stabilize handle killed parent
   349 - stabilize handle late comer
   451 - stabilize handle late comer
   350 - stabilize handle conflicting
   452 - stabilize handle conflicting
   361   extinct() when that happen.
   463   extinct() when that happen.
   362 - amend now cleanly abort when --change switch is misused
   464 - amend now cleanly abort when --change switch is misused
   363 
   465 
   364 
   466 
   365 0.7 -- 2012-08-06
   467 0.7 -- 2012-08-06
       
   468 -------------------
   366 
   469 
   367 - hook: work around insanely huge value in obsolete pushkey call
   470 - hook: work around insanely huge value in obsolete pushkey call
   368 - pushkey: properly handle abort during obsolete markers push
   471 - pushkey: properly handle abort during obsolete markers push
   369 - amend: wrap the whole process in a single transaction.
   472 - amend: wrap the whole process in a single transaction.
   370 - evolve: tweak and add EOL to kill warning
   473 - evolve: tweak and add EOL to kill warning
   372 - obsolete/evolve: fix grammar in prerequisite messages
   475 - obsolete/evolve: fix grammar in prerequisite messages
   373 - evolve: avoid duplication in graft wrapper
   476 - evolve: avoid duplication in graft wrapper
   374 - evolve: graft --continue is optional, test
   477 - evolve: graft --continue is optional, test
   375 
   478 
   376 0.6 -- 2012-07-31
   479 0.6 -- 2012-07-31
       
   480 -------------------
   377 
   481 
   378 - obsolete: change warning output to match mercurial core on
   482 - obsolete: change warning output to match mercurial core on
   379 - qsync: ignore nonexistent nodes
   483 - qsync: ignore nonexistent nodes
   380 - make compat server both compatible with "dump" and "dump%i" version
   484 - make compat server both compatible with "dump" and "dump%i" version
   381 
   485 
   382 0.5 -- 2012-07-16
   486 0.5 -- 2012-07-16
       
   487 -------------------
   383 
   488 
   384 - obsolete: Detect conflicting changeset!
   489 - obsolete: Detect conflicting changeset!
   385 - obsolete: adapt to core: marker are written in transaction now
   490 - obsolete: adapt to core: marker are written in transaction now
   386 - evolve: add the solve alias to obsolete
   491 - evolve: add the solve alias to obsolete
   387 - doc: big update of terms and summary of the concept
   492 - doc: big update of terms and summary of the concept
   388 - evolve: switch the official name for "kill" to prune
   493 - evolve: switch the official name for "kill" to prune
   389 
   494 
   390 
   495 
   391 0.4.1 -- 2012-07-10
   496 0.4.1 -- 2012-07-10
       
   497 -------------------
   392 
   498 
   393 - [convert] properly exclude null successors from conversion
   499 - [convert] properly exclude null successors from conversion
   394 - Ignore buggy marker in newerversion
   500 - Ignore buggy marker in newerversion
   395 
   501 
   396 
   502 
   397 0.4.0 -- 2012-07-06
   503 0.4.0 -- 2012-07-06
       
   504 -------------------
   398 
   505 
   399 - obsolete: public changeset are no longer latecomer.
   506 - obsolete: public changeset are no longer latecomer.
   400 - obsolete: move to official binary format
   507 - obsolete: move to official binary format
   401 - adapt for new mercurial
   508 - adapt for new mercurial
   402 - obsolete: we are not compatible with 2.1 any more
   509 - obsolete: we are not compatible with 2.1 any more
   403 
   510 
   404 0.3.0 -- 2012-06-27
   511 0.3.0 -- 2012-06-27
       
   512 -------------------
   405 
   513 
   406 - obsolete:  Add "latecomer" error detection (stabilize does not handle resolution yet)
   514 - obsolete:  Add "latecomer" error detection (stabilize does not handle resolution yet)
   407 - evolve:    Introduce a new `uncommit` command to remove change from a changeset
   515 - evolve:    Introduce a new `uncommit` command to remove change from a changeset
   408 - rebase:    allow the use of --keep again
   516 - rebase:    allow the use of --keep again
   409 - commit:    --amend option create obsolete marker (but still strip)
   517 - commit:    --amend option create obsolete marker (but still strip)
   413 - evolve:    add `prune` alias to `kill`.
   521 - evolve:    add `prune` alias to `kill`.
   414 - stabilize: clearly state that stabilize does not handle conflict
   522 - stabilize: clearly state that stabilize does not handle conflict
   415 - template:  add an {obsolete} keyword
   523 - template:  add an {obsolete} keyword
   416 
   524 
   417 0.2.0 -- 2012-06-20
   525 0.2.0 -- 2012-06-20
       
   526 -------------------
   418 
   527 
   419 - stabilize: improve choice of the next changeset to stabilize
   528 - stabilize: improve choice of the next changeset to stabilize
   420 - stabilize: improve resolution of several corner case
   529 - stabilize: improve resolution of several corner case
   421 - rebase:    handle removing empty changesets
   530 - rebase:    handle removing empty changesets
   422 - rebase:    handle --collapse
   531 - rebase:    handle --collapse
   423 - evolve:   add `obsolete` alias to `kill`
   532 - evolve:   add `obsolete` alias to `kill`
   424 - evolve:   add `evolve` alias to `stabilize`
   533 - evolve:   add `evolve` alias to `stabilize`
   425 
       
   426