GIT Server: Difference between revisions

From AlsaProject
Jump to navigation Jump to search
Line 53: Line 53:
  git push --tags origin for-linus:refs/head/for-linus
  git push --tags origin for-linus:refs/head/for-linus


Note: Especially after 'git rebase' the tree on server is not consistent (remote ref is not ancestor of the local ref), 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.
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===
===Branches===

Revision as of 14:06, 28 April 2008

alsa-kernel repository

Anonymous access

Read only GIT server

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

Web interface

http://git.alsa-project.org/?p=alsa-kernel.git

For developers

Clone repository

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

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 Linux Torvalds)
linux-2.6
this is official linux 2.6 mainstream tree
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.