After porting

Once you've completed your porting efforts, you can push your changes and begin thinking about upstreaming.

First, commit and push your changes using the standard git methods:

# Add your changes to be committed
git add .

# Check that your changes are added (in green text, not red)
git status
# You'll need to run `git add <filepath>` for any missing files

# Commit your changes with a message
git commit -m `message`

# Push your changes to the remote source
git push
# You may need to run `git push --set-upstream origin` if this is the first time

Once you're done, your port should be hosted at whichever online host you forked the original from. There's a couple of optional steps you can go through now:

  • Adding CI/CD Pipelines for QNX. You can see examples for GitHub Workflows over at qnx-ports/build-files, or for GitLab you can read their CI/CD Docs.

    • These are required by some maintainers for upstreaming!
  • Create a Demo QNX Application.

  • Upstream your changes to the source repository.

For most projects forked on GitHub or GitLab, you can submit your changes to the source repository to be officially added. This is called upstreaming and is done via the standard pull and merge request function on GitHub and GitLab.

You can read more about the process on GitHub and GitLab.

Merging for upstreaming

Assuming you set up a fork of the upstream repository, you can merge or rebase changes you made onto the development or main branch from the release branch you worked on.

To do this, you can simply run git merge or git rebase depending on which would suit your case more. Then, resolve any conflicts and commit the merge or rebase.

# Update git repo
git pull

# merge your branch into main
git merge main <branch_name>

Before opening a pull request to upstream, also make sure to pull their latest changes and merge them into your branch.

# Update git repo
git pull

# merge the upstream's branch into yours
git merge <your branch> <source branch>
Page updated: