Pull Requests

Fedora is running pagure on the top of its dist-git at https://src.fedoraproject.org.

Having pagure on the top of dist-git means you can use the fork/pull-request workflow. To use this workflow there are two situations to consider:

You are a packager

If you are a packager, you have ssh access to dist-git, so you can use pagure directly. Find the repository you would like to contribute to, fork it via the fork button at the top right. Wait a couple of minutes for the git repository and its access to be re-generated. Clone locally using the ssh URL and interact with this git repo as you would do normally.

You are NOT a packager

Contributors that are not in the packager group cannot ssh into dist-git. This is for security reasons and will not be changed.

However, pagure on dist-git supports now pushing via https.

For this you will need the fedpkg package:

sudo dnf install fedpkg

To push via https, your git repository needs to be configured in a certain way (i.e. you need to have a [credential] section in your .git/config). There are two ways you can have this.

  • Clone your git repo using

    fedpkg -a

    for example:

    fedpkg clone -a forks/pingoufpca/rpms/fedora-gather-easyfix

    In this case fedpkg will take care of setting up correctly your git repository allowing you to push using

    git push
  • Clone your git repo using

    git clone https://...

    and push using

    fedpkg push

    Here as well, fedpkg will take care of configuring correctly your git repository.

If you ever see the CLI asking you for an username and/or password, your git repo is not correctly configured. The only place that should be asking you for an username and password is https://id.fedoraproject.org

Open a pull-request

Once you have pushed your commits to your fork, you can navigate to your fork in the UI and open the pull-request using either the New PR button appearing next to the branch you pushed into or on the main page of the project.

Working with Pull Requests
You may encounter a situation where you want to include changes from the master branch that were made after you created your pull request. Follow the article Working with Pull Requests