GIT Server: Difference between revisions

From AlsaProject
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 4: Line 4:


==ALSA Repositories==
==ALSA Repositories==
; alsa-driver.git
: contains compatibility and build code for older 2.6 kernels with mirrored latest kernel code
; alsa-kernel.git
: contains linux 2.6 kernel tree
; alsa-kprivate.git
: contains linux 2.6 kernel tree - for private branches for alsa developers


; alsa-lib.git
; alsa-lib.git
Line 34: Line 26:
; alsa.git
; alsa.git
: ALSA service repo (misc files)
: ALSA service repo (misc files)
; alsa-driver.nomirror.git
: old ALSA driver repository without the mirrored kernel code
; alsa-kmirror.git
: alsa kernel mirror tree for continuous development (contains ALSA parts from alsa-kernel.git tree)


==Anonymous access==
==Anonymous access==


===Read only GIT server===
===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-kprivate.git alsa-kprivate


: git clone git://git.alsa-project.org/alsa-lib.git alsa-lib
: git clone git://git.alsa-project.org/alsa-lib.git alsa-lib
Line 58: Line 40:
: git clone git://git.alsa-project.org/alsa-ucm-conf.git alsa-ucm-conf
: git clone git://git.alsa-project.org/alsa-ucm-conf.git alsa-ucm-conf
: git clone git://git.alsa-project.org/tinycompress.git tinycompress
: git clone git://git.alsa-project.org/tinycompress.git tinycompress
: git clone git://git.alsa-project.org/alsa.git alsa
: git clone git://git.alsa-project.org/alsa.git alsa
: git clone git://git.alsa-project.org/alsa-driver.nomirror.git alsa
: git clone git://git.alsa-project.org/alsa-kmirror.git alsa-kmirror


===Web interface===
===Web interface===


: http://git.alsa-project.org/?p=alsa-driver.git
: https://git.alsa-project.org/?p=alsa-lib.git
: http://git.alsa-project.org/?p=alsa-kernel.git
: https://git.alsa-project.org/?p=alsa-utils.git
: https://git.alsa-project.org/?p=alsa-firmware.git
: https://git.alsa-project.org/?p=alsa-tools.git
: https://git.alsa-project.org/?p=alsa-plugins.git
: https://git.alsa-project.org/?p=alsa-oss.git
: https://git.alsa-project.org/?p=alsa-python.git
: https://git.alsa-project.org/?p=alsa-ucm-conf.git
: https://git.alsa-project.org/?p=tinycompress.git


: http://git.alsa-project.org/?p=alsa-kprivate.git
: https://git.alsa-project.org/?p=alsa.git
 
: http://git.alsa-project.org/?p=alsa-lib.git
: http://git.alsa-project.org/?p=alsa-utils.git
: http://git.alsa-project.org/?p=alsa-firmware.git
: http://git.alsa-project.org/?p=alsa-tools.git
: http://git.alsa-project.org/?p=alsa-plugins.git
: http://git.alsa-project.org/?p=alsa-oss.git
: http://git.alsa-project.org/?p=alsa-python.git
: http://git.alsa-project.org/?p=alsa-ucm-conf.git
: http://git.alsa-project.org/?p=tinycompress.git
 
: http://git.alsa-project.org/?p=alsa.git
 
: http://git.alsa-project.org/?p=alsa-driver.nomirror.git
: http://git.alsa-project.org/?p=alsa-kmirror.git


===HTTP access===
===HTTP access===


: http://git.alsa-project.org/http/alsa-driver.git
: https://git.alsa-project.org/http/alsa-lib.git
: http://git.alsa-project.org/http/alsa-kernel.git
: https://git.alsa-project.org/http/alsa-utils.git
 
: https://git.alsa-project.org/http/alsa-firmware.git
: http://git.alsa-project.org/http/alsa-kprivate.git
: https://git.alsa-project.org/http/alsa-tools.git
 
: https://git.alsa-project.org/http/alsa-plugins.git
: http://git.alsa-project.org/http/alsa-lib.git
: https://git.alsa-project.org/http/alsa-oss.git
: http://git.alsa-project.org/http/alsa-utils.git
: https://git.alsa-project.org/http/alsa-python.git
: http://git.alsa-project.org/http/alsa-firmware.git
: https://git.alsa-project.org/http/alsa-ucm-conf.git
: http://git.alsa-project.org/http/alsa-tools.git
: https://git.alsa-project.org/http/tinycompress.git
: http://git.alsa-project.org/http/alsa-plugins.git
: http://git.alsa-project.org/http/alsa-oss.git
: http://git.alsa-project.org/http/alsa-python.git
: http://git.alsa-project.org/http/alsa-ucm-conf.git
: http://git.alsa-project.org/http/tinycompress.git
 
: http://git.alsa-project.org/http/alsa.git
 
: http://git.alsa-project.org/http/alsa-driver.nomirror.git
: http://git.alsa-project.org/http/alsa-kmirror.git
 
==For developers - kernel drivers==
 
===Common rules===
 
: 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
 
===Rules for alsa-kernel.git and the mirror branch in alsa-driver.git===
 
: 1) subject (first commit text line) must start with '[ALSA] ' or 'ALSA: ' or '[sound] ' or 'sound: '
 
===Rules for alsa-kprivate.git===
 
No rules. Just do not overwrite branches created by someone else. The 'master' branch is equal to linux-2.6 official tree from
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (do sync if necessary):
 
  git remote add linux-2.6 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  git checkout master
  git pull linux-2.6 master
  git push --tags origin master
 
===Syncing the branch release in alsa-driver.git===
 
  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]
        bmerge = !git checkout release && git merge --log build
        mmerge = !git checkout release && git merge --log mirror
 
===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
 
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
git push --tags origin linux-2.6
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'.
 
===Branches===
 
; master
: this branch is for main development, managed by Jaroslav Kysela, it is rebased before ALSA releases
: the contents is synced to alsa-kmirror.git
 
; linux-next
: this branch is for linux next testing tree (originaly maintaned by Andrew Morton), rebased
 
; for-linus
: this branch is for mainstream tree (for Linus Torvalds), just temporary branch
 
; linux-2.6
: this is official linux 2.6 mainstream tree
 
; stable-2.6.<number>
: patches for stable 2.6 kernels
 
===Tags===
 
Private tags are not allowed. Only branches identifying ALSA version (alsa-driver.git) or official linux kernel version (alsa-kernel.git) are allowed.
 
===Maintenance===
 
GIT server is maintaned by [[User:Perex]].
 
==Occasional Developers==
This section is for developers without write access to ALSA git. i.e., who will clone repos and send in patches
 
===clone the repository===
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
 
If you live behind a firewall that blocks the git protocol, you can do this instead:
 
git clone http://git.alsa-project.org/http/alsa-driver.git alsa-driver
 
Note: You may do changes directly in the Linus's kernel GIT tree and send the patches from it.
 
===configure git===
Set your email address correctly otherwise commits get spurious email address for Author and Commiter
git config --add user.email me@domain.com
 
Make sure it knows how to send email (for patches)
git config --add sendemail.smtpserver smtp.domain.com


===save current===
: https://git.alsa-project.org/http/alsa.git
in case you want to roll back
git branch save


===do your work===
edit, compile, test, sweat


If it didn't work out and you want to get back to the old tree
===Kernel development===
git reset --hard save


===generate patches===
The ALSA drivers development follows the standard kernel development now. Please, send patches to the associated [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS maintainer] with the copy to the alsa-devel mailing list - [[Mailing-lists]].
Want to get patch against latest, so rebase
git rebase origin/master
git diff remotes/origin/master


Then do this to generate the patchset
Main tree:
git format-patch -s -n -p --subject-prefix="PATCH - my module" remotes/origin/master


===check the patches===
: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
/lib/modules/`uname -r`/build/scripts/checkpatch.pl --no-tree *.patch
: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git


===sending the patches===
ASoC tree:


git send-email --from=me --to=patch@alsa-project.org --cc=alsa-devel@alsa-project.org 000*.patch
: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
: git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git


===get up to date===
ASoC SOF drivers:
For both alsa-kmirror and alsa-driver
git pull


Sometimes you can just make and things will be fine. However, when there have been changes to the build system etc, its best to do a make clean; ./gitcompile to get the tree properly up to date.
: https://github.com/thesofproject/linux/


[[Category:Development]]
[[Category:Development]]

Latest revision as of 14:49, 6 December 2021

ALSA Repositories

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
alsa-ucm-conf.git
ALSA Use-Case-Manager configuration library
tinycompress.git
Compressed formats support library
alsa.git
ALSA service repo (misc files)

Anonymous access

Read only GIT server

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
git clone git://git.alsa-project.org/alsa-ucm-conf.git alsa-ucm-conf
git clone git://git.alsa-project.org/tinycompress.git tinycompress
git clone git://git.alsa-project.org/alsa.git alsa

Web interface

https://git.alsa-project.org/?p=alsa-lib.git
https://git.alsa-project.org/?p=alsa-utils.git
https://git.alsa-project.org/?p=alsa-firmware.git
https://git.alsa-project.org/?p=alsa-tools.git
https://git.alsa-project.org/?p=alsa-plugins.git
https://git.alsa-project.org/?p=alsa-oss.git
https://git.alsa-project.org/?p=alsa-python.git
https://git.alsa-project.org/?p=alsa-ucm-conf.git
https://git.alsa-project.org/?p=tinycompress.git
https://git.alsa-project.org/?p=alsa.git

HTTP access

https://git.alsa-project.org/http/alsa-lib.git
https://git.alsa-project.org/http/alsa-utils.git
https://git.alsa-project.org/http/alsa-firmware.git
https://git.alsa-project.org/http/alsa-tools.git
https://git.alsa-project.org/http/alsa-plugins.git
https://git.alsa-project.org/http/alsa-oss.git
https://git.alsa-project.org/http/alsa-python.git
https://git.alsa-project.org/http/alsa-ucm-conf.git
https://git.alsa-project.org/http/tinycompress.git
https://git.alsa-project.org/http/alsa.git


Kernel development

The ALSA drivers development follows the standard kernel development now. Please, send patches to the associated maintainer with the copy to the alsa-devel mailing list - Mailing-lists.

Main tree:

https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git

ASoC tree:

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git

ASoC SOF drivers:

https://github.com/thesofproject/linux/