GIT Server: Difference between revisions
No edit summary |
|||
Line 49: | Line 49: | ||
==For developers - kernel drivers== | ==For developers - kernel drivers== | ||
===Syncing=== | |||
Note that 'master' branch in alsa-kernel.git is synced with alsa-kmirror.git 'master' branch automatically. So if you add a patch to alsa-kernel.git, it will be merged to alsa-kmirror.git (if no problem occurs). | |||
====Common problems==== | |||
; PRE-RECEIVE: repositories does not match, please, fix it | |||
: The alsa-kmirror.git#mastter and alsa-kernel.git#master sources does not match. You have to do manual changes in alsa-kmirror.git repository to sync trees. A diff between alsa-kmirror.git and alsa-kernel.git is printed to stderr, so you can analyze it and do appropriate steps. | |||
; PRE-RECEIVE: Patch failed - is it already merged? | |||
: Appearently, you're trying to apply a patch which cannot be applied cleanly to alsa-kmirror.git#master. One reason might be that the patch is already applied, but the pre-receive script does not know about it. You may add commiter and commitdate to alsa-kmirror/scripts/git-ok-commits file to skip problematic commit (but only if you really verify, that this commit is already in the alsa-kmirror tree). | |||
===Clone repositories=== | ===Clone repositories=== |
Revision as of 10:57, 16 May 2008
alsa-kernel repository
Repositories
- alsa-driver.git
- contains compatibility and build code for 2.2, 2.4 and older 2.6 kernels
- alsa-kernel.git
- contains linux 2.6 kernel tree
- alsa-kmirror.git
- alsa kernel mirror tree for continuous development (contains ALSA parts from alsa-kernel.git tree)
- alsa-lib.git
- library
- alsa-utils.git
- utilities
- alsa-firmware.git
- firmware
- alsa-tools.git
- tools
- alsa-plugins.git
- plugins
- alsa-oss.git
- oss compatibility
- alsa-python.git
- official python binding
Anonymous access
Read only GIT server
- git clone git://git.alsa-project.org/alsa-driver.git alsa-driver
- git clone git://git.alsa-project.org/alsa-kernel.git alsa-kernel
- git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror
- git clone git://git.alsa-project.org/alsa-lib.git alsa-lib
- git clone git://git.alsa-project.org/alsa-utils.git alsa-utils
- git clone git://git.alsa-project.org/alsa-firmware.git alsa-firmware
- git clone git://git.alsa-project.org/alsa-tools.git alsa-tools
- git clone git://git.alsa-project.org/alsa-plugins.git alsa-plugins
- git clone git://git.alsa-project.org/alsa-oss.git alsa-oss
- git clone git://git.alsa-project.org/alsa-python.git alsa-python
Web interface
http://git.alsa-project.org/?p=alsa-kernel.git
For developers - kernel drivers
Syncing
Note that 'master' branch in alsa-kernel.git is synced with alsa-kmirror.git 'master' branch automatically. So if you add a patch to alsa-kernel.git, it will be merged to alsa-kmirror.git (if no problem occurs).
Common problems
- PRE-RECEIVE
- repositories does not match, please, fix it
- The alsa-kmirror.git#mastter and alsa-kernel.git#master sources does not match. You have to do manual changes in alsa-kmirror.git repository to sync trees. A diff between alsa-kmirror.git and alsa-kernel.git is printed to stderr, so you can analyze it and do appropriate steps.
- PRE-RECEIVE
- Patch failed - is it already merged?
- Appearently, you're trying to apply a patch which cannot be applied cleanly to alsa-kmirror.git#master. One reason might be that the patch is already applied, but the pre-receive script does not know about it. You may add commiter and commitdate to alsa-kmirror/scripts/git-ok-commits file to skip problematic commit (but only if you really verify, that this commit is already in the alsa-kmirror tree).
Clone repositories
git clone git@git.alsa-project.org:alsa-driver.git alsa-driver git clone git@git.alsa-project.org:alsa-kernel.git alsa-kernel git clone git@git.alsa-project.org:alsa-kmirror.git alsa-kmirror
To show all branches (includes remote ones):
git branch -a
To make a remote branch local:
git checkout -b for-linus origin/for-linus git checkout -b linux-2.6 origin/linux-2.6
Update and rebase using Linus's 2.6 kernel tree
Add remote URL:
git remote add linux-2.6 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Checkout linux-2.6 branch:
git checkout linux-2.6
Pull Linus's 2.6 changes:
git pull linux-2.6 master
Rebase our main ALSA development master branch with linux-2.6:
git rebase linux-2.6 master
Push branch changes to ALSA GIT repository
git push --tags origin master:refs/head/master git push --tags origin linux-2.6:refs/head/linux-2.6 git push --tags origin for-linus:refs/head/for-linus
Note: Especially after 'git rebase' the repository on server is not consistent with local repository (remote ref is not ancestor of the local ref for master branch), so you have to use --force parameter for 'git push' command. Note that this might be dangerous - we probably need to settle a locking mechanism to prevent inconsistent changes.
Branches
- master
- this branch is for main development (Andrew Morton will get patches for mm tree)
- for-linus
- this branch is for mainstream tree (for Linus Torvalds)
- linux-2.6
- this is official linux 2.6 mainstream tree
- stable-2.6.<number>
- patches for stable 2.6 kernels
- private-*
- all developers can create a private branch to test a particular set of patches, prefix for these branches is 'private-' (for example private-alsabug-1234, private-tiwai-vmaster etc.)
Maintenance
GIT server is maintaned by User:Perex.