Git repository

The sources of digitalSTROM Server are contained in a GIT repository located at: git://gitorious.digitalstrom.org/dss/dss-mainline.git
Get the source by issuing the following command:

git clone git://gitorious.digitalstrom.org/dss/dss-mainline.git

Some useful commands:

git branch
Outputs the current branch you have checked out. -a option lists all available branches
git gui
Opens the GUI browser
gitk --all
opens the merge and cherry picking GUI

After checking out the source of the dSS you're still missing the webpages. The webpages will be generated by a submodule called websrc. To fetch the submodule issue the following command in your fresh clone:

git submodule update --init

The core-team has push access. To submit your code, please open a bug/feature and attach your patch to it. If you'd like to get your patch reviewed beforehand just send it to the development mailinglist.
Use the following command to generate a series of patches that are applied locally:

git format-patch origin/master

This will result in a patch-file per commit in your working directory.

Working with your clone on gitorious.digitalstrom.org

You've created a clone on gitorious and would like to stay up to date with the mainline code. You should add a remote called upstream to keep track of the mainline repository:

git remote add upstream git://gitorious.digitalstrom.org/dss/dss-mainline.git
git remote update

To keep your master branch in sync with the mainline repository do the following:

git pull --rebase upstream master

The latest commits should now be merged into your clone and your changes applied on top of it. Note: use the --tags option in case you miss tags in your clone

Creating local branches

git checkout -b 0.6 origin/0.6

Working with websrc

Update the gitlink of websrc:

cd websrc/
git remote update
git merge origin/master
cd ..
git commit websrc/

Hints

Mark source commit for cherry-picks

When cherry-picking changes between branches, the -x argument appends "to the original commit message a note that indicates which commit this change was cherry-picked from"

Working with windows

On windows there is a nice tool named tortoisegit (http://code.google.com/p/tortoisegit/) which integrates itself to the explorer. using it is easy, just use "git clone" with "git://gitorious.digitalstrom.org/dss/dss-mainline.git" as URL for mainline development. there is no need for Putty Key for cloning ... but for pushing. Please note, if you want to push a change,
you have to add Userinfo in "Git Setting" -> "Git" -> "Config" and the remote URL as shown in the gitorious webseite in "Git Setting" -> "Git" -> "Remote" -> origin