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-$projectgit remote add -f redhat-openstack git@github.com:redhat-openstack/$project.gitgit checkout redhat-openstack/mastergit 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-$projectgit remote add -f redhat-openstack git@github.com:redhat-openstack/$project.gitgit branch master-patches redhat-openstack/master-patchesgit remote add -f openstack git://github.com/openstack/$project.gitgit remote add -f redhat-smokestack git@github.com:redhat-openstack/openstack-$project.gitwget https://raw.github.com/redhat-openstack/redhat-openstack.github.com/scripts/update-patches.shThe 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 --tagsgit fetch --allgit checkout master-patchesgit 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 $hashUse 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 mastergit pull origin./update-patches.shgit commit --amend -agit pushgit 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.