Difference between revisions of "Contributing"

From PaparazziUAV
Jump to navigation Jump to search
m (→‎Software development: git remote add upstream, and fetch, before checking out a branch from upstream/master)
 
(31 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== How to contribute ==
== How to contribute ==
There are of course lots of ways to contribute to Paparazzi and get involved.
There are lots of ways to contribute to Paparazzi and get involved. Contributions in the form of elaborating on and expanding documentation, wiki pages, tutorials and code fixes are always welcome and encouraged.  


Help is always welcome on all aspects of the project. May this be documentation, wiki, maintenance, electronics or code contributions/fixes.
This page will give you a head start on how you can contribute.


=== Wiki ===
=== Wiki ===
Just create an account and you can start adding information, cleaning it up or just fixing some typo you just noticed :-)


Some information and links on how to edit the wiki can be found at [[Help:Editing]].
If you don't have a Wiki account yet join the [https://gitter.im/paparazzi/discuss Gitter channel] (there is an open chat button in the right lower corner of the page too) and ask and we will Create an account for you. We had to disable normal account creation due to spam attacks.
 
You can then immediately start adding information, cleaning up, or fixing typos. It is a tremendous contribution to the quality of the PaparazziUAV documentation when you do this! Just Do It:
 
[[Image:Just_Do_It.gif|400px]]
 
You do not need a lot of deep technical knowledge to be helpful. If you read something and it is not clear to you, ask for an explanation in the Gitter Chat and then do not forget to add that information to the Wiki.
 
Some information and links on how to edit the wiki can be found at [[Help:Editing|Help with Editing]].


Please be aware of past edits and page histories. Try not to remove this; if you are moving/renaming a page, use the '''move''' tab at the top of a page. This ensures the revision history is moved with the page.
Please be aware of past edits and page histories. Try not to remove this; if you are moving/renaming a page, use the '''move''' tab at the top of a page. This ensures the revision history is moved with the page.


=== Software development ===
=== Software development ===
[[File:AGoodCombinationSTM32ProgressnDebugging.jpg|300px|thumb|Left|Learning Tools]]
We use the distributed version control system [http://git-scm.com/ git]. The [http://github.com/paparazzi/paparazzi/ Papaprazzi master repository is hosted on Github].
We use the distributed version control system [http://git-scm.com/ git]. The [http://github.com/paparazzi/paparazzi/ Papaprazzi master repository is hosted on Github].


Also see the [[Git|Git wiki page]] for more details about setting up Git and cloning the source-code and data repository.
Also see the [[Git|Git wiki page]] for more details about setting up Git and cloning the source-code and data repository.


Please also have a look at the [http://paparazzi.github.com/docs/latest/styleguide.html Coding Style Guide].
Please also have a look at the [http://docs.paparazziuav.org/latest/styleguide.html Coding Style Guide].


Here is the short version if you already know git:
Here is the short version if you already know git:
# Create an account on [http://github.com/ github].
# Create an account on [http://github.com/ github].
# Fork the [http://github.com/paparazzi/paparazzi/ papaprazzi repo] on github. (After logging in press the '''fork''' button).
# Fork the [http://github.com/paparazzi/paparazzi/ paparazzi repository] on github. (After logging in press the '''fork''' button).
# '''git clone git@github.com:<yourname>/paparazzi.git'''
# If you want to clone with SSH: '''git clone git@github.com:<yourname>/paparazzi.git'''<br/>Or with HTTPS: '''git clone <nowiki>https://github.com/<yourname>/paparazzi.git</nowiki>'''<br/>[https://help.github.com/articles/which-remote-url-should-i-use Which remote URL should I use?]
# '''git remote add upstream git@github.com:paparazzi/paparazzi.git'''
# '''git remote add upstream <nowiki>https://github.com/paparazzi/paparazzi.git</nowiki>'''
# '''git fetch upstream'''
# '''git fetch upstream'''
# checkout a new branch based on the development branch (master):<br/>'''git checkout -b upstream/master my_new_feature'''
# checkout a new branch based on the development branch (master):<br/>'''git checkout -b my_new_feature upstream/master'''
# fix/code and commit in logical units
# fix/code and commit in logical units (with a [http://bit.ly/goodcommitmessages good commit message])
# push your feature/bugfix branch
# push your feature/bugfix branch
# Send us a [http://help.github.com/pull-requests/ pull request] on github. (Or send patches to the mailing list).
# Send us a [https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests pull request] on github. (Or send patches to the mailing list).


=== Issue/Feature Tracker ===
=== Defects and Features ===
To report bugs, issues and feature request please use either the mailing list or even better the simple [https://github.com/paparazzi/paparazzi/issues issue tracker on github]
To report a Paparazzi defect or issue. Submit a feature request using the simple [https://github.com/paparazzi/paparazzi/issues issue tracker on github].


=== Continuous Integration Builds ===
=== Continuous Integration Builds ===
We have a [http://paparazzi.gondwana.com.au build server] running some [[Builds/Tests|CI tests]].
There are [[Builds|build servers]] running some [[Builds/Tests|Continuous Integration tests]].


[[Category:Developer_Documentation]]
[[Category:Developer_Documentation]]

Latest revision as of 00:26, 1 August 2020

How to contribute

There are lots of ways to contribute to Paparazzi and get involved. Contributions in the form of elaborating on and expanding documentation, wiki pages, tutorials and code fixes are always welcome and encouraged.

This page will give you a head start on how you can contribute.

Wiki

If you don't have a Wiki account yet join the Gitter channel (there is an open chat button in the right lower corner of the page too) and ask and we will Create an account for you. We had to disable normal account creation due to spam attacks.

You can then immediately start adding information, cleaning up, or fixing typos. It is a tremendous contribution to the quality of the PaparazziUAV documentation when you do this! Just Do It:

Just Do It.gif

You do not need a lot of deep technical knowledge to be helpful. If you read something and it is not clear to you, ask for an explanation in the Gitter Chat and then do not forget to add that information to the Wiki.

Some information and links on how to edit the wiki can be found at Help with Editing.

Please be aware of past edits and page histories. Try not to remove this; if you are moving/renaming a page, use the move tab at the top of a page. This ensures the revision history is moved with the page.

Software development

Learning Tools

We use the distributed version control system git. The Papaprazzi master repository is hosted on Github.

Also see the Git wiki page for more details about setting up Git and cloning the source-code and data repository.

Please also have a look at the Coding Style Guide.

Here is the short version if you already know git:

  1. Create an account on github.
  2. Fork the paparazzi repository on github. (After logging in press the fork button).
  3. If you want to clone with SSH: git clone git@github.com:<yourname>/paparazzi.git
    Or with HTTPS: git clone https://github.com/<yourname>/paparazzi.git
    Which remote URL should I use?
  4. git remote add upstream https://github.com/paparazzi/paparazzi.git
  5. git fetch upstream
  6. checkout a new branch based on the development branch (master):
    git checkout -b my_new_feature upstream/master
  7. fix/code and commit in logical units (with a good commit message)
  8. push your feature/bugfix branch
  9. Send us a pull request on github. (Or send patches to the mailing list).

Defects and Features

To report a Paparazzi defect or issue. Submit a feature request using the simple issue tracker on github.

Continuous Integration Builds

There are build servers running some Continuous Integration tests.