Skip to content
stefanfoulis edited this page Jul 17, 2011 · 5 revisions

Contributing

Claiming Issues

Since github issues does not support assigning an issue to a non collaborator (yet), please just add a comment on the issue to claim it.

Code Guidelines

The code should be pep8 compliant. With the exception that the line width is not limited to 80, but to 120 characters.

The pep8 command can be very helpful:

$ pep8 --ignore=E501 -r --exclude=migrations,tests filer

This runs the checks without the test for line widths under 80 and ignores source files in the migrations and tests folders. This command should not output anything. If it does, it's probably your fault ;-)

Another useful tool is reindent. It fixes whitespace and indentation stuff:

$ reindent -n filer/models/filemodels.py

Workflow

Fork -> Code -> Pull request

django-filer uses the excellent branching model from nvie. It is highly recommended to use the git flow extension that makes working with this branching model very easy.

  • fork django-filer on github
  • clone your fork git clone [email protected]:username/django-filer.git
  • cd django-filer
  • initialize git flow: git flow init (choose all the defaults)
  • git flow feature start my_feature_name creates a new branch called feature/my_feature_name based on develop
  • ...code... ...code... ..commit.. ..commit..
  • git flow feature publish creates a new branch remotely and pushes your changes
  • navigate to the feature branch on github and create a pull request to the develop branch on stefanfoulis/django-filer
  • after reviewing the changes may be merged into develop and then eventually into master for the release.

If the feature branch is long running, it is good practice to merge in the current state of the develop branch into the feature branch sometimes. This keeps the feature branch up to date and reduces the likeliness of merge conflicts once it is merged back into develop.