by Sven
22. March 2007 11:22
Subversion erlaubt für jede Datei und jedes Verzeichnis im Repository das Setzen von Metadaten bzw. Properties. Über diese Properties werden zum Beispiel der Mime-Type, Ersetzungszeichenfolgen (svn:keywords) oder Ingnore-Patterns definiert.
Damit man nicht immer alle Properties per Hand setzen muß, kann dies automatisch beim Hinzufügen von Dateien zum Repository geschehen. Dazu muß in der lokalen Config-Datei des Subversion-Clients folgende Zeile in der Section [miscellany] auskommentiert werden:
enable-auto-props = yes
Anschliessend lassen sich für beliebige Dateitypen die Auto-Properties in der Section [auto-props] definieren. Beispiel:
*.txt = svn:eol-style=native
*.png = svn:mime-type=image/png
*.jpg = svn:mime-type=image/jpeg
*.cs = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.aspx = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.ascx = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.sql = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.css = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.skin = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.js = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate
*.doc = svn:needs-lock=*
Dies gilt allerdings nur für Dateien, die sich noch nicht im Repository befinden! Bei schon im Repository vorhandenen Datei muß dies explizit eingestellt werden (über den Eigenschaftendialog):

by Sven
9. February 2007 14:36
Subversion unterstützt das Ersetzen von Keywords im Sourcecode. Hierzu müssen für die jeweiligen Dateien die entscheidenen Properties gesetzt werden. Beispiel: HeadURL LastChangedBy LastChangedRevision LastChangedDate
In C# Dateien sieht dann ein Kommentarheader folgendermaßen aus:
//===============================================================================
// $HeadURL$
// $LastChangedBy$
// $LastChangedRevision$
// $LastChangedDate$
// Copyright : 2006-2007, ITDevCon Germany
// Autor : Sven Soennichsen
// Beschreibung: Ausführliche Beschreibung
//===============================================================================
In ASPX Dateien empfiehlt sich folgendes Format:
<%--
//===============================================================================
// $HeadURL$
// $LastChangedBy$
// $LastChangedRevision$
// $LastChangedDate$
// Copyright : 2006-2007, ITDevCon Germany
// Autor : Sven Soennichsen
// Beschreibung: Ausführliche Beschreibung
//===============================================================================
--%>
Subversion ersetzt dann beim Commit die Keywords mit den tatsächlichen Tatbeständen.
by Sven
14. June 2006 08:40
Die Versionsverwaltung Subversion bietet durch Keywords die Möglichkeit im SourceCode Metadaten von Subversion selbst einzufügen. Folgende Keywords sind möglich:
Date
-
This keyword describes the last time the file was known to have been changed in the repository, and looks something like $Date: 2002-07-22 21:42:37 -0700 (Mon, 22 Jul 2002) $. It may also be specified as LastChangedDate.
Revision
-
This keyword describes the last known revision in which this file changed in the repository, and looks something like $Revision: 144 $. It may also be specified as LastChangedRevision or Rev.
Author
-
This keyword describes the last known user to change this file in the repository, and looks something like $Author: harry $. It may also be specified as LastChangedBy.
HeadURL
-
This keyword describes the full URL to the latest version of the file in the repository, and looks something like $HeadURL: http://svn.collab.net/repos/trunk/README $. It may be abbreviated as URL.
Id
-
This keyword is a compressed combination of the other keywords. Its substitution looks something like $Id: calc.c 148 2002-07-28 21:30:43Z sally $, and is interpreted to mean that the file calc.c was last changed in revision 148 on the evening of July 28, 2002 by the user sally.
Das Setzen der Keywords erfolgt entweder mittels
svn propset svn:keywords "Date Author" weather.txtoder über TortoiseSVN im Eigenschaftendialog des Explorers (siehe Bild).
Damit auch neue Dateien mit den korrekten Keywords versehen werden, muss die Konfigurationsdatei für Subversion (über TortoiseSVN Settings - Edit configuration file) angepasst werden. Zuerst ist dabei folgende Einstellung zu setzen:
enable-auto-props = yesund anschliessend können default Eigenschaften für bestimmte Dateitypen definiert werden:
*.cs = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDate*.aspx = svn:keywords=HeadURL LastChangedBy LastChangedRevision LastChangedDateIm Source Code selbst müssen an der gewünschten Stelle die entsprechenden Keywords mit $-Zeichen umgeben platziert werden:
$HeadURL$ $LastChangedDate$ $LastChangedRevision$ $LastChangedBy$
by Sven
2. January 2006 11:00
Achtung: Das Subversion Plugin Ankh unterstützt momentan (V0.6) nicht die Verwendung von Netzlaufwerken. Dies liegt daran, dass der IIS intern nicht mit einem Laufwerksbuchstaben arbeitet, sondern mit \\Server\Freigabename.
Daher meine Empfehlung: ASP.NET Projekt auf der lokalen Platte anlegen!
by Sven
2. January 2006 10:57
Anlegen einer lokalen ASP.NET Webanwendung mit Visual Studio 2005 mit Subversion als Versionsverwaltung (Ankh Plugin muss installiert sein):
- Neue Solution anlegen (C:\WorkDir\TestProjekt\TestProjekt.sln).
- Neues Verzeichnis für die Webanwendung anlegen (C:\WorkDir\TestProjekt\TestProjektWebApp).
- Neues virtuelles Verzeichnis im IIS einrichten. Virtueller Verzeichnisname sollte mit tatsächlichem Verzeichnisnamen übereinstimmen!
- Neue "ASP.NET Web Site" mit Location http://localhost/TestProjektWebApp anlegen.
- Evtl. neues Projekt vom Typ "Class Library" anlegen.
- Im Kontextmenü der Solution "Add Solution to Subversion Repository..." auswählen. Als URL svn://server/Verzeichnis auswählen (Create Subdirectory anwählen, falls Verzeichnis noch nicht existiert).