Vorlage:Auschecken: Unterschied zwischen den Versionen
Dbt (Diskussion | Beiträge) (Auf Git angepasst) |
Dbt (Diskussion | Beiträge) (klonen erweitert) |
||
| Zeile 11: | Zeile 11: | ||
==Klonen der Repositories== | ==Klonen der Repositories== | ||
*Erzeuge ein Verzeichnis '''tuxbox-cvs''' und wechsle in dieses Verzeichnis: | |||
<source lang="bash"> | <source lang="bash"> | ||
mkdir tuxbox-cvs | |||
cd tuxbox-cvs | |||
</source> | |||
===Einfaches Klonen=== | |||
Dies sind einfache Methoden für den normalen Gebrauch, wenn man nur die Quellen benötigt und keine Änderungen vornehmen möchte. | |||
<source lang="bash"> | |||
REPLIST="apps boot cdk driver hostapps sandbox" | REPLIST="apps boot cdk driver hostapps sandbox" | ||
for f in $REPLIST ; do | for f in $REPLIST ; do | ||
| Zeile 19: | Zeile 27: | ||
done | done | ||
</source> | </source> | ||
Dies geht auch über http: | |||
<source lang="bash"> | <source lang="bash"> | ||
REPLIST="apps boot cdk driver hostapps sandbox" | REPLIST="apps boot cdk driver hostapps sandbox" | ||
| Zeile 26: | Zeile 34: | ||
done | done | ||
</source> | </source> | ||
Nach dem Klonen befinden sich 5 Repos in '''../tuxbox-cvs''' | |||
===Klonen mit Vorbereitung zum Bearbeiten der Sourcen=== | |||
Wer (intensiv) Änderungen am Quellcode vornehmen möchte, legt üblicherweise einen lokalen Zweig (Branch) an, auf dem man arbeitet. Auch dies kann man vorab schon beim Klonen erledigen und einen lokalen Zweig namens '''[USERNAME]_local''' anlegen und darauf wechseln. Der Master-Branch ist zur Bearbeitung prinzipiell Tabu, siehe auch: [[Development:Git Workflow]]. | |||
<source lang="bash"> | |||
REPLIST="apps boot cdk driver hostapps sandbox" | |||
for f in $REPLIST ; do | |||
git clone git://git.code.sf.net/p/tuxbox-cvs/$f $f | |||
cd $f | |||
git checkout -b `logname`_local | |||
cd .. | |||
done | |||
</source> | |||
Nur um es sinnbildlich zu verdeutlichen, entspricht nun dieser lokale Zweig im Kontext zur früheren Arbeitsweise mit [[CVS]] als nicht verteiltes VCS, dem frisch ausgecheckteten Stand vom [[CVS]]-Server, mit dem man arbeitet. Der Master-Branch schlußfolglich wäre Quasi der CVS-Server, auf dem man für gewöhnlich keinen Schreibzugriff hat. | |||
==Abgleichen des lokalen Standes mit dem Remote Repositories== | ==Abgleichen des lokalen Standes mit dem Remote Repositories== | ||
Version vom 10. Dezember 2012, 10:55 Uhr
Der Tuxbox Quellcode wird derzeit bei Sourceforge bereitgestellt. Dort befinden sich die Hauptentwicklungszweige des Projektes in Form von 5 Git-Repositries
Die Struktur der momentan verfügbaren Repositories, entspricht in etwa der Modulstruktur, wie man sie vor Umstellung von CVS auf Git kannte, wobei es noch zu diversen Anpassungen kommen dürfte. Welche Art diese Anpassungen sind, ist noch nicht vollständig geklärt. Weitere Hintergründe dazu im Tuxbox-Forum.
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.
Klonen der Repositories
- Erzeuge ein Verzeichnis tuxbox-cvs und wechsle in dieses Verzeichnis:
mkdir tuxbox-cvs
cd tuxbox-cvs
Einfaches Klonen
Dies sind einfache Methoden für den normalen Gebrauch, wenn man nur die Quellen benötigt und keine Änderungen vornehmen möchte.
REPLIST="apps boot cdk driver hostapps sandbox"
for f in $REPLIST ; do
git clone git://git.code.sf.net/p/tuxbox-cvs/$f $f
done
Dies geht auch über http:
REPLIST="apps boot cdk driver hostapps sandbox"
for f in $REPLIST ; do
git clone http://git.code.sf.net/p/tuxbox-cvs/$f $f
done
Nach dem Klonen befinden sich 5 Repos in ../tuxbox-cvs
Klonen mit Vorbereitung zum Bearbeiten der Sourcen
Wer (intensiv) Änderungen am Quellcode vornehmen möchte, legt üblicherweise einen lokalen Zweig (Branch) an, auf dem man arbeitet. Auch dies kann man vorab schon beim Klonen erledigen und einen lokalen Zweig namens [USERNAME]_local anlegen und darauf wechseln. Der Master-Branch ist zur Bearbeitung prinzipiell Tabu, siehe auch: Development:Git Workflow.
REPLIST="apps boot cdk driver hostapps sandbox"
for f in $REPLIST ; do
git clone git://git.code.sf.net/p/tuxbox-cvs/$f $f
cd $f
git checkout -b `logname`_local
cd ..
done
Nur um es sinnbildlich zu verdeutlichen, entspricht nun dieser lokale Zweig im Kontext zur früheren Arbeitsweise mit CVS als nicht verteiltes VCS, dem frisch ausgecheckteten Stand vom CVS-Server, mit dem man arbeitet. Der Master-Branch schlußfolglich wäre Quasi der CVS-Server, auf dem man für gewöhnlich keinen Schreibzugriff hat.
Abgleichen des lokalen Standes mit dem Remote Repositories
Für beide Repos kann dieses Script zum Updaten verwendet werden.
#!/bin/sh
# this will update all repos in your clone directory
# change to the directory that contains all repositories and execute this script
# ensure that you have changed to branch 'master' !
CVSREPOS="apps boot cdk driver hostapps"
DIR=`pwd`
REPLIST="$CVSREPOS"
GITPULL="git pull --rebase"
#pull all
for f in $REPLIST ; do
cd $DIR/$f
$GITPULL
cd ..
done