From Fedora Project Wiki

< CI

m (add missing words)
m (Support new Fedora by default)
Line 18: Line 18:
 
* rpkg >= 1.55 (available in updates)
 
* rpkg >= 1.55 (available in updates)
 
* fedpkg >= 1.34 (available in updates)
 
* fedpkg >= 1.34 (available in updates)
 +
 +
{{admon/important | 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 bellow. E.g. when it says `python3-openidc-client`, use `python2-openidc-client` instead, etc.}}
  
 
So check the version of the packages you have installed:  
 
So check the version of the packages you have installed:  
`rpm -q python2-openidc-client python2-rpkg fedpkg`
+
`rpm -q python3-openidc-client python3-rpkg fedpkg`
  
 
and potentially, update them:
 
and potentially, update them:
`sudo dnf update python-openidc-client fedpkg python-rpkg --enablerepo=updates-testing`
+
`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 (ie: you need to have a `[credential]` section in your `.git/config`).
 
To push via https, your git repository needs to be configured in a certain way (ie: you need to have a `[credential]` section in your `.git/config`).

Revision as of 08:32, 21 September 2018

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)
Important.png
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 bellow. 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 (ie: 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.


Warning.png
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.


Idea.png
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