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 branchOutputs the current branch you have checked out. -a option lists all available branches
git guiOpens the GUI browser
gitk --allopens 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