= Branch Overview = There are six types of branches in the QtWebKit Git repository: * svn/master: This is the main development line, mirrored straight from SVN trunk. We do our development in trunk. * qtwebkit-4.5: This branch, based on trunk, contains what we're shipping in Qt 4.5. No direct development happens in this branch, we only merge from trunk or branches that are scheduled for inclusion into trunk. * shared/* : Everybody can create/delete/change branches that start with "shared/". * /* : This is where developers publish their changes. You can have as many so-called topic branches as you like. For example holger/crash-fix would be a name for such a topic branch. * svn/* such as svn/master or svn/Safari-3-branch. The branches prefixed with svn/ are read-only and are mirrored from the WebKit Subversion repository. = Howto = == Getting Started == * Clone your git repository from {{{git+ssh://git@code.staikos.net/srv/git/webkit}}} * If you don't have ssh/push access you can do a read-only clone using {{{git clone git://code.staikos.net/webkit}}} * After that you will have one local branch called {{{qtwebkit}}}. * Tell git your full name and email address: {{{ git config user.email joe.doe@foobar.com git config user.name "Joe Doe" }}} == Step-by-step instructions == (Note: Substitute {{{simon/crash-fix}}} accordingly) * Create a local topic branch: {{{git checkout -b simon/crash-fix origin/svn/master}}} * After that you will be on a local {{{simon/crash-fix}}} branch. * Now you can hack away and commit as many changes as you want. * To publish your changes for the first time run the following command: {{{git push origin simon/crash-fix}}} * You can continue hacking and if you want to publish more changes you can just run {{{git push}}} * If you want to merge the latest changes from the {{{svn/master}}} branch run this: {{{ git fetch git rebase origin/svn/master }}} * When you are happy with your changes and they have been merged into the {{{svn/master}}} branch you can delete your branch on the public repository using {{{git push origin :simon/crash-fix}}} * After deleting the branch on the public repository you can also delete it locally: * Switch to a different branch, such as {{{master}}}: {{{git checkout master}}} * Delete the branch: {{{git branch -D simon/crash-fix}}} * If you don't have ssh/push access you can do all of the above apart from the {{{git push}}} commands. You can create a series of patches using {{{git format-patch origin/qtwebkit}}}. That will create a series of numbered {{{.patch}}} files that include all your commits.