Mercurial > evolve
annotate README.rst @ 6935:954d7ea5cd67 stable tip
stack: when stack base is obsolete, pick any successor, even if at random
There are situations when s0 is obsolete and we also cannot pick just one
successor for it to use in stack. In such a case, let's pick the "latest"
successor from the first set.
We're assuming that obsutil.successorssets() returns data in the same order (it
should, since it makes sure to sort data internally). Keeping that in mind,
while the successor picked for s0 by this code is not based on any sort of
sophisticated logic, it should nonetheless be the same every time.
This patch is probably not going to completely break anything that was
previously working fine, because the previous behavior was to just abort with
an exception.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 16 Nov 2024 17:01:02 +0400 |
parents | 9c70bdc92cdb |
children |
rev | line source |
---|---|
560
4580ff7157ae
fix readme header
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
556
diff
changeset
|
1 ============================= |
33 | 2 Mutable History For Mercurial |
3 ============================= | |
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 | 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 | 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 | 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§ion=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§ion=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 | 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. |