Project

General

Profile

Git Patches

About these instructions

There are two sets of instructions here; one for first-time setup, one for already existing setups.

First-time setup

1. Create a git copy of the master from gitorious

$ git clone git://github.com/quassel/quassel.git

2. Change into your new copy of the git repository

$ cd quassel

3. Set your personal preferences

$ git config --global user.name "Your full name here" 
$ git config --global user.email "your.email@address.here"

4. At this point you have your very own working copy of the central git repository which you can make changes to.

$ ls
AUTHORS    CMakeLists.txt  dev-notes  gpl-2.0.txt  INSTALL     po       src
ChangeLog  COPYING         doc        gpl-3.0.txt  interfaces  README   version.inc
cmake      data            Doxyfile   icons        pics        scripts

When you have edited the file(s), you should follow the steps in the "Existing setups" below to create the git patch file(s).

Existing setups

Here, I assume you have either followed the instructions above, or already have a git repository clone from the master.
Also, I expect that you are inside the local 'quassel' repository as per 3. in the "First-time setup" above.

1. If you want to keep your local repository up to date with the central one, you just need to synchronize

$ git pull --rebase

2. After you have done your changes to the file for bug fixing, you can check that the changes are recorded by git
(all your changes will be shown, press <space> to move one page further, and <q> to stop showing the differences/changes)

$ git status
$ git diff

3. Then it's time to add your changes to the local index (change <path-to-file> with complete path to your changed file)

$ git add <path-to-file>

4. You then commit the changes you have done (which will give some feedback like the one I've provided below)
(You should change the "Fixed some small inconsistencies" text with some short description of your changes)

$ git commit -m "Fixed some small inconsistencies." 
[master edc8b8a] Fixed some small inconsistencies.
 1 files changed, 8 insertions(+), 9 deletions(-)

5. You can now check the status of you git repository (which will give some feedback like the one I've provided below)

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

6. You then create the actual patch-file (note that the name of the file is the description provided in 4. above)

$ git format-patch origin/master
0001-Fixed-some-small-inconsistencies.patch

7. Congratulations! :-)
This file is now ready and you attach to the bug issue or send it to a developer via mail e.g. devel at quassel-irc.org.