Checkout The Code
It's always easier if you start from a git checkout, as git makes it very easy to do patches. You won't have to run "patch" manually and stuff like that, nor will you have to maintain a separate tree.
yum install git git clone git://git.fedorahosted.org/autoqa.git
Keeping In Sync
If you want to update your checkout to the latest git source, from any branch:
git fetch origin git rebase origin/master
Now, make your changes. To see the differences you've made since last commit:
git diff HEAD
At any time when you want to stay up to date with what's going on in the main repo you can do the fetch/rebase step as many times as you want. This makes all your changes be modified as if they were applied to the latest on the remote branch.
Oops, How to I Revert?
To revert your changes:
git checkout -f # All changes git checkout -f Medusa/setup.py # A specific file
Submitting Patches For Review
Once you have the checkout working like you want, generate a list of patches and submit for review to email@example.com.
Record all the changes:
git commit -a
Generate a list of patches between your local checkout and a remove branch called origin/master, type:
This will output a list of one or more patches that can be downloaded and applied by developers with "git am".
Now, write a high level summary of your changes:
cat <<EOF> msg Subject: My favorite patches Hello, Included are several packages which implement feature X and have been thoroughly tested. Thanks! EOF
Finally, send these patches to firstname.lastname@example.org for review:
yum install git-email.noarch /usr/libexec/git-core/git-send-email --no-chain-reply-to --quiet --to email@example.com msg *.patch