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 following packages:

  • python-openidc-client >= 0.6.0 (available in updates-testing)

  • rpkg >= 1.55 (available in updates)

  • fedpkg >= 1.34 (available in updates)

Older Fedoras
On anything older than Fedora 29 (that is Fedora 27, Fedora 28 and can be applied to EPEL), substitute python3 with python2 in the two commands below. E.g. when it says python3-openidc-client, use python2-openidc-client instead, etc.

So check the version of the packages you have installed:

rpm -q python3-openidc-client python3-rpkg fedpkg

and potentially, update them:

sudo dnf update python3-openidc-client fedpkg python3-rpkg --enablerepo=updates-testing

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.

Username/Password
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