Subversion-HowTo

Einführung

Ressourcen:

Erste Schritte:

  1. Public Key Authentifizierung fuer SSH aufsetzen:

    Da im Folgenden oft eine SSH-Verbindung zu darwin.fh-regensburg.de aufgebaut wird empfiehlt es sich, eine Authentifizierung mittels Public Keys anstatt von Passworten zu realisieren.

    Die dazu nötigen Schritte finden Sie hier.

  2. Neues Projekt anlegen:

    Im Folgenden wird ein neues Projekt-Verzeichnis mit einer Datei "README" in das Verzeichnis "MB/abc12345" importiert. Das Verzeichnis "leer" kann anschliessend geloescht werden.

      % mkdir $HOME/MB
      % cd MB
      % mkdir leer
      % cd leer
      % echo Vorname Name MatrikelNummer email@example.com >README
      % svn import -m "$USER-Projekt" . svn+ssh://darwin.fh-regensburg.de/usrdata/bedienst/f/feh39068/MBSVNROOT/MB/abc12345
      % cd ..
    
  3. Projekt auschecken zum bearbeiten:

    Das in "MB/abc12345" abgelegte Projekt kann wie folgt zur Bearbeitung aus dem Subversion-Repository ausgecheckt werden:

      % cd $HOME/MB
      % mv abc12345 abc12345.BAK
      % svn co svn+ssh://darwin.fh-regensburg.de/usrdata/bedienst/f/feh39068/MBSVNROOT/MB/abc12345
      % cd abc12345
    
    Anschliessend können im Verzeichnis "abc12345" Dateien bearbeitet, neu angelegt und geloescht werden.

  4. Bearbeiten:

    Nachdem eine Datei bearbeitet wurde können die Änderungen betrachtet und anschliessend in das Repository zurückgeschrieben werden:

    % vi README
    % svn diff README
    % svn commit README
    
    Beim committen wird noch nach einer Zusammenfassung der Änderungen gefragt, die für weitere Entwickler (bzw. fuer Sie in einem halben Jahr) aufschlussreich sein können.

    Wenn beim committen keine Datei angegeben wird, dann werden alle geänderten Dateien committet.

  5. Informationen abrufen:

    Um festzustellen welche Dateien lokal geaendert wurden kann man sich den Status aller Dateien anzeigen lassen:

    % svn status
    
    Vor dem Committen kann festgestellt werden, welche Änderungen gemacht wurden:

    % svn diff README
    
    Für einzelne Dateien kann auch die Revisionshistorie aufgelistet werden:

    % svn log README
    
    Es kann auch ermittelt werden, welche Änderungen zwischen Revision X und Revision Y gemacht wurden:
    % svn diff -rX:Y README
    
  6. Neue Datei anlegen:

    Um eine einzelne neue Datei in einem Verzeichnis, das unter Subversion-Kontrolle ist (z.B. .../abc12345) anzulegen muss die Datei erst existieren, dann muss sie getrennt hinzugefuegt werden, und die ganze Änderung committet werden:

      % touch newfile
      % svn add newfile
      % svn commit
    
  7. Datei bzw. Verzeichnis loeschen:

    Das Loeschen von Verzeichnissen und Dateien aus dem Repository muss erst lokal angezeigt und dann committed werden:

      % svn rm oldfile
      % svn commit -m "gone" oldfile
    
    bzw.
      % svn rm verzeichnis
      % svn commit -m "wech" verzeichnis
    
  8. Datei umbenennen:

    Auch das Umbenennen von Dateien muß extra committet werden:

      % svn rename alt neu
      % svn commit -m "alt -> neu"
    
  9. Neues Verzeichnis mit Datei anlegen:

    Um ein neues Verzeichnis inkl. Dateien anzulegen kann dies entweder mittels "svn import" importiert werden wie oben gezeigt, oder das Verzeichnis und die einzelnen Dateien manuell hinzugefügt werden:

      % cd $HOME/MB/abc12345
      % mkdir uebungX
      % svn add uebungX
      % 
      % cp $HOME/XXX/Makefile uebungX
      % cp $HOME/XXX/hello.c uebungX
      % svn add uebungX/Makefile
      % svn add uebungX/hello.c
      % 
      % svn commit -m "Uebung Nummer X" uebungX
    

$Id: subversion-howto.html,v 1.14 2008/02/15 10:56:34 feyrer Exp $
Copyright (c) 2008 Hubert Feyrer <hubert@feyrer.de>
Alle Rechte vorbehalten.