PDL Development
|
|
|
|
| Report a bug | Request a feature | Help with development |
Report a bug
To report a bug, first login to SourceForge (or register an account) and then go to the bugs database.
Request a feature
To request a feature, first login to SourceForge (or register an account) and then go to the feaure request tracker and click on "Create Ticket".
Help with development
PDL's source code is stored in a Git repository, but you can also use Mercurial or Bazaar (via plugins) to contribute to PDL.
- Non-developers
-
git clone git://git.code.sf.net/p/pdl/code pdl-code
(Use the patch manager to submit patches).
- Developers
-
git clone ssh://[email protected]/p/pdl/code pdl-code
- See also
- Non-developers
-
hg clone git://git.code.sf.net/p/pdl/code pdl-code
(Use the patch manager to submit patches).
- Developers
-
hg clone git+ssh://[email protected]/p/pdl/code pdl-code
- See also
- Non-developers
-
bzr branch git://git.code.sf.net/p/pdl/code pdl-code
(Use the patch manager to submit patches).
- Developers
-
bzr branch git+ssh://[email protected]/p/pdl/code pdl-code
- See also
Basic commands
| Git | Mercurial | Bazaar |
|---|---|---|
| Commit changes to your repository | ||
git add file1 file2 ... git commit -a(You must "add" before every commit or use "-a"). |
hg add file1 file2 ... hg commit |
bzr add file1 file2 ... bzr commit |
| Pull and merge any changes others have made | ||
git fetch git merge |
hg pull hg merge |
bzr pull bzr merge |
| Push your changes back to the shared server. | ||
git push |
hg push |
bzr dpush |
| Undo changes since the previous commit. | ||
git reset --hard ORIG_HEAD |
hg revert . |
bzr revert |
| TIP: Interactively select changes to commit. | ||
git add --patch |
hg record (See: record extension). |
N/A but the shelve can help. |
| Create a branch | ||
git branch Kiwi git checkout Kiwi |
hg branch Kiwi |
bzr branch Kiwi |
| Push a branch to the server | ||
git config branch.Kiwi.remote origin git config branch.Kiwi.merge refs/heads/Kiwi |
hg push(Pushes all branches). |
bzr push(Pushes current branch). |
Hints for developers
-
Before committing a change to the repository you should update
- MANIFEST (using make manifest), MANIFEST.SKIP, TODO files if applicable.
-
Remember to include POD documentation for any functions you add to the distribution.
- See Basic/Core/Core.pm for an example of including POD documentation in .pm files.
- See Basic/Core/Primitive/Primitive.pd for an example of including POD documentation in PDL .pd files.
- Read the documentation in PDL::Doc for a detailed description of the PDL documentation conventions.
-
Make sure you add a test case in the 't' directory for any significant additional capability you add to the PDL package.
-
Don't commit before you successfully built and passed make test. But then again, don't keep your changes private for too long to avoid conflicts with other developers.
-
Use branches for long-running projects. Git and Mercurial both have excellent support for branching and merging. Use it!
-
Bugs reported on the list should be entered into the bug database and bugs closed when a patch has been committed as a fix. (Primary responsibility for this task is the pumpking, but other devels should be able to help.)