Get Involved¶
A first step might be to use and explore PoC and it’s infrastructure in an own project. Moreover, we encurage to read our online help which covers all aspects from quickstart example up to detailed IP core documentation. While using PoC, you might discover issues or missing feature. Please report them as listed below. If you have an interresting project, please send us feedback or get listed on our Who uses PoC? page.
If you are more familiar with PoC and it’s components, you might start asking youself how components internally work. Please read our more advanced topics in the online help, read our inline source code comments or start a discussion on Gitter to ask us directly.
Now you should be very familiar with our work and you might be interessted in developing own components and contribute them to the main repository. See the next section for detailed instructions on the Git fork, commit, push and pull-request flow.
PoC ships some third-party libraries. If you are interessted in getting your library or components shipped as part of PoC or as a third-party components, please contact us.
Report a Bug¶
Please report issues of any kind in our Git provider’s issue tracker. This allows us to categorize issues into groups and assign developers to them. You can track the issue’s state and see how it’s getting solved. All enhancements and feature requests are tracked on GitHub at GitHub Issues.
Feature Request¶
Please report missing features of any kind. We are allways looking forward to provide a full feature set. Please use our Git provider’s issue tracker to report enhancements and feature requests, so you can track the request’s status and implementation. All enhancements and feature requests are tracked on GitHub at GitHub Issues.
Talk to us on Gitter¶
You can chat with us on Gitter in our Giiter Room VLSI-EDA/PoC. You can use Gitter for free with your existing GitHub or Twitter account.
Contributers License Agreement¶
We require all contributers to sign a Contributor License Agreement (CLA). If you don’t know whatfore a CLA is needed and how it prevents legal issues on both sides, read this short blog post. PoC uses the Apache Contributor License Agreement to match the Apache License 2.0.
So to get started, sign the Contributor License Agreement (CLA) at CLAHub.com. You can authenticate yourself with an existing GitHub account.
Contribute to PoC¶
Contibuting source code via Git is very easy. We don’t provide direct write access to our repositories. Git offers the fork and pull-request philosophy, which means: You clone a repository, provide your changes in your own repository and notify us about outstanding changes via a pull-requests. We will then review your proposed changes and integrate them into our repository.
Steps 1 to 5 are done only once for setting up a forked repository.
1. Fork the PoC Repository¶
Git repositories can be cloned on a Git provider’s server. This procedure is called forking. This allows Git providers to track the repository’s network, check if repositories are related to each other and notify if pull-requests are available.
Fork our repository VLSI-EDA/PoC
on GitHub into your or your’s Git
organisation’s account. In the following the forked repository is referenced as
<username>/PoC
.
2. Clone the new Fork¶
Clone this new fork to your machine. See Downloading via Git clone
for more details on how to clone PoC. If you have already cloned PoC, then you
can setup the new fork as an additional remote. You should set VLSI-EDA/PoC
as fetch target and the new fork <username>/PoC
as push target.
Shell Commands for Cloning:
cd GitRoot
git clone --recursive "ssh://git@github.com:<username>/PoC.git" PoC
cd PoC
git remote rename origin github
git remote add upstream "ssh://git@github.com:VLSI-EDA/PoC.git"
git fetch --prune --tags
Shell Commands for Editing an existing Clone:
cd PoCRoot
git remote rename github upstream
git remote add github "ssh://git@github.com:<username>/PoC.git"
git fetch --prune --tags
These commands work for Git submodules too.
3. Checkout a Branch¶
Checkout the master
or release
branch and maybe stash outstanding changes.
cd PoCRoot
git checkout release
4. Setup PoC for Developers¶
Run PoC’s configuration routines and setup the developer tools.
cd PoCRoot
.\PoC.ps1 configure git
5. Create your own master
Branch¶
Each developer has his own master
branch. So create one and check it out.
cd PoCRoot
git branch <username>/master
git checkout <username>/master
git push github <username>/master
If PoC’s branches are moving forward, you can update your own master branch by merging changes into your branch.
6. Create your Feature Branch¶
Each new feature or bugfix is developed on a feature branch. Examples for branch names:
Branch name | Description |
---|---|
bugfix-utils | Fixes a bug in utils.vhdl . |
docs-spelling | Fixes the documentation. |
spi-controller | A new SPI controller implementation. |
cd PoCRoot
git branch <username>/<feature>
git checkout <username>/<feature>
git push github <username>/<feature>
7. Commit and Push Changes¶
Commit your porposed changes onto your feature branch and push all changes to GitHub.
cd PoCRoot
# git add ....
git commit -m "Fixed a bug in function bounds() in utils.vhdl."
git push github <username>/<feature>
8. Create a Pull-Request¶
Go to your forked repository and klick on “Compare and Pull-Request” or go to our PoC repository and create a new pull request.
If this is your first Pull-Request, you need to sign our Contributers License Agreement (CLA).
9. Keep your master
up-to-date¶
Todo
undocumented
Give us Feedback¶
Please send us feedback about the PoC documentation, our IP cores or your user story on how you use PoC.
List of Contributers¶
Contributor [1] | Contact E-Mail |
---|---|
Genßler, Paul | paul.genssler@tu-dresden.de |
Köhler, Steffen | steffen.koehler@tu-dresden.de |
Lehmann, Patrick [2] | patrick.lehmann@tu-dresden.de; paebbels@gmail.com |
Preußer, Thomas B. [2] | thomas.preusser@tu-dresden.de; thomas.preusser@utexas.edu |
Reichel, Peter | peter.reichel@eas.iis.fraunhofer.de; peter@peterreichel.info |
Schirok, Jan | janschirok@gmx.net |
Voß, Jens | jens.voss@mailbox.tu-dresden.de |
Zabel, Martin [2] | martin.zabel@tu-dresden.de |
Footnotes
[1] | In alphabetical order. |
[2] | (1, 2, 3) Maintainer. |