Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:svn

svn - Subversion Micro-Spickzettel

2012-06-11

eine SVN-Client-Config

#~/.subversion/config

[auth]

[helpers]

[tunnels]
mysvn = $MYSVN /usr/bin/ssh -l svn

[miscellany]

[auto-props]

einen ganzen Pfad das erste mal einchecken

erst mal überlegen, wohin auf dem SVN-Server das eingecheckt werden soll:

svnpfad=`hostname | sed 's/.*-//'`/`pwd`
svn import -m "Initial import" . svn+mysvn://svnserver.unixwitch.de/$svnpfad
mkdir tmpsvntmp
cd tmpsvntmp
svn co svn+mysvn://svnserver.unixwitch.de/$svnpfad
mv */.svn ..
cd ..
rm -r tmpsvntmp 

Alternative: In-Place-Import

Header mit Versionsnummer und ähnlichem aktualisieren lassen (propset, $Id$)

Man kennt das noch aus RCS - Revision Control System-Zeiten:

Wenn man im Header spezielle Code-Worte mit $ umrandet (z.B. $Id$), dann wird beim nächsten Einchecken dieses Codewort passend ersetzt.

Beispiel:

!/usr/bin/env python
"""
meinscript macht nix, ist aber beispielhaft :-)
"""

##########################################################################
# meinscript.py
# www.unixwitch.de 2009-05-06
# SVN:
# $Id:: meinscript.py 849 2009-02-23 17:21:28Z hella                    $:
# $HeadURL: svn+mysvn://svnserver.unixwitch.de/pfad/meinscript.py $
##########################################################################

scriptsvndate="serv-SVN-$Date: $"
scriptsvndate=re.sub("\$","",scriptsvndate)

scriptsvnid="serv-SVN-$Id: meinscript.py 894 2009-02-23 17:21:28Z hella $"
scriptsvnid=re.sub("\$","",scriptsvnid)

Damit das funktioniert, muss man svn (einmalig) mitteilen, dass es diese Felder in dieser Datei auch aktualisieren soll. Sonst wird $Id$ usw. nicht erneuert.

$ svn propset svn:keywords "Author Id Revision Date HeadURL"  meinscript.py 

Beim nächsten Checkin werden die Kopfzeilen dann dementsprechend automatisch angepasst

$ svn ci -m"unzaehlige bugs entfernt, sinnlose features und neue bugs eingebaut" meinscript.py

lokale Dateien aktualisieren (update)

Auf dem SVN-Server gibts eine neuere Version, die holt man sich mit:

$ svn update

oder

$ svn update meinscript.py
de/sysadmin/tools/svn.txt · Zuletzt geändert: 2019-09-29 00:20 von hella

Seiten-Werkzeuge

Mastodon Twitter