annotate README.rst @ 5402:7bb9ed141238

tests: use hg debugcapabilities instead of curl
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 11 Jul 2020 10:01:54 +0800
parents b3e178f3e31f
children 15b7c822cc46
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
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
6 =================
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
7
2094
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
8 This package supplies the ``evolve`` extension for Mercurial,
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
4877
77e5c733200a py3: remove smartquotes from README
Ian Moody <moz-ian@perix.co.uk>
parents: 4818
diff changeset
17 * enables the "changeset evolution" feature of Mercurial core,
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
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
19 * provides a set of commands to mutate your history,
2094
e906723ab99f README: rework the intro
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2075
diff changeset
20
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
21 * issues several warning messages when troubles from some mutable appears in
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
22 your repository,
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
23
2102
e243e1d9464c README: timeless typo fixes
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2099
diff changeset
24 * provides an ``hg evolve`` command to deal with such "troubles",
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
25
2102
e243e1d9464c README: timeless typo fixes
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2099
diff changeset
26 * improves performance of obsolescence marker exchanges and discovery during
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
27 push and pull.
293
232990fbecb5 [doc] update readme
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 267
diff changeset
28
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
29 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
30 -------------
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
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 We recommend reading the documentation first. An online version is
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 available here:
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
34
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
35 https://www.mercurial-scm.org/doc/evolution/
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 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
38 ==============
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
39
c99e926d465a README: more change to have a pretty rendering on pypi
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2095
diff changeset
40 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
41 ---------
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
42
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
43 You can install the latest evolution version usin pip::
324
ff070b9e22ef readme: explain "instalation process"
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 293
diff changeset
44
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
45 $ pip install --user hg-evolve
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
46
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
47 Then just enable it in you hgrc::
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
48
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
49 $ hg config --edit # adds the two line below:
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
50 [extensions]
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
51 evolve =
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
52
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
53 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
54 -----------
739
dcda64966616 README: polish the language so it reads better
Greg Ward <greg@gerg.ca>
parents: 738
diff changeset
55
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
56 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
57
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
58 $ 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
59 $ cd evolve
2113
fed5369058a4 README: remove mention of make
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2102
diff changeset
60 $ 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
61
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
62 Then just enable it in you hgrc::
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
63
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
64 $ hg config --edit # adds the two line below:
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
65 [extensions]
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
66 evolve =
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
67
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
68 Documentation lives in ``doc/``.
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
69
2114
51ee2c721b32 README: tries to improve the title about server only
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2113
diff changeset
70 Server Only Setup
51ee2c721b32 README: tries to improve the title about server only
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2113
diff changeset
71 =================
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
72
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
73 It is possible to enable a smaller subset of the extensions aimed at server
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
74 serving repository. It skips the additions of the new commands and local UI
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
75 messages that might add performance overheads. To use the server only
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
76 extension, install the package and use::
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
77
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
78 $ hg config --edit # adds the two line below:
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
79 [extensions]
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
80 evolve.serveronly =
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
81
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
82 Extension Purpose
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
83 =================
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
84
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
85 The goal of this extension is to provide an appropriate place for code and
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
86 concept related to changeset evolution to mature. In this extension we allow
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
87 for hackier code, unlocking quick experimentation and faster iterations.
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
88
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
89 In addition, the evolve extensions support a wider set of Mercurial version,
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
90 allowing us to reach a larger user base for feedback. The Evolve extension is
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
91 not tight to the Mercurial release cycle and can release new feature and bug
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
92 fix at a higher rate if necessary.
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
93
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
94 Once a concept is ready enough, its implementation is moved into Mercurial
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
95 core. The maturation period helped us to get a clearer picture of what was
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
96 needed. During the upstreaming process, we can use this clearer picture to
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
97 clean up the code and upgrade it to an appropriate quality for Mercurial core.
2020
143c8e4dc22d topic: merge the topic extension in the evolve repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1824
diff changeset
98
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
99 Python 3 support
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
100 ================
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
101
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
102 Mercurial announced beta support for Python 3 starting with its 5.0 release.
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
103 Since 9.1.0, ``evolve`` has beta support for Python 3.6+.
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
104
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
105 Support will stay in beta while Mercurial's support for Python 3 remains in
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
106 beta and until it is a bit more battle-tested.
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
107
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
108 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
109 =================
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
110
3766
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
111 Discussion happens on the #hg-evolve IRC on freenode_.
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
112
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
113 .. _freenode: https://freenode.net/
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
114
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
115 Bugs are to be reported on the mercurial's bug tracker (component: `evolution`_):
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
116
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
117 .. _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
118
4922
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
119 The recommended way is to create Merge Request on
5138
b8b234123fe6 readme: update heptapod link
Anton Shestakov <av6@dwimlabs.net>
parents: 5116
diff changeset
120 https://foss.heptapod.net/mercurial/evolve. To do so, create an account and
4922
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
121 request access. You'll then be able to create topic based merge request.
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
122
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
123 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
124 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
125 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
126 command like this::
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
127
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
128 $ 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
129
3766
6352dc395ebf evolve: update the readme with more information about contribution
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3071
diff changeset
130
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
131 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
132
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
133 .. _`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
134
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
135 Please don't forget to update and run the tests when you fix a bug or
1526
c2a772ade409 README: update instructions for running tests.
Greg Ward <greg@gerg.ca>
parents: 1519
diff changeset
136 add a feature. To run the tests, you need a working copy of 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
137 say in $HGSRC::
926
14d91c36f88b README: document how to run the tests
Greg Ward <greg@gerg.ca>
parents: 924
diff changeset
138
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
139 $ 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
140 $ python $HGSRC/tests/run-tests.py
1526
c2a772ade409 README: update instructions for running tests.
Greg Ward <greg@gerg.ca>
parents: 1519
diff changeset
141
5195
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
142 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
143 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
144 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
145 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
146 be::
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
147
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
148 # hg <= 5.2 (02802fa87b74)
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
149
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
150 See also tests/test-check-compat-strings.t.
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
151
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
152 Branch policy
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
153 -------------
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
154
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
155 The evolve tests are highly impacted by changes in core. To deal with this, we
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
156 use named branches.
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
157
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
158 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
159 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
160 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
161
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
162 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
163 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
164 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
165
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
166 Test output changes from a changeset in core should add the following line to
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
167 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
168
75e4c451b753 readme: document the tag we use on output change
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3766
diff changeset
169 CORE-TEST-OUTPUT-UPDATE: <CORE-NODE-ID>
4814
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
170
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
171
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
172 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
173 ====================
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
174
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
175 Format source helps smooth out the pain of merging after auto-formatting.
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
176 Follow the instructions for install here:
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
177
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
178 .. _`format-source`: https://bitbucket.org/octobus/format-source
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
179
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
180 Then update both your global and repo config files::
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
181
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
182 $ hg config -l # add the lines below
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
183 [extensions]
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
184 formatsource =
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
185
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
186 [format-source]
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
187 byteify-strings = python3 ~/workspace/octobus/mercurial-devel/contrib/byteify-strings.py --dictiter --treat-as-kwargs kwargs opts commitopts TROUBLES --allow-attr-methods
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
188 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
189 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
190
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
191 Release Checklist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
192 =================
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
193
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
194 * 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
195
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
196 You can use the `contrib/merge-test-compat.sh` to merge with the test
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
197 compatibility branches.
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
198
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
199 * make sure there is no code difference between the compat branches and stable
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
200 (no diff within `hgext3rd/`),
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
201
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
202 * update the `testedwith` variable for all extensions (remove '.dev'):
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
203
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
204 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
205 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
206 - hgext3rd/pullbundle.py
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 * make sure the changelog is up to date,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
209
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
210 * add a date to the changelog entry for the target version,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
211
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
212 * update the `__version__` field of all relevant extensions:
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
213
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
214 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
215 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
216 - hgext3rd/pullbundle.py (if touched)
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
217
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
218 * create a new Debian entry:
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
219
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
220 - 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
221 - debchange --release
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
222
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
223 * 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
224
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
225 - 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
226 - python setup.py sdist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
227
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
228 * tag the commit,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
229
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
230 * push and publish the tag,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
231
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
232 * upload the tarball to PyPI,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
233
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
234 * make an announcement on evolve-testers@mercurial-scm.org (possibly on
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
235 mercurial@mercurial-scm.org too),
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
236
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
237 * bump versions of all extensions and add '.dev' (see existing commits as an
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
238 example):
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 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
241 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
242 - hgext3rd/pullbundle.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
243
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
244 The version we use on the stable branch during development should be
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
245 `x.y.z+1.dev`. The version of the default branch should be `x.y+1.0.dev`.
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
246
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
247 * merge stable into default.