annotate README.rst @ 6931:237f99ee3d64 stable

tests: remove leading spaces in `hg help` output, run only on Mercurial 6.9+ Core decided to remove a lot of leading spaces in docstrings to support Python 3.13, see 51057ab0dffa for details.
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 11 Nov 2024 10:39:57 +0400
parents 9c70bdc92cdb
children
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
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
29 .. _`changeset evolution`: https://wiki.mercurial-scm.org/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
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
51 Note: some distributions have adopted PEP 668 and made using ``pip install
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
52 --user`` more difficult than it should be. One of the cleanest ways around this
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
53 issue is to install both Mercurial and this extension in a separate virtual
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
54 environment. If you don't want to manage the virtual environment manually, you
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
55 can use Pipx.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
56
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
57 Using Pipx
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
58 ----------
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
59
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
60 Its documentation explains that "pipx is made specifically for application
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
61 installation", and the idea is that for every application it can create and
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
62 maintain a separate virtual environment and make all executables available on a
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
63 single path (e.g. ~/.local/bin/ on Linux, check ``pipx ensurepath``).
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
64
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
65 To create a virtual environment for hg and install evolve::
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
66
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
67 $ pipx install mercurial
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
68 $ pipx inject mercurial hg-evolve
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
69 # or pipx runpip mercurial install hg-evolve
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
70
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
71 Note: it's recommended to use ``inject`` command to install evolve, but
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
72 sometimes ``runpip`` could be used. On some setups ``inject`` might require
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
73 specifying the full path to the extension in the configuration file, while
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
74 ``runpip`` might not.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
75
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
76 Using Your Package Manager
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
77 --------------------------
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
78
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
79 Sometimes your distribution's package manager might have the newest (or recent
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
80 enough) version of the extension. For example, both `Debian`_ and `Ubuntu`_
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
81 currently have a package called ``mercurial-evolve``. Similarly, other
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
82 distributions might have it packaged, possibly under a slightly different name.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
83 Try searching your package manager's database or see `this Repology page`_.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
84
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
85 .. _`Debian`: https://packages.debian.org/search?keywords=mercurial-evolve&searchon=names&exact=1&suite=all&section=all
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
86 .. _`Ubuntu`: https://packages.ubuntu.com/search?keywords=mercurial-evolve&searchon=names&exact=1&suite=all&section=all
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
87 .. _`this Repology page`: https://repology.org/project/mercurial-evolve/related
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
88
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
89 From Source
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
90 -----------
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
91
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
92 To obtain a local version from source::
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
93
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
94 $ hg clone https://repo.mercurial-scm.org/evolve
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
95
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
96 There's no need to compile anything or run ``make``.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
97
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
98 This method keeps the extension in its own repo, and you can use it by
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
99 specifying the full path to the ``hgext3rd/evolve/``.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
100
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
101 Alternatively, you can install it::
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
102
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
103 $ cd evolve
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
104 # optionally `hg update <target revision>`
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
105 $ pip install --user .
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
106
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
107 This should avoid the need to specify the full path to the extension.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
108
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
109 Enabling the Extension
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
110 ----------------------
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
111
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
112 After installing the extension, you need to enable it before you can use it.
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
113
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
114 To do that, edit your hgrc::
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
115
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
116 $ 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
117 [extensions]
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
118 evolve =
33
dca86448d736 Add some doc.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
119
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
120 If you didn't install the extension or Mercurial can't find it on one of the
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
121 default paths, you need to specify the full path to ``hgext3rd/evolve/``::
5418
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
122
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
123 [extensions]
bc12eb8f41cb readme: it's possible to use evolve without installing
Anton Shestakov <av6@dwimlabs.net>
parents: 5417
diff changeset
124 evolve = ~/evolve/hgext3rd/evolve
2095
1c6bb9c117fc README: rework install instruction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2094
diff changeset
125
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
126 Similarly, if you want to enable topic extension, do this::
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
127
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
128 $ hg config --edit
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
129 [extensions]
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
130 topic =
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
131 # or
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
132 topic = ~/evolve/hgext3rd/topic
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
133
6091
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
134 Pitfalls
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
135 --------
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
136
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
137 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
138 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
139
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
140 * make sure you gave pip/pipx the correct package name (it's ``hg-evolve``),
6091
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
141
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
142 * make sure evolve is installed for the same version of Python that you use for
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
143 running Mercurial (``hg debuginstall | grep Python``),
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
144
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
145 * try specifying the full path to the ``hgext3rd/evolve/`` directory.
6091
91cbb952676e readme: add potential pitfalls during installation
Anton Shestakov <av6@dwimlabs.net>
parents: 6090
diff changeset
146
4046
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
147 Extension Purpose
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
148 =================
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
149
669b32100eca readme: document the purpose of the evolve extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4042
diff changeset
150 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
151 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
152 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
153
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
154 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
155 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
156 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
157 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
158
5423
ba213f62fd50 readme: improve the extension purpose section
Anton Shestakov <av6@dwimlabs.net>
parents: 5422
diff changeset
159 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
160 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
161 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
162 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
163
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
164 Python 3 Support
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
165 ================
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
166
5420
5a7a5de347b5 readme: update py3 support section
Anton Shestakov <av6@dwimlabs.net>
parents: 5419
diff changeset
167 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
168 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
169
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
170 .. _`support for Python 3`: https://wiki.mercurial-scm.org/Python3
4818
bce578f9012f python3: mention beta Python 3 support in README
Raphaël Gomès <rgomes@octobus.net>
parents: 4814
diff changeset
171
6265
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
172 Python 2 Support
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
173 ================
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
174
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
175 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
176 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
177
8b3cb6cae4a2 readme: add a section for python 2 support as well
Anton Shestakov <av6@dwimlabs.net>
parents: 6092
diff changeset
178 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
179 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
180
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
181 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
182 =================
238
b5d9841defc8 more read me update
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 237
diff changeset
183
6092
92f1a6e7c139 readme: add #mercurial too, since it's relevant
Anton Shestakov <av6@dwimlabs.net>
parents: 6091
diff changeset
184 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
185
5955
2068ff9ad72a readme: move the support channel on libera
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 5600
diff changeset
186 .. _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
187
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
188 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
189 `evolution`_).
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
190
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
191 .. _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
192
5421
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
193 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
194 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
195 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
196
dacbd20b2f72 readme: update contribution guide
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4877
diff changeset
197 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
198 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
199 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
200 command like this::
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
201
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
202 $ 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
203
2099
47017b3086d4 README: more update to prepare for pypi upload
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2097
diff changeset
204 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
205
6840
9c70bdc92cdb docs: update installation instructions due to PEP 668
Anton Shestakov <av6@dwimlabs.net>
parents: 6558
diff changeset
206 .. _`official Mercurial guideline`: https://wiki.mercurial-scm.org/ContributingChanges#Patch_descriptions
1000
8043ae3612e4 readme: mention patchbomb usage and patch description guidelines on wiki
Faheem Mitha <faheem@faheem.info>
parents: 987
diff changeset
207
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
208 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
209 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
210 $HGSRC::
926
14d91c36f88b README: document how to run the tests
Greg Ward <greg@gerg.ca>
parents: 924
diff changeset
211
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
212 $ 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
213 $ python $HGSRC/tests/run-tests.py
1526
c2a772ade409 README: update instructions for running tests.
Greg Ward <greg@gerg.ca>
parents: 1519
diff changeset
214
5195
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
215 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
216 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
217 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
218 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
219 be::
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
220
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
221 # hg <= 5.2 (02802fa87b74)
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
222
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
223 See also tests/test-check-compat-strings.t.
85640f1feced readme: mention compat string format
Anton Shestakov <av6@dwimlabs.net>
parents: 5194
diff changeset
224
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
225 Branch policy
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
226 -------------
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
227
5421
f287f6b082f8 readme: improve wording in the contributing section
Anton Shestakov <av6@dwimlabs.net>
parents: 5420
diff changeset
228 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
229 this, we use named branches.
2537
4a467331ec79 readme: clarify the branch policy
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2535
diff changeset
230
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
231 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
232 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
233 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
234
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
235 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
236 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
237 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
238
5194
f478ac0a818f readme: copywrite the section about branch policy, wrap long lines
Anton Shestakov <av6@dwimlabs.net>
parents: 5138
diff changeset
239 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
240 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
241
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
242 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
243
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
244 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
245 ====================
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
246
5598
d1f6cf85bfec readme: fix syntax of format-source link
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 5195
diff changeset
247 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
248 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
249
5414
15b7c822cc46 readme: update link to format-source
Anton Shestakov <av6@dwimlabs.net>
parents: 5398
diff changeset
250 .. _`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
251
5422
39cd95b6f566 readme: shorter path to byteify-strings.py and not editing per-user config
Anton Shestakov <av6@dwimlabs.net>
parents: 5421
diff changeset
252 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
253
5415
3be5dba88c49 readme: various small fixes to formatting and spelling
Anton Shestakov <av6@dwimlabs.net>
parents: 5414
diff changeset
254 $ 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
255 [extensions]
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
256 formatsource =
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
257
48b30ff742cb python3: use format-source to run byteify-strings in .py files
Raphaël Gomès <rgomes@octobus.net>
parents: 4046
diff changeset
258 [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
259 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
260 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
261 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
262
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
263 Release Checklist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
264 =================
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
265
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
266 * 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
267 branches,
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
268
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
269 * 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
270
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
271 * 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
272 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
273
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
274 * 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
275
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
276 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
277 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
278 - hgext3rd/pullbundle.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
279
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
280 * 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
281
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
282 * 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
283
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
284 * 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
285
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
286 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
287 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
288 - hgext3rd/pullbundle.py (if touched)
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
289
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
290 * 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
291
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
292 - 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
293 - debchange --release
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
294
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
295 * 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
296
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
297 - 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
298 - python setup.py sdist
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
299
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
300 * tag the commit,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
301
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
302 * move ``@`` bookmark to the new tag,
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
303
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
304 * push and publish the tag,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
305
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
306 * upload the tarball to PyPI,
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
307
6435
8a7db813bd07 docs: add building a .deb package to release checklist
Anton Shestakov <av6@dwimlabs.net>
parents: 6407
diff changeset
308 * 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
309
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
310 * 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
311 mercurial@mercurial-scm.org,
5116
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
312
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
313 * 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
314 example):
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
315
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
316 - hgext3rd/evolve/metadata.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
317 - hgext3rd/topic/__init__.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
318 - hgext3rd/pullbundle.py
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
319
6090
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
320 Version bump rules:
66d146b88c45 readme: update release checklist (mostly formatting)
Anton Shestakov <av6@dwimlabs.net>
parents: 5955
diff changeset
321
6407
6b128ae8e2ad docs: let's try to make development versions compatible with PEP-440
Anton Shestakov <av6@dwimlabs.net>
parents: 6265
diff changeset
322 - 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
323 - 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
324
2392fe0e745a packaging: create a release check list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4922
diff changeset
325 * merge stable into default.