# Contributing to passt Thank you for your interest in contributing! This document explains how to prepare patches and participate in the email-based review process. ## Workflow ### 1. Clone the project git clone git://passt.top/passt ### 2. Create a Branch cd passt git checkout -b my-feature-branch Work on a separate branch instead of committing directly to `master`. ### 3. Make Changes and Commit * Edit the source code or documentation. * Stage your changes: git add ... * Commit with a clear message containing `Signed-off-by:` tag: git commit -s Commit message format: Subsystem: Brief summary (max ~50 chars) More detailed explanation if needed, wrapped at 72 chars. Signed-off-by: Your Name If there are some references, use "Links: " tag for simplicity. ### 4. Generate Patches Use `git format-path` to generate patch(es): git format-patch origin/master This will generate numbered patch files such as 0001-...patch, 0002-...patch, etc. If you send a series of patches, use the `--cover-letter` option with `git format-patch`: git format-patch origin/main --cover-letter This will generate a cover letter besides your patches. You can edit the cover letter before sending. ### 5. Send Patches Use `git send-email` to send patches directly to the mailing list: git send-email --to=passt-dev@passt.top 000*.patch If there are CCs (e.g. maintainers, reviewers), you can add them with `--cc`: git send-email --to=passt-dev@passt.top --cc=maintainer@example.com 000*.patch ### 6. Responding to Review Feedback * Be open to feedback on both code and documentation. * Update your patch as needed, and regenerate patches: git add ... git commit --amend git format-patch -v2 origin/master * Send the revised patches git send-email --to=passt-dev@passt.top v2-000*.patch ### 7. Tips and Best Practices * Keep changes focused and easy to review. * Test your changes thoroughly. * Include documentation updates if your change affects usage or APIs. Thank you for helping improve passt! Your contributions make a big difference.