Vorlage:Auschecken: Unterschied zwischen den Versionen
(→CVS) |
(Auschecken erweitert) |
||
| Zeile 1: | Zeile 1: | ||
Der [[Tuxbox|Tuxbox]] Quellcode wird derzeit hauptsächlich durch den [[Tuxbox|Tuxbox]] [[CVS-Server]] bereitgestellt. Dort befindet sich der Hauptentwicklungszweig des Projektes im so genannten HEAD. | Der [[Tuxbox|Tuxbox]] Quellcode wird derzeit hauptsächlich durch den [[Tuxbox|Tuxbox]] [[CVS-Server]] bereitgestellt. Dort befindet sich der Hauptentwicklungszweig des Projektes im so genannten [[HEAD.]] | ||
Regelmäßige Quellreleases sind niemals gemacht worden, und sind auch nicht für die Zukunft geplant. | Regelmäßige Quellreleases sind niemals gemacht worden, und sind auch nicht für die Zukunft geplant. | ||
Als Normalbenutzer werden die Quellen anonym "ausgecheckt", was bedeutet, dass diese auf die eigene Festplatte kopiert werden, indem man zuerst auf einer (lokalen) Festplatte mit "ordentlich" freiem Platz ein leeres Verzeichnis erstellt, z.B. ''/[[Tuxbox|tuxbox]]-[[CVS|cvs]]'' und in diesen Ordner wechselt, und | Inzwischen werden auch einige Repositories von einigen Entwicklern auf der Basis von [[Git]] parallel dazu gepflegt. Grund: Die Möglichkeiten von [[CVS]] sind leider in gewissen Bereichen erheblich eingeschränkt und es ist daher für Entwickler nicht immer optimal, mit [[CVS]] zu arbeiten. [[Git]] bietet hier deutliche Vorteile auch gegenüber [[SVN]]. Es ist aber für den Normal-Auschecker ohne größere Bedeutung. | ||
Als Normalbenutzer werden die Quellen anonym "ausgecheckt", was bedeutet, dass diese auf die eigene Festplatte kopiert werden, indem man zuerst auf einer (lokalen) Festplatte mit "ordentlich" freiem Platz ein leeres Verzeichnis erstellt, z.B. ''/[[Tuxbox|tuxbox]]-[[CVS|cvs]]'' und in diesen Ordner wechselt, und diese Befehle oder auch Scripte dort ausführt. | |||
===CVS=== | ===CVS=== | ||
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P . | |||
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P . | Auschecken nach Datum. Bsp.: 26.10.2009 19:00 Uhr | ||
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -D "2009-10-26 19:00+0100" -P . | |||
====Update der CVS-Quellen==== | |||
Für ein Update der Quellen, diesen Befehl verwenden: | Für ein Update der Quellen, diesen Befehl verwenden: | ||
cvs -z3 -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox up -dP . | cvs -z3 -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox up -dP . | ||
<br style="clear:right;" /> | |||
<div style="padding:0.5em; margin-bottom:1em; border: 2px solid #a00;">[[Bild:Stop hand.png]] '''HINWEIS:''' | |||
''Es ist durchaus sinnvoll wegen des Traffics möglichst nur ein Update zu machen, als jedesmal komplett auszuchecken!'' | |||
</div> | |||
===Git=== | |||
Alternativ kann man auch von [[Git]]-Repositories auschecken, welche quasi sog. Mirrors vom [[Tuxbox-CVS]] darstellen. Bei [[Git]] spricht man hier allerdings vom "'''Klonen'''", bei dem ein Repository-Clone auf dem Lokalen Rechner angelegt wird und unabhängig vom [[CVS]] arbeiten kann. | |||
====Gitorious==== | |||
Hier handelt es sich um ein reines Mirror-Repository von Seife. Es wird regelmäßig aktualisiert, wobei die Sychronisierung mit dem [[Tuxbox-CVS]] nicht immer umgehend erfolgt. Der Master-[[Branch]] entspricht dem [[HEAD]] aus dem [[Tuxbox-CVS]]. | |||
#!/bin/sh | |||
# use this script for cloning all git repos to your machine | |||
# How to: | |||
# create a empty clone directory | |||
# mkdir /home/[USER]/[CLONE_DIRECTORY] | |||
# enter to your clone directory | |||
# cd /home/[USER]/[CLONE_DIRECTORY] | |||
# execute this script | |||
# ./clone.sh | |||
# this will clone all repos to your clone directory | |||
# this will clone all repos to your clone directory | |||
CVSREPOS="apps boot cdk driver hostapps" | |||
REPLIST="$CVSREPOS" | |||
GITCLONE="git clone git://gitorious.org/~seife/tuxbox-cvs/" | |||
#clone all | |||
for f in $REPLIST ; do | |||
$GITCLONE/$f.git $f | |||
done | |||
=== | ====Sourceforge==== | ||
Hier handelt es sich um ein Repository bestehend aus mehreren [[Branch]]es, von dem einer davon dem [[HEAD]] aus dem [[Tuxbox-CVS]] entspricht, auf den im folgenden Clone-Script automatisch gewechselt wird und mit dem man arbeiten kann. Dieser wird derzeit auch regelmäßig sychronisiert. | |||
#!/bin/sh | |||
# use this script for cloning all git repos to your machine | |||
# How to: | |||
# create a empty clone directory | |||
# mkdir /home/[USER]/[CLONE_DIRECTORY] | |||
# enter to your clone directory | |||
# cd /home/[USER]/[CLONE_DIRECTORY] | |||
# execute this script | |||
# ./clone.sh | |||
# this will clone all repos to your clone directory | |||
PROJECT=novatux | |||
CVSREPOS="apps boot cdk driver hostapps" | |||
REPLIST="$CVSREPOS" | |||
GITCLONE="git clone git://$PROJECT.git.sourceforge.net/gitroot/$PROJECT" | |||
#clone all | |||
for f in $REPLIST ; do | |||
$GITCLONE/$f | |||
done | |||
#create remotes to original repos from tuxbox-cvs | |||
TUXBOX="tuxbox-cvs" | |||
for f in $CVSREPOS ; do | |||
cd $f | |||
git branch -v $TUXBOX | |||
git branch -v "novatux_experimental" | |||
git checkout $TUXBOX | |||
cd .. | |||
done | |||
====Update der GIT-Repositories==== | |||
#!/bin/sh | |||
# this will update all repos in your clone directory | |||
# change to the directory that contains all repositories and execute this script | |||
CVSREPOS="apps boot cdk driver hostapps" | |||
DIR=`pwd` | |||
REPLIST="$CVSREPOS" | |||
GITPULL="git pull -v" | |||
#pull all | |||
for f in $REPLIST ; do | |||
cd $DIR/$f | |||
$GITPULL | |||
cd .. | |||
done | |||
''' | <br style="clear:right;" /> | ||
''Obwohl es eigentlich keiner Erklärung bedarf soll aber hier trotzdem darauf hingewiesen werden, dass es nach einem Update in der Regel notwendig ist ein neues configure durchzuführen!'' | <div style="padding:0.5em; margin-bottom:1em; border: 2px solid #a00;">[[Bild:Stop hand.png]] '''HINWEIS:''' | ||
''Obwohl es eigentlich keiner Erklärung bedarf, soll aber hier trotzdem darauf hingewiesen werden, dass es nach einem Update in der Regel notwendig ist, ein neues configure durchzuführen!'' | |||
</div> | |||
Version vom 18. Juni 2011, 19:59 Uhr
Der Tuxbox Quellcode wird derzeit hauptsächlich durch den Tuxbox CVS-Server bereitgestellt. Dort befindet sich der Hauptentwicklungszweig des Projektes im so genannten HEAD. Regelmäßige Quellreleases sind niemals gemacht worden, und sind auch nicht für die Zukunft geplant.
Inzwischen werden auch einige Repositories von einigen Entwicklern auf der Basis von Git parallel dazu gepflegt. Grund: Die Möglichkeiten von CVS sind leider in gewissen Bereichen erheblich eingeschränkt und es ist daher für Entwickler nicht immer optimal, mit CVS zu arbeiten. Git bietet hier deutliche Vorteile auch gegenüber SVN. Es ist aber für den Normal-Auschecker ohne größere Bedeutung.
Als Normalbenutzer werden die Quellen anonym "ausgecheckt", was bedeutet, dass diese auf die eigene Festplatte kopiert werden, indem man zuerst auf einer (lokalen) Festplatte mit "ordentlich" freiem Platz ein leeres Verzeichnis erstellt, z.B. /tuxbox-cvs und in diesen Ordner wechselt, und diese Befehle oder auch Scripte dort ausführt.
CVS
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .
Auschecken nach Datum. Bsp.: 26.10.2009 19:00 Uhr
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -D "2009-10-26 19:00+0100" -P .
Update der CVS-Quellen
Für ein Update der Quellen, diesen Befehl verwenden:
cvs -z3 -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox up -dP .
Es ist durchaus sinnvoll wegen des Traffics möglichst nur ein Update zu machen, als jedesmal komplett auszuchecken!
Git
Alternativ kann man auch von Git-Repositories auschecken, welche quasi sog. Mirrors vom Tuxbox-CVS darstellen. Bei Git spricht man hier allerdings vom "Klonen", bei dem ein Repository-Clone auf dem Lokalen Rechner angelegt wird und unabhängig vom CVS arbeiten kann.
Gitorious
Hier handelt es sich um ein reines Mirror-Repository von Seife. Es wird regelmäßig aktualisiert, wobei die Sychronisierung mit dem Tuxbox-CVS nicht immer umgehend erfolgt. Der Master-Branch entspricht dem HEAD aus dem Tuxbox-CVS.
#!/bin/sh # use this script for cloning all git repos to your machine # How to: # create a empty clone directory # mkdir /home/[USER]/[CLONE_DIRECTORY] # enter to your clone directory # cd /home/[USER]/[CLONE_DIRECTORY] # execute this script # ./clone.sh # this will clone all repos to your clone directory # this will clone all repos to your clone directory CVSREPOS="apps boot cdk driver hostapps" REPLIST="$CVSREPOS" GITCLONE="git clone git://gitorious.org/~seife/tuxbox-cvs/" #clone all for f in $REPLIST ; do $GITCLONE/$f.git $f done
Sourceforge
Hier handelt es sich um ein Repository bestehend aus mehreren Branches, von dem einer davon dem HEAD aus dem Tuxbox-CVS entspricht, auf den im folgenden Clone-Script automatisch gewechselt wird und mit dem man arbeiten kann. Dieser wird derzeit auch regelmäßig sychronisiert.
#!/bin/sh # use this script for cloning all git repos to your machine # How to: # create a empty clone directory # mkdir /home/[USER]/[CLONE_DIRECTORY] # enter to your clone directory # cd /home/[USER]/[CLONE_DIRECTORY] # execute this script # ./clone.sh # this will clone all repos to your clone directory PROJECT=novatux CVSREPOS="apps boot cdk driver hostapps" REPLIST="$CVSREPOS" GITCLONE="git clone git://$PROJECT.git.sourceforge.net/gitroot/$PROJECT" #clone all for f in $REPLIST ; do $GITCLONE/$f done #create remotes to original repos from tuxbox-cvs TUXBOX="tuxbox-cvs" for f in $CVSREPOS ; do cd $f git branch -v $TUXBOX git branch -v "novatux_experimental" git checkout $TUXBOX cd .. done
Update der GIT-Repositories
#!/bin/sh # this will update all repos in your clone directory # change to the directory that contains all repositories and execute this script CVSREPOS="apps boot cdk driver hostapps" DIR=`pwd` REPLIST="$CVSREPOS" GITPULL="git pull -v" #pull all for f in $REPLIST ; do cd $DIR/$f $GITPULL cd .. done