annotate CONTRIBUTE.md @ 1201:67fa43998a91 default tip @

misc: update copyright years
author David Demelier <markand@malikania.fr>
date Thu, 04 Jan 2024 10:39:43 +0100
parents 86c9d58ed3ee
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 IRC Client Daemon CONTRIBUTING GUIDE
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 ====================================
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
4 Read this guide if you want to contribute to irccd. The purpose of this
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
5 document is to describe the steps to submit a patch.
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
6
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 You may submit a patch when:
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
9 - You want to fix a bug / typo,
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
10 - You want to add a new feature,
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
11 - You want to change something.
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 There a lot of steps before submitting a patch. First, be sure to respect the
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 style defined in the STYLE.md file. We never accept patches that do not match
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 the rules.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 Subscribe to the mailing list
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 -----------------------------
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
20 Discussion and patches are sent to the *irccd@malikania.fr* mailing list.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
21 You need to subscribe by dropping a mail to
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
22 *irccd+subscribe@malikania.fr* first.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
23
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
24 Enable patchbomb extension
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
25 --------------------------
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
26
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
27 While this step is optional, it brings the `hg email` command which makes most
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
28 of your submission for you.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
29
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
30 To enable it, add the following into your .hgrc (you may also use the hgrc file
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
31 from the repository in .hg/hgrc).
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
32
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
33 [extensions]
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
34 patchbomb =
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
35
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
36 Then, you need to specify a mail server, if you want to use smtp, you can use
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
37 something like this:
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
38
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
39 [email]
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
40 from = Your Name <youraddress@yourdomain.tld>
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
41 to = irccd@malikania.fr
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
42
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
43 [smtp]
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
44 host = yourdomain.tld
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
45 port = 587
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
46 tls = starttls
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
47 username = your_account
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
48 password = your_password
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
49
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
50 Note: the password is optional, if not set it will be asked each time you run
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
51 the `hg email command`.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
52
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
53 More options are available, see:
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
54
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
55 - `hg help hgrc.email`,
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
56 - `hg help hgrc.smtp`,
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
57 - `hg help patchbomb`
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
58 - `hg help email`
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
59
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
60 ### Note to GMail users
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
61
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
62 By default, your GMail account may use 2-steps authentication which causes
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
63 troubles with the `hg email` command, you must create a specific application
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
64 password.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
65
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
66 1. Go to https://security.google.com/settings/security/apppasswords
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
67 2. Create an application password, it will be auto generated,
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
68 3. Use this password or store it directly in the `smtp.password` option.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
69
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
70 Use the following settings:
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
71
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
72 [smtp]
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
73 host = gmail.com
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
74 port = 587
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
75 tls = starttls
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
76 username = your_account@gmail.com
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
77 password = the_generated_application_password
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 Create your patch
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 -----------------
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
82 Usually, when you create a patch, you should have your own copy of irccd
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
83 in your directory.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
84
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
85 The following steps assumes that you have already cloned the irccd
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
86 repository somewhere.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
87
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
88 Note: the recommended way is to create one unique revision.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
89
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
90 ### Commit messages
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
92 Commit messages are written using the following syntax:
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
93
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
94 topic: short message less than 80 characters
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
95
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
96 Optional additional description if needed.
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
97
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
98 Replace `topic` with one of the following:
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
99
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
100 - **cmake**: for the build system,
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
101 - **doc**: for the documentation,
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
102 - **irccd**: irccd libraries and frontend,
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
103 - **irccdctl**: irccd libraries and frontend.
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
104 - **misc**: for miscellaneous files,
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
105 - **plugin xyz**: plugin named xyz.
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
106 - **release**: release management,
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
107 - **tests**: for the unit tests,
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 ### Quick way
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
110
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 If you plan to create a very small patch that consists of several lines, you can
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 use the following way by disabling the @ bookmark to avoid moving it.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
113
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 $ hg pull # fetch last changesets
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 $ hg up @ # update to the last revision
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 $ hg book -i @ # disable the @ bookmark (optional but recommended)
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 (edit some files)
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 $ hg commit # create a unique revision
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 $ hg email -r . # send a mail about the current revision (interactive)
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
120
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 ### Bookmark way
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
122
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 We use Mercurial bookmarks as our workflow but we do share only @ bookmark
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 except when a long feature is being developed in parallel. Otherwise bookmarks
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 stay locally most of the time.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
126
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 When you start working on a new feature, you **must** always start from the @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 bookmark.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
129
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 You can use this workflow if you plan to create a patch that consists of
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 multiple revisions.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 Example:
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 $ hg pull
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 $ hg up @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 $ hg book feature-xyz
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 (work)
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 $ hg commit
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 (work)
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 $ hg commit
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 $ hg email -r first:last
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 Here, you must specify **first** and **last** as the initial and last revisions
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 respectively. You can check these revisions using `hg log` (also try `hg log -G`
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 or the nice TortoiseHg interface).
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
147
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 Example, I've started to work on an a feature named **feature-xyz**, the log
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 looks like this:
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
150
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 changeset: 22:3fb15d8fc454
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 bookmark: feature-xyz
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 tag: tip
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 user: François Jean <fj@gmail.com>
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 date: Thu Dec 08 16:08:40 2016 +0100
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
156 summary: topic: some other changes
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
157
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 changeset: 21:f27e577c5504
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 user: François Jean <fj@gmail.com>
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 date: Thu Dec 08 16:03:06 2016 +0100
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
161 summary: topic: some changes
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
162
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 changeset: 20:777023816ff9
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 bookmark: @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 user: David Demelier <markand@malikania.fr>
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 date: Thu Dec 08 16:02:26 2016 +0100
787
86c9d58ed3ee misc: update CONTRIBUTE.md
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
167 summary: misc: fix a bug
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
168
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 The two revisions I want to export are 21 and 22, so I use `hg email -r 21:22`,
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 once done, see the section below.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
171
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 Additional topics
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 -----------------
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
174
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 ### Your patch is accepted
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
176
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 The safest choice is to just pull from the central repository and update to the
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 @ bookmark.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
179
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 $ hg pull
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 $ hg up @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
182
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 You can also call `hg rebase` (from rebase extension) to move your revisions on
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 top of upstream. If the patches were incorporated verbatim, they will be safely
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 discarded automatically.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
186
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 $ hg pull
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 $ hg up @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 $ hg rebase -b feature-xyz -d @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 $ hg book -d feature-xyz
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
191
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 If you didn't created a bookmark replace **feature-xyz** with your revision
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 number.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
194
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 Finally, if you prefer to remove the revisions you have created, use `hg strip`
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 like explained in the see section below.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
197
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 ### Your patch is discarded
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
199
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 For some reasons, your patch can not be integrated within the official
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 repository, you can remove the revisions you have commited or keep them.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
202
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 If you want to remove the revisions, you can use the `hg strip` command (from
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
204 the strip extension).
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
205
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
206 Warning: it will **remove** the revisions from history so use with care.
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
207
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 $ hg strip -r 21:22 # using the example above
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 $ hg book -d feature-xyz # delete the bookmark
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
210
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
211 Newer versions of Mercurial support `-B` argument:
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
212
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
213 $ hg strip -B feature-xyz # shortcut
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
214
409
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 You can just go back on the @ bookmark as it's the safest choice.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
216
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 $ hg pull # fetch changesets
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 $ hg up @ # update to @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
219
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 ### How to merge upstream code to continue my patch
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
221
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 Sometimes when you started working on a topic, you may need to pull changes from
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 the repository. The idea is to pull the changes and rebase your work on top of
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 it.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
225
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 You must run these commands while your bookmark is active
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
227
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 $ hg up feature-xyz
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 $ hg pull -B @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 $ hg rebase -b feature-xyz -d @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
231
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 ### I forgot to create a bookmark and accidentally moved the @ bookmark
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
233
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 If you forgot to create a custom bookmark or disable @ before committing, you
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 may have moved the @ bookmark in your repository. The `hg pull` command can
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
236 recover it.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
237
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 First, we create it now to point at your local revisions (optional).
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
239
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 $ hg book feature-xyz
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
241
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 Then, put it where it should be.
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
243
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 $ hg pull -B @
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
245
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 Now @ will be placed to the same revision as the central repository. If some
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 changesets have been pulled, you may look at the previous topic to rebase your
c363c09e1f44 Misc: add CONTRIBUTE.md and STYLE.md
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 work on top of it.