Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

12.1.2 Beispiele f�r CVS-Sitzungen

Das Folgende stellt die Shell-Umgebung f�r den CVS-Repository-Zugriff ein.


12.1.2.1 Anonymes CVS (nur Download)

Entfernter nur lesbarer Zugang:

     $ export CVSROOT=:pserver:[email protected]:/cvsroot/qref
     $ cvs login
     $ cvs -z3 co qref

12.1.2.2 Nutzen eines lokalen CVS-Servers

Lokaler Zugang von der Shell auf der selben Maschine:

     $ export CVSROOT=/var/lib/cvs

12.1.2.3 Nutzen eines entfernten CVS-pserver

Entfernter Zugriff ohne SSH (verwenden Sie das RSH Protokoll in cvs):

     $ export CVSROOT=:pserver:[email protected]:/var/lib/cvs
     $ cvs login

Dies ist f�r Lauschangriffe anf�llig.


12.1.2.4 Nutzen von entfernten CVS mittels ssh

Entfernter Zugriff mit SSH:

     $ export CVSROOT=:ext:[email protected]:/var/lib/cvs

oder f�r SourceForge:

     $ export CVSROOT=:ext:[email protected]:/cvsroot/qref

Man kann auch RSA Authentifizierung nutzen (Mit weniger Passw�rter agieren, Abschnitt 9.5.3), was die Passwortabfrage �berfl�ssig macht.


12.1.2.5 Erzeugen eines neuen CVS-Archivs

F�r

     EINTRAG          WERT              BEDEUTUNG
     Quellbaum:       ~/Projekt-x       gesamter Quellcode
     Projektname:     Projekt-x         der Name dieses Projekts
     Vendor Tag:      Hauptzweig        Wert f�r ganzen Zweig
     Release Tag:     Release-initial   Wert f�r eine spezielle Version

Danach

     $ cd ~/Projekt-x                # wechseln ins Quellverzeichnis
      ... Erzeugen des Quellcodes ...
     $ cvs import -m "Starte Projekt-x" Projekt-x Hauptzweig Release-initial
     $ cd ..; rm -R ~/Projekt-x

12.1.2.6 Arbeiten mit CVS

Um mit Projekt-x unter Verwendung des lokalen CVS-Repositorys zu arbeiten:

     $ cd                            # ins Arbeitsverzeichnis wechseln
     $ cvs co Projekt-x              # Quellen aus dem CVS kopieren
     $ cd Projekt-x
      ... �ndern des Codes ...
     $ cvs diff -u                   # wie diff -u Repository/ lokal/
     $ cvs up -C modifizierte_Datei  # �nderungen r�ckg�ngig machen
     $ cvs ci -m "�nderungen"        # sichern der lokalen Quellen
     $ vi neue_hinzugef�gte_Datei    #   ... ins CVS
     $ cvs add neue_hinzugef�gte_Datei
     $ cvs ci -m "Neue Datei neue_hinzugef�gte_Datei"
     $ cvs up                        # verschmelzen mit der letzten
                                     # Version aus dem CVS
      ... zum Erzeugen aller neu erstellten Unterverzeichnisse im CVS
      ... ist "cvs up -d -P" stattdessen zu verwenden
      ... achten Sie auf Ausgaben, die mit "C Dateiname" starten
      ... nicht modifizierter Code wird nach `.#Dateiname.Version'
          verschoben
      ... suchen Sie nach "<<<<<<<" und ">>>>>>>" in der Datei
     $ cvs tag Release-1             # hinzuf�gen des Release Tag
      ... weitere �nderungen ...
     $ cvs tag -d Release-1          # entfernen des Release Tag
     $ cvs ci -m "mehr Kommentare"
     $ cvs tag Release-1             # erneutes hinzuf�gen des Tag
     $ cd                            # ins Arbeitsverzeichnis wechseln
     $ cvs co -r Release-initial -d alt Projekt-x
      ... Originalversion ins alt Verzeichnis kopieren
     $ cd alt
     $ cvs tag -b Release-initial-bugfixes # erzeuge Zweig (-b)
      ... nun kann mit der alten Version gearbeitet werden (Tag=sticky)
     $ cvs update -d -P              # keine leeren Verz. erstellen
      ... Quellbaum hat nun den sticky Tag "Release-initial-bugfixes"
      ... arbeiten in diesem Zweig
     $ cvs up -d -P                  # synchronisieren mit von anderen
                                # modifizierten Dateien in diesem Zweig
     $ cvs ci -m "einchecken in diesen Zweig"
     $ cvs update -kk -A -d -P
      ... entfernen des sticky Tag und Inhalt vergessen
      ... Aktualisierung des Haupt"trunk" ohne Schl�sselwortersetzung
     $ cvs update -kk -d -P -j Release-initial-bugfixes
      ... vermengen des Release-initial-bugfixes Zweigs in den
      ... Haupt"trunk" ohne Schl�sselwortersetzung. Beseitigen Sie
      ... Konflikte mit einem Editor.
     $ cvs ci -m "vermenge Release-initial-bugfixes"
     $ cd
     $ tar -cvzf Projekt-x-alt.tar.gz alt # Archiv erstellen, -j f�r bz2
     $ cvs release -d alt            # lokale Quellen entfernen (optional)

Nette Optionen zur Erinnerung (als erstes Argument von cvs nutzen):

     -n      Probelauf, hat keinen Effekt
     -t      Anzeigen von Mitteilungen zur CVS-Aktivit�t

12.1.2.7 Exportieren von Dateien aus dem CVS

Um die letzte Version aus dem CVS zu nutzen, verwenden Sie "tomorrow" (morgen):

     $ cvs ex -D tomorrow Modulname

12.1.2.8 Verwalten des CVS

F�gen Sie ein Alias zum Projekt hinzu (lokaler Server):

     $ su - admin           # ein Mitglied von staff
     $ export CVSROOT=/var/lib/cvs
     $ cvs co CVSROOT/modules
     $ cd CVSROOT
     $ echo "px -a Projekt-x" >>modules
     $ cvs ci -m "Nun ist px ein Alias f�r Projekt-x"
     $ cvs release -d .
     $ exit                 # oder Strg-D um von su zur�ckzukehren
     $ cvs co -d Projekt px 
      ... auschecken von Projekt-x (Alias: px) aus dem CVS ins
      ... Verzeichnis Projekt
     $ cd Projekt
      ... �nderungen vornehmen ...

Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire