README
changeset 2099 47017b3086d4
parent 2097 c99e926d465a
child 2102 e243e1d9464c
equal deleted inserted replaced
2098:fc94c1909c18 2099:47017b3086d4
     6 =================
     6 =================
     7 
     7 
     8 This package supplies the ``evolve`` extension for Mercurial,
     8 This package supplies the ``evolve`` extension for Mercurial,
     9 
     9 
    10 **The full implementation of the changeset evolution concept is still in
    10 **The full implementation of the changeset evolution concept is still in
    11 progress.**  Please subscribe to the `evolve-testers mailing list <https://www.mercurial-scm.org/mailman/listinfo/evolve-testers>`_ to stay up to date with changes.
    11 progress.**  Please subscribe to the `evolve-testers mailing list
       
    12 <https://www.mercurial-scm.org/mailman/listinfo/evolve-testers>`_ to stay up to
       
    13 date with changes.
    12 
    14 
    13 This extensions:
    15 This extensions:
    14 
    16 
    15 * enables the "changeset obsolescence" feature of Mercurial core
    17 * enables the "changeset obsolescence" feature of Mercurial core
    16 
    18 
    17 * provides a set of commands to mutate your history,
    19 * provides a set of commands to mutate your history,
    18 
    20 
    19 * issues several warning messages when troubles from some mutable appears in
    21 * issues several warning messages when troubles from some mutable appears in
    20   your repository,
    22   your repository,
    21 
    23 
    22 * provides a ``hg evolve`` command to deal with such "troubles".  issues.
    24 * provides a ``hg evolve`` command to deal with such "troubles".
       
    25 
       
    26 * improves performance of obsolescence markers exchanges and discovery during
       
    27   push and pull.
    23 
    28 
    24 Documentation
    29 Documentation
    25 -------------
    30 -------------
    26 
    31 
    27 We recommend reading the documentation first. An online version is
    32 We recommend reading the documentation first. An online version is
    60     [extensions]
    65     [extensions]
    61     evolve =
    66     evolve =
    62 
    67 
    63 Documentation lives in ``doc/``.
    68 Documentation lives in ``doc/``.
    64 
    69 
    65 Topic Extension
    70 Server Only Version
    66 ================
    71 ===================
    67 
    72 
    68 This packages also provides the ``topic`` extensions. It implements a new
    73 It is possible to enable a smaller subset of the extensions aimed at server
    69 experimental concept to provide lightweight feature branches for the mutable
    74 serving repository. It skips the additions of the new commands and local UI
    70 parts of the history. The experiments is still at an early stage and have
    75 messages that might add performance overheads. To use the server only
    71 significant usability and performance issues.
    76 extension, install the package and use::
    72 
       
    73 Enable
       
    74 ------
       
    75 
       
    76 The topic extensions is included in the evolve package. See the install instruction for evolve.
       
    77 
       
    78 Then enable it in you configuration::
       
    79 
    77 
    80     $ hg config --edit # adds the two line below:
    78     $ hg config --edit # adds the two line below:
    81     [extensions]
    79     [extensions]
    82     topics =
    80     evolve.serveronly =
    83 
    81 
    84 Documentation
       
    85 -------------
       
    86 
       
    87 * See 'hg help -e topic' for a generic help.
       
    88 * See 'hg help topics' and 'hg help stack' for help on specific commands.
       
    89 * See the 'tests/test-topic-tutorial.t' file for a quick tutorial.
       
    90 
    82 
    91 How to Contribute
    83 How to Contribute
    92 =================
    84 =================
    93 
    85 
    94 Bugs are to be reported on the mercurial's bug tracker (component: evolution):
    86 Bugs are to be reported on the mercurial's bug tracker (component: `evolution`_):
    95 https://bz.mercurial-scm.org/buglist.cgi?component=evolution&query_format=advanced&resolution=---
    87 
       
    88 .. _evolution: https://bz.mercurial-scm.org/buglist.cgi?component=evolution&query_format=advanced&resolution=---
    96 
    89 
    97 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
    98 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
    99 this::
    92 this::
   100 
    93 
   101     $ 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>'
   102 
    95 
   103 See also
    96 For guidelines on the patch description, see the `official Mercurial guideline`_.
   104 https://mercurial-scm.org/wiki/ContributingChanges#Patch_descriptions
    97 
   105 for guidelines on the patch description.
    98 .. _`official Mercurial guideline`: https://mercurial-scm.org/wiki/ContributingChanges#Patch_descriptions
   106 
    99 
   107 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
   108 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,
   109 say in $HGSRC::
   102 say in $HGSRC::
   110 
   103 
   111     $ cd tests
   104     $ cd tests
   112     $ python $HGSRC/tests/run-tests.py
   105     $ python $HGSRC/tests/run-tests.py
   113 
   106 
   114 (evolve's stable and default branches correspond to Mercurial's stable
   107 (evolve's stable and default branches correspond to Mercurial's stable
   115 and default branches. So to test evolve from default, you need
   108 and default branches. So to test evolve from default, you need
   116 Mercurial on default.)
   109 Mercurial on default.), Older version of Mercurial are supportd on their respective ``mercurial-x.y`` branches.
   117 
       
   118 
   110 
   119 Changelog
   111 Changelog
   120 =========
   112 =========
   121 
   113 
   122 6.0.0 -- In progress
   114 6.0.0 -- In progress
   123 --------------------
   115 --------------------
   124 
   116 
   125 - drop compatibility for Mercurial < 3.8,
   117 - drop compatibility for Mercurial < 3.8,
   126 - removed old (unpackaged) pushexperiment extension,
   118 - removed old (unpackaged) pushexperiment extension,
   127 - move all extensions in the official 'hgext3rd' namespace package,
   119 - move all extensions in the official 'hgext3rd' namespace package,
   128 - add the "topic" experimental extensions.
   120 - add the "topic" experimental extensions. See the README.topic file for details
   129 - officially ship 'evolve.serveronly' extensions. That extensions contains
   121 - officially ship 'evolve.serveronly' extensions. That extensions contains
   130   only the part related to exchange and is intended to be used by server.
   122   only the part related to exchange and is intended to be used by server.
   131 
   123 
   132   Using the extension will enable evolution, use 'experimental.evolution=!'
   124   Using the extension will enable evolution, use 'experimental.evolution=!'
   133   to disable obsmarkers echange.  The old '__temporary__.advertiseobsolete'
   125   to disable obsmarkers echange.  The old '__temporary__.advertiseobsolete'