Note that 'master' branch in alsa-driver.git is synced with alsa-kernel.git 'master' branch manually by [[User:Perex]].

+

Please, use --log for the git merge command to show the "subject" of commits.

+

It might be handy to define these git aliases in your .git/config file:

+

+

[alias]

+

apull = !git checkout release && git pull origin release && \

+

git checkout build && git pull origin build && \

+

git checkout mirror && git pull origin mirror && \

+

git checkout release

+

apush = !git push --tags origin release && git push origin build && \

+

git push origin mirror

+

bmerge = !git checkout release && git merge --log build

+

mmerge = !git checkout release && git merge --log mirror

===Clone repositories===

===Clone repositories===

git clone git@git.alsa-project.org:alsa-driver.git alsa-driver

git clone git@git.alsa-project.org:alsa-driver.git alsa-driver

+

cd alsa-driver

+

git branch build remotes/origin/build

+

git branch mirror remotes/origin/mirror

+

git branch release remotes/origin/release

+

git clone git@git.alsa-project.org:alsa-kernel.git alsa-kernel

git clone git@git.alsa-project.org:alsa-kernel.git alsa-kernel

Line 144:

Line 160:

To make a remote branch local:

To make a remote branch local:

−

git checkout -b for-linus origin/for-linus

+

git checkout -b for-linus remotes/origin/for-linus

−

git checkout -b linux-2.6 origin/linux-2.6

+

git checkout -b linux-2.6 remotes/origin/linux-2.6

===Update and rebase using Linus's 2.6 kernel tree===

===Update and rebase using Linus's 2.6 kernel tree===

Line 167:

Line 183:

===Push branch changes to ALSA GIT repository===

===Push branch changes to ALSA GIT repository===

−

git push --tags origin master:refs/heads/master

+

git push --tags origin master

−

git push --tags origin linux-2.6:refs/heads/linux-2.6

+

git push --tags origin linux-2.6

−

git push --tags origin for-linus:refs/heads/for-linus

+

git push --tags origin 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 - please, ask Jaroslav Kysela < perex at perex . cz > if you can do this for branch 'master'.

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 - please, ask Jaroslav Kysela < perex at perex . cz > if you can do this for branch 'master'.

Line 205:

Line 221:

git clone git://git.alsa-project.org/alsa-driver.git alsa-driver

git clone git://git.alsa-project.org/alsa-driver.git alsa-driver

−

if you live behind a firewall that blocks the git protocol, you can do this instead:

+

If you live behind a firewall that blocks the git protocol, you can do this instead:

1) be very very very carefull when you use '--force' for 'git push', you can broke whole repository, you should notify other developers on alsa-devel mailing list that you will do this change for 'master' branch

2) valid 'Signed-off-by:' line must be in the commit text

[edit]Rules for alsa-kernel.git and the mirror branch in alsa-driver.git

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 - please, ask Jaroslav Kysela < perex at perex . cz > if you can do this for branch 'master'.