@@ -74,10 +74,9 @@ the feature triggers the new behavior when it should, and to show the
74
74
feature does not trigger when it shouldn't. After any code change, make
75
75
sure that the entire test suite passes.
76
76
77
- If you have an account at GitHub (and you can get one for free to work
78
- on open source projects), you can use their Travis CI integration to
79
- test your changes on Linux, Mac (and hopefully soon Windows). See
80
- GitHub-Travis CI hints section for details.
77
+ Pushing to a fork of https://github.com/git/git will use their CI
78
+ integration to test your changes on Linux, Mac and Windows. See the
79
+ <<GHCI,GitHub CI>> section for details.
81
80
82
81
Do not forget to update the documentation to describe the updated
83
82
behavior and make sure that the resulting documentation set formats
@@ -167,6 +166,85 @@ or, on an older version of Git without support for --pretty=reference:
167
166
git show -s --date=short --pretty='format:%h (%s, %ad)' <commit>
168
167
....
169
168
169
+ [[sign-off]]
170
+ === Certify your work by adding your `Signed-off-by` trailer
171
+
172
+ To improve tracking of who did what, we ask you to certify that you
173
+ wrote the patch or have the right to pass it on under the same license
174
+ as ours, by "signing off" your patch. Without sign-off, we cannot
175
+ accept your patches.
176
+
177
+ If (and only if) you certify the below D-C-O:
178
+
179
+ [[dco]]
180
+ .Developer's Certificate of Origin 1.1
181
+ ____
182
+ By making a contribution to this project, I certify that:
183
+
184
+ a. The contribution was created in whole or in part by me and I
185
+ have the right to submit it under the open source license
186
+ indicated in the file; or
187
+
188
+ b. The contribution is based upon previous work that, to the best
189
+ of my knowledge, is covered under an appropriate open source
190
+ license and I have the right under that license to submit that
191
+ work with modifications, whether created in whole or in part
192
+ by me, under the same open source license (unless I am
193
+ permitted to submit under a different license), as indicated
194
+ in the file; or
195
+
196
+ c. The contribution was provided directly to me by some other
197
+ person who certified (a), (b) or (c) and I have not modified
198
+ it.
199
+
200
+ d. I understand and agree that this project and the contribution
201
+ are public and that a record of the contribution (including all
202
+ personal information I submit with it, including my sign-off) is
203
+ maintained indefinitely and may be redistributed consistent with
204
+ this project or the open source license(s) involved.
205
+ ____
206
+
207
+ you add a "Signed-off-by" trailer to your commit, that looks like
208
+ this:
209
+
210
+ ....
211
+ Signed-off-by: Random J Developer <
[email protected] >
212
+ ....
213
+
214
+ This line can be added by Git if you run the git-commit command with
215
+ the -s option.
216
+
217
+ Notice that you can place your own `Signed-off-by` trailer when
218
+ forwarding somebody else's patch with the above rules for
219
+ D-C-O. Indeed you are encouraged to do so. Do not forget to
220
+ place an in-body "From: " line at the beginning to properly attribute
221
+ the change to its true author (see (2) above).
222
+
223
+ This procedure originally came from the Linux kernel project, so our
224
+ rule is quite similar to theirs, but what exactly it means to sign-off
225
+ your patch differs from project to project, so it may be different
226
+ from that of the project you are accustomed to.
227
+
228
+ [[real-name]]
229
+ Also notice that a real name is used in the `Signed-off-by` trailer. Please
230
+ don't hide your real name.
231
+
232
+ [[commit-trailers]]
233
+ If you like, you can put extra tags at the end:
234
+
235
+ . `Reported-by:` is used to credit someone who found the bug that
236
+ the patch attempts to fix.
237
+ . `Acked-by:` says that the person who is more familiar with the area
238
+ the patch attempts to modify liked the patch.
239
+ . `Reviewed-by:`, unlike the other tags, can only be offered by the
240
+ reviewers themselves when they are completely satisfied with the
241
+ patch after a detailed analysis.
242
+ . `Tested-by:` is used to indicate that the person applied the patch
243
+ and found it to have the desired effect.
244
+
245
+ You can also create your own tag or use one that's in common usage
246
+ such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
247
+
170
248
[[git-tools]]
171
249
=== Generate your patch using Git tools out of your commits.
172
250
@@ -302,85 +380,6 @@ Do not forget to add trailers such as `Acked-by:`, `Reviewed-by:` and
302
380
`Tested-by:` lines as necessary to credit people who helped your
303
381
patch, and "cc:" them when sending such a final version for inclusion.
304
382
305
- [[sign-off]]
306
- === Certify your work by adding your `Signed-off-by` trailer
307
-
308
- To improve tracking of who did what, we ask you to certify that you
309
- wrote the patch or have the right to pass it on under the same license
310
- as ours, by "signing off" your patch. Without sign-off, we cannot
311
- accept your patches.
312
-
313
- If (and only if) you certify the below D-C-O:
314
-
315
- [[dco]]
316
- .Developer's Certificate of Origin 1.1
317
- ____
318
- By making a contribution to this project, I certify that:
319
-
320
- a. The contribution was created in whole or in part by me and I
321
- have the right to submit it under the open source license
322
- indicated in the file; or
323
-
324
- b. The contribution is based upon previous work that, to the best
325
- of my knowledge, is covered under an appropriate open source
326
- license and I have the right under that license to submit that
327
- work with modifications, whether created in whole or in part
328
- by me, under the same open source license (unless I am
329
- permitted to submit under a different license), as indicated
330
- in the file; or
331
-
332
- c. The contribution was provided directly to me by some other
333
- person who certified (a), (b) or (c) and I have not modified
334
- it.
335
-
336
- d. I understand and agree that this project and the contribution
337
- are public and that a record of the contribution (including all
338
- personal information I submit with it, including my sign-off) is
339
- maintained indefinitely and may be redistributed consistent with
340
- this project or the open source license(s) involved.
341
- ____
342
-
343
- you add a "Signed-off-by" trailer to your commit, that looks like
344
- this:
345
-
346
- ....
347
- Signed-off-by: Random J Developer <
[email protected] >
348
- ....
349
-
350
- This line can be added by Git if you run the git-commit command with
351
- the -s option.
352
-
353
- Notice that you can place your own `Signed-off-by` trailer when
354
- forwarding somebody else's patch with the above rules for
355
- D-C-O. Indeed you are encouraged to do so. Do not forget to
356
- place an in-body "From: " line at the beginning to properly attribute
357
- the change to its true author (see (2) above).
358
-
359
- This procedure originally came from the Linux kernel project, so our
360
- rule is quite similar to theirs, but what exactly it means to sign-off
361
- your patch differs from project to project, so it may be different
362
- from that of the project you are accustomed to.
363
-
364
- [[real-name]]
365
- Also notice that a real name is used in the `Signed-off-by` trailer. Please
366
- don't hide your real name.
367
-
368
- [[commit-trailers]]
369
- If you like, you can put extra tags at the end:
370
-
371
- . `Reported-by:` is used to credit someone who found the bug that
372
- the patch attempts to fix.
373
- . `Acked-by:` says that the person who is more familiar with the area
374
- the patch attempts to modify liked the patch.
375
- . `Reviewed-by:`, unlike the other tags, can only be offered by the
376
- reviewers themselves when they are completely satisfied with the
377
- patch after a detailed analysis.
378
- . `Tested-by:` is used to indicate that the person applied the patch
379
- and found it to have the desired effect.
380
-
381
- You can also create your own tag or use one that's in common usage
382
- such as "Thanks-to:", "Based-on-patch-by:", or "Mentored-by:".
383
-
384
383
== Subsystems with dedicated maintainers
385
384
386
385
Some parts of the system have dedicated maintainers with their own
@@ -449,45 +448,31 @@ their trees themselves.
449
448
entitled "What's cooking in git.git" and "What's in git.git" giving
450
449
the status of various proposed changes.
451
450
452
- [[travis]]
453
- == GitHub-Travis CI hints
451
+ == GitHub CI[[GHCI]]]
454
452
455
- With an account at GitHub ( you can get one for free to work on open
456
- source projects), you can use Travis CI to test your changes on Linux,
457
- Mac (and hopefully soon Windows). You can find a successful example
458
- test build here: https://travis-ci.org/git/git/builds/120473209
453
+ With an account at GitHub, you can use GitHub CI to test your changes
454
+ on Linux, Mac and Windows. See
455
+ https://github.com/git/git/actions/workflows/main.yml for examples of
456
+ recent CI runs.
459
457
460
458
Follow these steps for the initial setup:
461
459
462
460
. Fork https://github.com/git/git to your GitHub account.
463
461
You can find detailed instructions how to fork here:
464
462
https://help.github.com/articles/fork-a-repo/
465
463
466
- . Open the Travis CI website: https://travis-ci.org
467
-
468
- . Press the "Sign in with GitHub" button.
469
-
470
- . Grant Travis CI permissions to access your GitHub account.
471
- You can find more information about the required permissions here:
472
- https://docs.travis-ci.com/user/github-oauth-scopes
473
-
474
- . Open your Travis CI profile page: https://travis-ci.org/profile
475
-
476
- . Enable Travis CI builds for your Git fork.
477
-
478
- After the initial setup, Travis CI will run whenever you push new changes
464
+ After the initial setup, CI will run whenever you push new changes
479
465
to your fork of Git on GitHub. You can monitor the test state of all your
480
- branches here: https://travis-ci.org/__ <Your GitHub handle>__ /git/branches
466
+ branches here: https://github.com/ <Your GitHub handle>/git/actions/workflows/main.yml
481
467
482
468
If a branch did not pass all test cases then it is marked with a red
483
- cross. In that case you can click on the failing Travis CI job and
484
- scroll all the way down in the log. Find the line "<-- Click here to see
485
- detailed test output!" and click on the triangle next to the log line
486
- number to expand the detailed test output. Here is such a failing
487
- example: https://travis-ci.org/git/git/jobs/122676187
488
-
489
- Fix the problem and push your fix to your Git fork. This will trigger
490
- a new Travis CI build to ensure all tests pass.
469
+ cross. In that case you can click on the failing job and navigate to
470
+ "ci/run-build-and-tests.sh" and/or "ci/print-test-failures.sh". You
471
+ can also download "Artifacts" which are tarred (or zipped) archives
472
+ with test data relevant for debugging.
473
+
474
+ Then fix the problem and push your fix to your GitHub fork. This will
475
+ trigger a new CI build to ensure all tests pass.
491
476
492
477
[[mua]]
493
478
== MUA specific hints
0 commit comments