From Fedora Project Wiki

(Keeping In Sync)
(What Changed?)
Line 20: Line 20:
 
Now, make your changes. To see the differences you've made since last commit:
 
Now, make your changes. To see the differences you've made since last commit:
  
{{{
+
<pre>git diff HEAD<pre>
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
 
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

Revision as of 09:28, 6 January 2010

This page outlines a few tips to get started contributing patches to the beaker project. This page borrows heavily from beaker Patch Process.

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.

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

What Changed?

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 beaker-devel@lists.fedorahosted.org. To generate a list of patches between your local checkout and a remove branch called origin/master, type: {{{ git-format-patch origin/master }}} 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 beaker-devel@lists.fedorahosted.org for review: {{{ git-send-email --no-chain-reply-to --quiet --to beaker-devel@lists.fedorahosted.org msg *.patch }}}