123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- Short Version:
-
- - Make small logical changes.
- - Provide a meaningful commit message.
-
- - Review and follow the Eclipse Due Diligence Process
-
- http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php
- http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf
-
- - Review and follow the current guidelines:
-
- http://wiki.eclipse.org/EGit/Contributor_Guide
-
-
- Long Version:
-
- I wanted a file describing how to submit patches for JGit,
- so I started with the one found in the core Git distribution
- (Documentation/SubmittingPatches), which itself was based on the
- patch submission guidelines for the Linux kernel.
-
- However there are quite a few differences, so please review and
- familiarize yourself with the following relevant bits:
-
-
- (1) Make separate commits for logically separate changes.
-
- Unless your patch is really trivial, you should not be sending
- out a patch that was generated between your working tree and your
- commit head. Instead, always make a commit with complete commit
- message and generate a series of patches from your repository.
- It is a good discipline.
-
- Describe the technical detail of the change(s).
-
- If your description starts to get too long, that's a sign that you
- probably need to split up your commit to finer grained pieces.
-
- I am very picky about formatting. Make sure your final version
- of every file was formatted using the Eclipse code formatter
- using the project specific settings (Properties->Java Code
- Style->Formatter->"Java Conventions [built-in]").
-
-
- (2) Generate your patch using git tools out of your commits.
-
- git based diff tools (git, and StGIT included) generate unidiff,
- which is the only acceptable format.
-
- You do not have to be afraid to use -M option to "git diff" or "git
- format-patch", if your patch involves file renames. The receiving
- end can handle them just fine.
-
- Please make sure your patch does not include any extra files which
- do not belong in a patch submission. Make sure to review your
- patch after generating it, to ensure accuracy. Before sending out,
- please make sure it cleanly applies to the "master" branch head.
-
-
- (3) Check the license.
-
- JGit is licensed under the Eclipse Distribution License (EDL,
- http://www.eclipse.org/org/documents/edl-v10.html), which is a
- renamed version of the new style/3-clause BSD license.
-
- Under this licensing model *every* file within the project
- *must* list which license covers it in the header of the file.
- Any new contributions to an existing file *must* be submitted under
- the current license of that file. Any new files *must* clearly
- indicate which license they are provided under in the file header.
-
- Please verify that you are legally allowed and willing to submit your
- changes under the license covering each file *prior* to submitting
- your patch. It is virtually impossible to remove a patch once it
- has been applied and pushed out.
-
-
- (4) Review the Eclipse Due Diligence Process.
-
- http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf
-
-
- (5) Sending your patches.
-
- "git format-patch" command follows the best current practice to
- format a commit as a reviewable text message.
-
- At the beginning of the patch should come your commit message,
- a line that consists of three dashes, followed by the diffstat
- information and the patch itself. If you are forwarding a patch
- from somebody else, optionally, at the beginning of the e-mail
- message just before the commit message starts, you can put a "From:
- " line to name that person.
-
- You often want to add additional explanation about the patch,
- other than the commit message itself. Place such "cover letter"
- material between the three dash lines and the diffstat, or please
- place it in the bug description itself.
-
- Open a new bug on the Eclipse bug tracker on the EGit project:
-
- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit
-
- Attach the mailbox file(s) created by "git format-patch" to the bug.
|