annotate README.rst @ 6560:abbba073aa88

topic: check for devel.randomseed existence correctly Judging by the block of code above this patch, we want to check for presence of the same config option as we then add. So in this case, it would be devel.randomseed, and not just devel.random. I couldn't find any mention of devel.random in evolve, topic or core, which makes me think it was just a typo.
author Anton Shestakov <av6@dwimlabs.net>
date Fri, 29 Sep 2023 16:36:32 -0300
parents 282a0467433e
children 9c70bdc92cdb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
560
4580ff7157ae fix readme header
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 556
diff changeset
1 =============================
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
2 Mutable History For Mercurial
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
3 =============================
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
4
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
5 Evolve Extension
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
6 ================
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
7
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
8 This package supplies the evolve extension for Mercurial,
2094
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
9
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
10 **The full implementation of the changeset evolution concept is still in
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
11 progress.** Please subscribe to the `evolve-testers mailing list
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
12 <https://www.mercurial-scm.org/mailman/listinfo/evolve-testers>`_ to stay up to
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
13 date with changes.
2094
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
14
2102
e243e1d9464c README: timeless typo fixes
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2099
diff changeset
15 This extension:
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
16
5416
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
17 * enables the "`changeset evolution`_" feature of core Mercurial,
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
18
5416
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
19 * provides a set of commands to rewrite history in a distributed way,
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
20
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
21 * issues various warning messages when "troubles" from changeset evolution
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
22 appear in your repository,
2094
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
23
5416
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
24 * provides an ``hg evolve`` command to deal with such troubles,
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
25
5416
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
26 * improves performance of obsolescence marker exchange and discovery during
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
27 push and pull.
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
28
5416
e2fb20dd0df7 readme: link to ChangesetEvolution, reword a couple of list items
Anton Shestakov <av6@dwimlabs.net>
parents: 5415
diff changeset
29 .. _`changeset evolution`: https://www.mercurial-scm.org/wiki/ChangesetEvolution
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
30
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
31 Documentation
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
32 -------------
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
33
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
34 We recommend reading the documentation first. An online version is available
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
35 here:
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
36
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
37 https://www.mercurial-scm.org/doc/evolution/
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
38
5417
bf56062dac5e readme: mention docs/ in the documentation section
Anton Shestakov <av6@dwimlabs.net>
parents: 5416
diff changeset
39 Source of the documentation can be found in ``docs/``.
bf56062dac5e readme: mention docs/ in the documentation section
Anton Shestakov <av6@dwimlabs.net>
parents: 5416
diff changeset
40
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
41 How to Install
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
42 ==============
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
43
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
44 Using Pip
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
45 ---------
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
46
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
47 You can install the latest released version using pip::
324
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
48
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
49 $ pip install --user hg-evolve
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
50
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
51 Then enable it in your hgrc::
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
52
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
53 $ hg config --edit # add these two lines:
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
54 [extensions]
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
55 evolve =
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
56
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
57 From Source
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
58 -----------
739
dcda64966616 README: polish the language so it reads better
Greg Ward <greg@gerg.ca>
parents: 738
diff changeset
59
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
60 To install a local version from source::
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
61
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
62 $ hg clone https://www.mercurial-scm.org/repo/evolve/
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
63 $ cd evolve
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
64 # optionally `hg update <target revision>`
2113
fed5369058a4 README: remove mention of make
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2102
diff changeset
65 $ pip install --user .
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
66
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
67 Then enable it in your hgrc::
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
68
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
69 $ hg config --edit # add these two lines:
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
70 [extensions]
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
71 evolve =
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
72
5418
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
73 It's also possible to use evolve without installing it, in which case you will
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
74 need to provide the full path to ``hgext3rd/evolve/``, for example::
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
75
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
76 [extensions]
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
77 evolve = ~/evolve/hgext3rd/evolve
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
78
6091
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
79 Pitfalls
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
80 --------
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
81
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
82 If you get ``"failed to import extension evolve: No module named 'evolve'"``
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
83 error, there are a couple of things to check:
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
84
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
85 * make sure you gave pip the correct package name (it's hg-evolve),
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
86
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
87 * make sure evolve is installed for the same version of Python that you use for
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
88 running Mercurial (``hg debuginstall | grep Python``).
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
89
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
90 Extension Purpose
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
91 =================
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
92
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
93 The goal of this extension is to provide an appropriate place for code and
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
94 concepts related to `changeset evolution`_ to mature. In this extension we
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
95 allow hackier code, unlocking quick experimentation and faster iterations.
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
96
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
97 In addition, evolve extension supports a wide range of Mercurial versions,
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
98 allowing us to reach a larger user base for feedback. The extension is not tied
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
99 to the Mercurial release cycle and can release new features and bug fixes at a
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
100 higher rate if necessary.
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
101
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
102 Once a concept is deemed ready, its implementation is moved into core
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
103 Mercurial. The maturation period helped us to get a clearer picture of what was
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
104 needed. During the upstreaming process, we can use this clearer picture to
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
105 clean up the code and upgrade it to an appropriate quality for core Mercurial.
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
106
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
107 Python 3 Support
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
108 ================
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
109
5420
5a7a5de347b5 readme: update py3 support section
Anton Shestakov <av6@dwimlabs.net>
parents: 5419
diff changeset
110 Mercurial announced official `support for Python 3`_ starting with its 5.2
5a7a5de347b5 readme: update py3 support section
Anton Shestakov <av6@dwimlabs.net>
parents: 5419
diff changeset
111 release. Since 9.3.0, evolve has official support for Python 3.6+.
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
112
5420
5a7a5de347b5 readme: update py3 support section
Anton Shestakov <av6@dwimlabs.net>
parents: 5419
diff changeset
113 .. _`support for Python 3`: https://www.mercurial-scm.org/wiki/Python3
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
114
6265
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
115 Python 2 Support
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
116 ================
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
117
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
118 Python 2 is supported by evolve. However, Mercurial 6.2 release dropped support
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
119 for it, so evolve can work on Python 2 only on earlier versions.
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
120
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
121 Debian packages that are built using Heptapod CI only install files for Python
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
122 3, because they target current Debian stable.
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
123
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
124 How to Contribute
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
125 =================
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
126
6092
92f1a6e7c139 readme: add #mercurial too, since it's relevant
Anton Shestakov <av6@dwimlabs.net>
parents: 6091
diff changeset
127 Discussion happens in #hg-evolve and #mercurial on libera_ IRC network.
3766
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
128
5955
2068ff9ad72a readme: move the support channel on libera
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5600
diff changeset
129 .. _libera: https://libera.chat/
3766
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
130
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
131 Bugs are to be reported on the Mercurial's bug tracker (component:
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
132 `evolution`_).
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
133
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
134 .. _evolution: https://bz.mercurial-scm.org/buglist.cgi?component=evolution&query_format=advanced&resolution=---
1182
15492cea54e9 readme: add a reference to the bugtracker in the contribute section
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1175
diff changeset
135
5421
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
136 The recommended way to submit a patch is to create a Merge Request on
5138
b8b234123fe6 readme: update heptapod link
Anton Shestakov <av6@dwimlabs.net>
parents: 5116
diff changeset
137 https://foss.heptapod.net/mercurial/evolve. To do so, create an account and
5421
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
138 request access. You'll then be able to create a topic-based merge request.
4922
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
139
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
140 Alternatively, you can use the patchbomb extension to send email to `mercurial
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
141 devel <https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel>`_.
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
142 Please make sure to use the evolve-ext flag when doing so. You can use a
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
143 command like this::
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
144
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
145 $ hg email --to mercurial-devel@mercurial-scm.org --flag evolve-ext --rev '<your patches>'
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
146
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
147 For guidelines on the patch description, see the `official Mercurial guideline`_.
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
148
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
149 .. _`official Mercurial guideline`: https://mercurial-scm.org/wiki/ContributingChanges#Patch_descriptions
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
150
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
151 Please don't forget to update and run the tests when you fix a bug or add a
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
152 feature. To run the tests, you need a working copy of Mercurial, say in
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
153 $HGSRC::
926
14d91c36f88b README: document how to run the tests
Greg Ward <greg@gerg.ca>
parents: 924
diff changeset
154
2097
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
155 $ cd tests
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
156 $ python $HGSRC/tests/run-tests.py
1526
c2a772ade409 README: update instructions for running tests.
Greg Ward <greg@gerg.ca>
parents: 1519
diff changeset
157
5195
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
158 When certain blocks of code need to cope with API changes in core Mercurial,
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
159 they should have comments in the ``hg <= x.y (commit hash)`` format. For
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
160 example, if a function needs another code path because of changes introduced in
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
161 02802fa87b74 that was first included in Mercurial 5.3, then the comment should
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
162 be::
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
163
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
164 # hg <= 5.2 (02802fa87b74)
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
165
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
166 See also tests/test-check-compat-strings.t.
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
167
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
168 Branch policy
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
169 -------------
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
170
5421
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
171 The evolve tests are highly impacted by changes in core Mercurial. To deal with
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
172 this, we use named branches.
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
173
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
174 There are two main branches: "stable" and "default". Tests on these branches
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
175 are supposed to pass with the corresponding "default" and "stable" branch from
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
176 core Mercurial. The documentation is built from the tip of stable.
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
177
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
178 In addition, we have compatibility branches to check tests on older versions of
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
179 Mercurial. They are the "mercurial-x.y" branches. They are used to apply
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
180 expected test changes only, no code changes should happen there.
4042
75e4c451b753 readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3766
diff changeset
181
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
182 Test output changes from a changeset in core should add the following line to
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
183 their patch description::
4042
75e4c451b753 readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3766
diff changeset
184
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
185 CORE-TEST-OUTPUT-UPDATE: <changeset hash>
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
186
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
187 Format-source config
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
188 ====================
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
189
5598
d1f6cf85bfec readme: fix syntax of format-source link
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 5195
diff changeset
190 Format-source helps smooth out the pain of merging after auto-formatting.
d1f6cf85bfec readme: fix syntax of format-source link
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 5195
diff changeset
191 Follow the installation instructions at the `format-source`_ repo.
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
192
5414
15b7c822cc46 readme: update link to format-source
Anton Shestakov <av6@dwimlabs.net>
parents: 5398
diff changeset
193 .. _`format-source`: https://foss.heptapod.net/mercurial/format-source
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
194
5422
39cd95b6f566 readme: shorter path to byteify-strings.py and not editing per-user config
Anton Shestakov <av6@dwimlabs.net>
parents: 5421
diff changeset
195 Then update your per-repo config file::
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
196
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
197 $ hg config --local --edit # add these lines:
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
198 [extensions]
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
199 formatsource =
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
200
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
201 [format-source]
5422
39cd95b6f566 readme: shorter path to byteify-strings.py and not editing per-user config
Anton Shestakov <av6@dwimlabs.net>
parents: 5421
diff changeset
202 byteify-strings = python3 ~/hg/contrib/byteify-strings.py --dictiter --treat-as-kwargs kwargs opts commitopts TROUBLES --allow-attr-methods
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
203 byteify-strings:mode.input = file
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
204 byteify-strings:mode.output = pipe
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
205
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
206 Release Checklist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
207 =================
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
208
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
209 * use contrib/merge-test-compat.sh to merge with the test compatibility
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
210 branches,
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
211
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
212 * make sure the tests are happy on all supported versions,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
213
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
214 * make sure there is no code difference between the compatibility branches and
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
215 stable (no diff within hgext3rd/),
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
216
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
217 * update the ``testedwith`` variable for all extensions (remove '.dev0'):
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
218
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
219 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
220 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
221 - hgext3rd/pullbundle.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
222
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
223 * make sure CHANGELOG is up-to-date,
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
224
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
225 * add a date to the CHANGELOG entry for the target version,
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
226
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
227 * update the ``__version__`` field of all relevant extensions:
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
228
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
229 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
230 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
231 - hgext3rd/pullbundle.py (if touched)
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
232
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
233 * create a new Debian changelog entry:
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
234
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
235 - debchange --newversion x.y.z-1 "new upstream release"
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
236 - debchange --release
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
237
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
238 * sanity check install and sdist targets of setup.py:
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
239
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
240 - python setup.py install --home=$(mktemp -d)
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
241 - python setup.py sdist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
242
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
243 * tag the commit,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
244
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
245 * move ``@`` bookmark to the new tag,
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
246
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
247 * push and publish the tag,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
248
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
249 * upload the tarball to PyPI,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
250
6435
8a7db813bd07 docs: add building a .deb package to release checklist
Anton Shestakov <av6@dwimlabs.net>
parents: 6407
diff changeset
251 * build .deb on Heptapod CI for the tagged commit,
8a7db813bd07 docs: add building a .deb package to release checklist
Anton Shestakov <av6@dwimlabs.net>
parents: 6407
diff changeset
252
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
253 * make an announcement on evolve-testers@mercurial-scm.org and
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
254 mercurial@mercurial-scm.org,
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
255
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
256 * bump versions of all extensions and add ``.dev0`` (see existing commits as an
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
257 example):
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
258
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
259 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
260 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
261 - hgext3rd/pullbundle.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
262
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
263 Version bump rules:
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
264
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
265 - stable branch x.y.z+1.dev0
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
266 - default branch x.y+1.0.dev0
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
267
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
268 * merge stable into default.