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' |