On Sunday 20 February 2005 01:48, Matthias Männich wrote:
ich habe vor, für meine latex-dokumente und sonstige sachen, eine persönliche versionsverwaltung zu benutzen. wie stelle ich das beispielsweise mit lincvs an? alle bisher gefundenen tutorials beschreiben die vorgehensweise mit einem CVS-Server. brauche ich einen lokalen CVS-Server oder komme ich da herum? gibt es für solche fälle vielleicht bessere alternativen zu cvs?
Mit CVS:
#Repository anlegen: mkdir $HOME/cvsroot cvs -d $HOME/cvsroot init
#initialer Checkin & Backup der alten Sourcen: cd mein/latex/pfad/meinprojekt make clean ;#alles löschen, was erzeugt wird (*.ps, *.log, *.aux, etc.) cvs -d $HOME/cvsroot import -m start meinprojekt meinprojekt start cd .. mv meinprojekt meinprojekt.old ;#backup, falls was schiefgeht
#initialer Checkout: cvs -d $HOME/cvsroot checkout meinprojekt
#Dateien Hinzufügen: cd meinprojekt #datei erstellen cvs add neuesfile.tex ;#ASCII file cvs add -kb neuesbild.eps ;# binary file oder file wo keine Ersetzung gewünscht ist
#Dateien löschen: cvs remove altesfile.tex
#Änderungen ins Repository einchecken: cvs commit (wenn Du vi nicht magst, dann mach export EDITOR=meineditor)
#aus dem Repository holen: cvs update
#backup: #alle cvs prozesse beenden, dann tar cvfz backup.tgz ~/cvsroot
Nachteil von CVS: kann nicht umbenennen und kann keine Verzeichnisse versionieren (move=remove+add) Vorteil: wenn was schiefgeht kann man die Dateien im Repository bearbeiten (falls man sich traut. habe das noch nie gebraucht)
Mit subversion:
#init: svnadmin init ~/svnroot svn mkdir file://$HOME/svnroot/meinprojekt #für die normale Vorgehensweise mit richtigen Projekten. #muss man aber nicht: svn mkdir file://$HOME/svnroot/meinprojekt/trunk svn mkdir file://$HOME/svnroot/meinprojekt/branches svn mkdir file://$HOME/svnroot/meinprojekt/tags
#import: cd mein/latex/pfad/meinprojekt make clean ;#alles löschen, was erzeugt wird (*.ps, *.log, *.aux, etc.) cvs import file://$HOME/svnroot/meinprojekt/trunk cd .. mv meinprojekt meinprojekt.old
Der Rest geht wie bei CVS. Plus:
#Umbenennen: svn move oldfile.tex newfile.tex #auch über Verzeichnisse hinweg, solange es im SVN-Pfad bleibt
#zweite Backup-Möglichkeit: svnadmin dump $HOME/svnroot |gzip backupfile.gz
Noch eine Warnung: speichere Dein svnroot keinesfalls auf einem Network-Share (mit FSFS statt BDB soll es gehen, ist aber nicht ratsam) - auf denen können parallele Zugriffe nämlich nicht abgefangen werden.
Wahrscheinlich zum ersten LUG-Treff im März mache ich mal einen SVN-Vortrag (bereite ihn gerade vor).
Konrad