From Fedora Project Wiki

(Created page with 'This page outlines a few tips to get started contributing patches to the beaker project. This page borrows '''heavily''' from [https://fedorahosted.org/cobbler/wiki/PatchProcess...')
 
No edit summary
Line 1: Line 1:
This page outlines a few tips to get started contributing patches to the beaker project.  This page borrows '''heavily''' from [https://fedorahosted.org/cobbler/wiki/PatchProcess].
This page outlines a few tips to get started contributing patches to the beaker project.  This page borrows '''heavily''' from [beaker PatchProcess |https://fedorahosted.org/beaker/wiki/PatchProcess].


= Checkout The Code =
= Checkout The Code =

Revision as of 09:24, 6 January 2010

This page outlines a few tips to get started contributing patches to the beaker project. This page borrows heavily from [beaker PatchProcess |https://fedorahosted.org/beaker/wiki/PatchProcess].

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/beaker }}}

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 }}}