Our git repository is at https://github.com/pyinstaller/pyinstaller:
git clone https://github.com/pyinstaller/pyinstaller
- Development is done on the develop branch. Pull-request shall be filed against this branch.
- Releases will reside on the master branch.
Install required testing tools:
pip install -r tests/requirements-tools.txt
Commit as often as you’d like, but squash or otherwise rewrite your commits into logical patches before asking for code review.
git rebase -i
is your friend. Read the»» Detailed Commit Guideline <Guidelines for Commits>
for more information.Reformatting code without functional changes will generally not be accepted (for rational see
2727
).- Write meaningful commit messages.
- The first line shall be a short sentence that can stand alone as a short description of the change, written in the present tense, and prefixed with the
subsystem-name <commit message standard prefixes>
. - The body of the commit message should explain or justify the change. Read the
»» Detailed Commit Message Rules <commit messages>
for more information.
- The first line shall be a short sentence that can stand alone as a short description of the change, written in the present tense, and prefixed with the
- Provide tests that cover your changes and try to run the tests locally first.
- Submit pull-requests against the
develop
branch. Mind adding achangelog entry <changelog entries>
so our users can learn about your change! - For new files mind adding the copyright header, see _ (also mind updating to the current year).
- In response to feedback, squash the new "fix up" commits into the respective commit that is being fixed with an interactive rebase (
git rebase -i
).Push the new, rewritten branch <updating pull-request>
with agit push --force
. (Scary! But github doesn’t play nicely with a safer method.)