From Fedora Project Wiki

< CI

m (Support new Fedora by default)
m (fix typing mistakes)
Line 6: Line 6:
 
=== You are a packager ===
 
=== 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.
+
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 ===
 
=== You are *not* a packager ===
Line 19: Line 19:
 
* 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.}}
+
{{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 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:  
 
So check the version of the packages you have installed:  
Line 27: Line 27:
 
`sudo dnf update python3-openidc-client fedpkg python3-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 (i.e. you need to have a `[credential]` section in your `.git/config`).
 
There are two ways you can have this.
 
There are two ways you can have this.
  

Revision as of 20:41, 23 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 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.


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