edit (theme=minimal)
This organisation is used to group repositories related to the management of RDO community maintained OpenStack packages for Fedora, Red Hat Enterprise Linux and derivatives.
The repositories named openstack-* contain the packaging files related to the trunk tracking smokestack project. The rest are forks of the OpenStack projects themselves, allowing us to use git to manipulate the changes, with the patches within the packages being automatically generated from the git repositories.
Following are the steps to use this workflow:
fedpkg clone openstack-$project && cd openstack-$project
git remote add -f redhat-openstack git@github.com:redhat-openstack/$project.git
git checkout redhat-openstack/master
git checkout -b master-patches
# New local branchgit push --set-upstream redhat-openstack master-patches
# New upstream branchgit push redhat-openstack :master
# Delete upstream master branch (and any other unneeded branches)fedpkg clone openstack-$project && cd openstack-$project
git remote add -f redhat-openstack git@github.com:redhat-openstack/$project.git
git branch master-patches redhat-openstack/master-patches
git remote add -f openstack git://github.com/openstack/$project.git
git remote add -f redhat-smokestack git@github.com:redhat-openstack/openstack-$project.git
wget https://raw.github.com/redhat-openstack/redhat-openstack.github.com/scripts/update-patches.sh
The above steps are only needed once to setup your local repo. The following are needed each time you want to update a package:
git fetch --all --tags
git fetch --all
git checkout master-patches
git log --oneline
# Identify hash of commit before first commit to consider rebasingYou can either rebase the patch branch onto a branch:
git rebase --onto remotes/openstack/stable/$release $hash
or a tag:git rebase --onto $tag $hash
Use the --interactive rebase option if want to edit/delete commits etc.
Also you can git cherry-pick
other patches from remotes/openstack/master for example,
or directly from gerrit by copy and pasting the cherry-pick commands from there.
git checkout master
git pull origin
./update-patches.sh
git commit --amend -a
git push
git push --tags redhat-openstack +master-patches
Note the + above, which will force sync (so there needs to be a little coordination between packagers)Note a separate branch is not maintained on github until needed.
For example if Fedora 19 has the same patches as rawhide, then
just git merge
those branches in the Fedora project git repositories.