apple,development,life & more
Sunday, July 8. 2007
$Id Zeilen mit Subversion
In den meisten Quellcodes die man so liest ist eine Id Zeile am Dateianfang zu finden,
die ungefähr so aussieht:
Dies bedeutet dass man die datei test.cpp sieht, zuletzt geändert in Revision 3 um 12:28 am 08.07.2007 von dem Benutzer peterrehm.
Dies ermöglicht einen schnellen Überblick über die Datei.
Die Information wird von Subversion selbst verwaltet.
Damit Subversion das tut, sind ein paar kleine Einstellungen notwendig.
1. Aktivieren der Keywors für die gewünschten Dateien
2. Definieren eines Platzhalters in der Quelldatei
Dazu einfach einen Code wie folgt in die Datei einfügen, je nach
Programmiersprache eben in entsprechender Kommentierung.
3. Datei committen
Mit dem nächsten Commit wird dann automatisch die eingefügt Zeile ersetzt.
Dies wird auch bei jedem weiteren Commit passieren. Die Id Zeile ist aber nicht
für SVN diffs relevant, auch wenn man selbst versuchen sollte die zu ändern,
also wenn man das Datum ändert, wird das nicht mit übertragen.
Die Dateiinformation bleibt solange bestehen bis man eine neuere Version committet,
oder ein anderer Benutzer des SVN Repositorys das übernimmt. Allerdings wird die
Zeile dann auch erst mit dem nächsten update aktualisiert.
Als letzte Information bleibt vielleicht noch zu nennen, dass ein $Log$ Keyword von
den SVN Entwicklern ausdrücklich nicht implementiert werden. Darauf wird in der
FAQ verwiesen.
Update: Fehler wurde behoben, Danke Sebastian!
die ungefähr so aussieht:
CODE:
/* $Id: test.cpp 3 2007-07-08 12:28:37Z peterrehm $ */
Dies bedeutet dass man die datei test.cpp sieht, zuletzt geändert in Revision 3 um 12:28 am 08.07.2007 von dem Benutzer peterrehm.
Dies ermöglicht einen schnellen Überblick über die Datei.
Die Information wird von Subversion selbst verwaltet.
Damit Subversion das tut, sind ein paar kleine Einstellungen notwendig.
1. Aktivieren der Keywors für die gewünschten Dateien
CODE:
svn propset svn:keywords "Id" test.cpp
2. Definieren eines Platzhalters in der Quelldatei
Dazu einfach einen Code wie folgt in die Datei einfügen, je nach
Programmiersprache eben in entsprechender Kommentierung.
CODE:
/* $Id$ */
3. Datei committen
Mit dem nächsten Commit wird dann automatisch die eingefügt Zeile ersetzt.
Dies wird auch bei jedem weiteren Commit passieren. Die Id Zeile ist aber nicht
für SVN diffs relevant, auch wenn man selbst versuchen sollte die zu ändern,
also wenn man das Datum ändert, wird das nicht mit übertragen.
Die Dateiinformation bleibt solange bestehen bis man eine neuere Version committet,
oder ein anderer Benutzer des SVN Repositorys das übernimmt. Allerdings wird die
Zeile dann auch erst mit dem nächsten update aktualisiert.
Als letzte Information bleibt vielleicht noch zu nennen, dass ein $Log$ Keyword von
den SVN Entwicklern ausdrücklich nicht implementiert werden. Darauf wird in der
FAQ verwiesen.
Update: Fehler wurde behoben, Danke Sebastian!
Posted by Peter Rehm
in Programmierung
at
16:44
| Comment (1)
| Trackbacks (0)
Defined tags for this entry: subversion
Sunday, January 7. 2007
Subversion Repository sichern und wieder einrichten
Irgendwann kommt man immer mal in die Situation seinen Rechner neuzuinstallieren.
Als Mac User meist dann, wenn man etwas zuviel im System gespielt hat. Und daher
ist die Frequenz entscheidend geringer als bei den Windows Maschinen.
Man will auch möglichst wenig Daten zurück lassen, und daher muss man alles möglich
sichern. Unter anderem auch Subversion.
Als erstes erzeugt Ihr einen Dump eures Repositories
Wobei "/Users/peterrehm/Library/svn/cms/" der Pfad zum Repository ist.
Mit der erstellten Dump Datei kann man das Repository wiederherstellen. Und zwar genau so.
Auf dem neu installierten System erzeugt Ihr ein neues Repository
Nun kann man die Daten wieder einspielen
Danach solltet Ihr wieder wie gewohnt arbeiten können. Zumindest wenn man es mit meiner
Installationsanleitung installiert hat.
Evtl. muss man noch Permissions setzen, auf den Benutzer/Group der das Repository verwaltet.
Das habe ich aber bisher noch nie gebraucht.
Nähere Informationen findet man hier.
Als Mac User meist dann, wenn man etwas zuviel im System gespielt hat. Und daher
ist die Frequenz entscheidend geringer als bei den Windows Maschinen.
Man will auch möglichst wenig Daten zurück lassen, und daher muss man alles möglich
sichern. Unter anderem auch Subversion.
Als erstes erzeugt Ihr einen Dump eures Repositories
CODE:
svnadmin dump /Users/peterrehm/Library/svn/cms/ >
/Volumes/Backup/backup_sync/svn_cms.dump
/Volumes/Backup/backup_sync/svn_cms.dump
Wobei "/Users/peterrehm/Library/svn/cms/" der Pfad zum Repository ist.
Mit der erstellten Dump Datei kann man das Repository wiederherstellen. Und zwar genau so.
Auf dem neu installierten System erzeugt Ihr ein neues Repository
CODE:
svnadmin create /path/to/new/repos
Nun kann man die Daten wieder einspielen
CODE:
svnadmin load /path/to/new/repos < /Volumes/Backup/backup_sync/svn_cms.dump
Danach solltet Ihr wieder wie gewohnt arbeiten können. Zumindest wenn man es mit meiner
Installationsanleitung installiert hat.
Evtl. muss man noch Permissions setzen, auf den Benutzer/Group der das Repository verwaltet.
Das habe ich aber bisher noch nie gebraucht.
CODE:
chown -R svn:svnusers /path/to/new/repos
chmod -R g+w /path/to/new/repos/db/
chmod -R g+w /path/to/new/repos/db/
Nähere Informationen findet man hier.
Posted by Peter Rehm
in Verschiedenes
at
17:30
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: backup, subversion
Saturday, November 18. 2006
SVN Tags von Projekten
SVN Tags von den Projekten sind ganz einfach:
In meinem Fall handelt es sich um ein lokales Projekt, daher auch file:///.
Es wird einfach die aktuelle Version als "trunk" in einen tag kopiert, und kann dann immer von da ausgecheckt werden.
CODE:
svn cp -m "0.2 release of the cms"
file:///Users/peterrehm/Library/svn/cms/trunk/
file:///Users/peterrehm/Library/svn/cms/tags/0.2
file:///Users/peterrehm/Library/svn/cms/trunk/
file:///Users/peterrehm/Library/svn/cms/tags/0.2
In meinem Fall handelt es sich um ein lokales Projekt, daher auch file:///.
Es wird einfach die aktuelle Version als "trunk" in einen tag kopiert, und kann dann immer von da ausgecheckt werden.
Posted by Peter Rehm
at
21:51
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: subversion
Sunday, July 16. 2006
Subversion Dateien ignorieren
Beim arbeiten an einem Projekt hat man immer wieder Verzeichnisse, die man nicht zwingend in seinem Repository braucht.
Diese kann man ganz einfach auf die ignore List setzen, und hat damit nie wieder etwas damit zu tun. Dies ist z.b. interessant
für Cache Verzeichnisse, Temporäre Dateien,...
Diese kann man ganz einfach auf die ignore List setzen, und hat damit nie wieder etwas damit zu tun. Dies ist z.b. interessant
für Cache Verzeichnisse, Temporäre Dateien,...
CODE:
svn propset svn:ignore "cache" .
Posted by Peter Rehm
in Verschiedenes
at
09:02
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: subversion
Thursday, June 1. 2006
.svn Files entfernen...
Immmer mal wieder hat man einen Ordner kopiert und dummerweise war der in einem Subversion Repository.
Handelt es sich bei dem besagten um einen einzelnen Ordner, so stellt dies kein Problem dar, da man einfach per
Konsole das Verzeichnis entfernen kann.
Wenn man es aber auch aus allen Unterverzeichnissen herausbekommen möchte könnte dies weiterhelfen...
Wenn man aber schon im Vorfeld sich des Problemes bewusst ist könnte svn export helfen.
Handelt es sich bei dem besagten um einen einzelnen Ordner, so stellt dies kein Problem dar, da man einfach per
Konsole das Verzeichnis entfernen kann.
Wenn man es aber auch aus allen Unterverzeichnissen herausbekommen möchte könnte dies weiterhelfen...
CODE:
find . -type d -name ".svn" -print0 | xargs -0 rm -rdf
Wenn man aber schon im Vorfeld sich des Problemes bewusst ist könnte svn export helfen.
Posted by Peter Rehm
in Verschiedenes
at
15:25
| Comments (2)
| Trackbacks (0)
Defined tags for this entry: subversion
Thursday, April 27. 2006
Subversion unter OSX
So, jetzt wird es mal wieder Zeit für einen etwas ausführlicheren Artikel, da ich mich gerade mit Subversion beschäftige. Leider habe ich keinen Artikel gefunden der mir all das brachte was ich benötigte.
1. Subversion installieren
Dieser Schritt ist sehr einfach, da es von Martin Ott Installationspackages zum Download gibt. Diese einfach installieren.
Sollten Sie Subversion auf der Konsole bedienen, was wir in den nächsten Schritten tun werden, dann sollten Sie die Pfade im .profile File in Ihrem Homeverzeichnis (/Users/username/.profile) wie folgt anpassen:
Diese Anpassung dient rein dazu, dass die Binary Files von Subversion auch bequem gefunden werden.
2. Einrichten
Nachdem Sie dies nun erledigt haben, können Sie sich Gedanken über das Einrichten machen. Dazu benötigen Sie ein Repository, das sie wie folgt anlegen.
Dann ist schon einmal das Repository angeleget. Subversion verwendet dazu die Berkely DB. Sollte es Sie interessieren schauen Sie sich doch einfach einmal den Inhalt des Verzeichnisses an, wobei das alles andere als Spektakulär ist.
So sollte es bei Ihnen nun auch aussehen.
Um mit Subversion arbeiten zu können müssen wir erstmal eine Dateistruktur anlegen, dazu empfiehlt sich bei Subversion folgende Dateistruktur. Diese können Sie auch in dem sehr umfangreichen Handbuch nachlesen.
Ich habe folgende Dateistruktur im verzeichnis /tmpdir erstellt:
Dies ist wie bereits erwähnt die von Subversion empfohlene Dateistruktur.
Diese müssen wir nun in das Repository 'importieren'.
Danach erscheint folgende Meldung und wir befinden uns in Revisionsstand 1
Sie können dann auch z.b. ganz einfach Files Ihres bestehenden Projektes importieren.
Dann sind Sie bereits in Revisionsstand 2. Und nun können wir loslegen.
3. Working Copy
Nun müssen Sie um loszulegen sich eine Arbeitskopie aus dem Repository laden.
Dies wird mit dem Befehl checkout gemacht.
Nun wird in das Verzeichnis CMS die Aktuelle Version des vorher in trunk importieren Projekts geladen, in diesem Fall ein CMS.
4. Los gehts
Nun sind Sie voll ausgestattet und können Loslegen. Sie senden Ihre Äbnderungen mit svn commit und gleichen Ihre 'Working Copy' mit dem Repository per svn update ab.
5. Hilfe
Im Handbuch finden Sie weitere Hilfe!
6. Ende
Ich hoffe diese Kurzanleitung hat Ihnen geholfen. Auf Richtigkeit keine Gewähr.
1. Subversion installieren
Dieser Schritt ist sehr einfach, da es von Martin Ott Installationspackages zum Download gibt. Diese einfach installieren.
Sollten Sie Subversion auf der Konsole bedienen, was wir in den nächsten Schritten tun werden, dann sollten Sie die Pfade im .profile File in Ihrem Homeverzeichnis (/Users/username/.profile) wie folgt anpassen:
CODE:
export PATH=$PATH:/usr/local/bin
export SVN_EDITOR=/usr/bin/nano
export SVN_EDITOR=/usr/bin/nano
Diese Anpassung dient rein dazu, dass die Binary Files von Subversion auch bequem gefunden werden.
2. Einrichten
Nachdem Sie dies nun erledigt haben, können Sie sich Gedanken über das Einrichten machen. Dazu benötigen Sie ein Repository, das sie wie folgt anlegen.
CODE:
svnadmin create /Users/peterrehm/Library/subversion
Dann ist schon einmal das Repository angeleget. Subversion verwendet dazu die Berkely DB. Sollte es Sie interessieren schauen Sie sich doch einfach einmal den Inhalt des Verzeichnisses an, wobei das alles andere als Spektakulär ist.
CODE:
total 16
drwxr-xr-x 9 peterreh peterreh 306 Apr 27 01:20 .
drwxr-xr-x 3 peterreh peterreh 102 Apr 27 01:20 ..
-rw-r--r-- 1 peterreh peterreh 229 Apr 27 01:20 README.txt
drwxr-xr-x 5 peterreh peterreh 170 Apr 27 01:20 conf
drwxr-xr-x 2 peterreh peterreh 68 Apr 27 01:20 dav
drwxr-sr-x 10 peterreh peterreh 340 Apr 27 01:22 db
-r--r--r-- 1 peterreh peterreh 2 Apr 27 01:20 format
drwxr-xr-x 11 peterreh peterreh 374 Apr 27 01:20 hooks
drwxr-xr-x 4 peterreh peterreh 136 Apr 27 01:20 locks
drwxr-xr-x 9 peterreh peterreh 306 Apr 27 01:20 .
drwxr-xr-x 3 peterreh peterreh 102 Apr 27 01:20 ..
-rw-r--r-- 1 peterreh peterreh 229 Apr 27 01:20 README.txt
drwxr-xr-x 5 peterreh peterreh 170 Apr 27 01:20 conf
drwxr-xr-x 2 peterreh peterreh 68 Apr 27 01:20 dav
drwxr-sr-x 10 peterreh peterreh 340 Apr 27 01:22 db
-r--r--r-- 1 peterreh peterreh 2 Apr 27 01:20 format
drwxr-xr-x 11 peterreh peterreh 374 Apr 27 01:20 hooks
drwxr-xr-x 4 peterreh peterreh 136 Apr 27 01:20 locks
So sollte es bei Ihnen nun auch aussehen.
Um mit Subversion arbeiten zu können müssen wir erstmal eine Dateistruktur anlegen, dazu empfiehlt sich bei Subversion folgende Dateistruktur. Diese können Sie auch in dem sehr umfangreichen Handbuch nachlesen.
Ich habe folgende Dateistruktur im verzeichnis /tmpdir erstellt:
CODE:
dagobert:~ peterrehm$ du -ch /tmpdir/
0B /tmpdir//cms/branches
0B /tmpdir//cms/tags
0B /tmpdir//cms/trunk
0B /tmpdir//cms
0B /tmpdir/
0B total
0B /tmpdir//cms/branches
0B /tmpdir//cms/tags
0B /tmpdir//cms/trunk
0B /tmpdir//cms
0B /tmpdir/
0B total
Dies ist wie bereits erwähnt die von Subversion empfohlene Dateistruktur.
Diese müssen wir nun in das Repository 'importieren'.
CODE:
cd /tmpdir
svn import . file:///Users/peterrehm/Library/subversion/ --message 'inital import of the file structure'
svn import . file:///Users/peterrehm/Library/subversion/ --message 'inital import of the file structure'
Danach erscheint folgende Meldung und wir befinden uns in Revisionsstand 1
CODE:
Adding cms
Adding cms/trunk
Adding cms/branches
Adding cms/tags
Committed revision 1.
Adding cms/trunk
Adding cms/branches
Adding cms/tags
Committed revision 1.
Sie können dann auch z.b. ganz einfach Files Ihres bestehenden Projektes importieren.
CODE:
svn import /Library/WebServer/Documents/cms/ file:///Users/peterrehm/Library/subversion/cms/trunk/ --message 'import of the current files'
Dann sind Sie bereits in Revisionsstand 2. Und nun können wir loslegen.
3. Working Copy
Nun müssen Sie um loszulegen sich eine Arbeitskopie aus dem Repository laden.
Dies wird mit dem Befehl checkout gemacht.
CODE:
svn checkout file:///Users/peterrehm/Library/subversion/cms/trunk/ cms
Nun wird in das Verzeichnis CMS die Aktuelle Version des vorher in trunk importieren Projekts geladen, in diesem Fall ein CMS.
4. Los gehts
Nun sind Sie voll ausgestattet und können Loslegen. Sie senden Ihre Äbnderungen mit svn commit und gleichen Ihre 'Working Copy' mit dem Repository per svn update ab.
5. Hilfe
Im Handbuch finden Sie weitere Hilfe!
6. Ende
Ich hoffe diese Kurzanleitung hat Ihnen geholfen. Auf Richtigkeit keine Gewähr.
Posted by Peter Rehm
in Apple, Programmierung
at
00:59
| Comments (2)
| Trackbacks (0)
Defined tags for this entry: osx, subversion
(Page 1 of 1, totaling 6 entries)
Inhalt
Calendar
|
|
March '10 | |||||
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
Google Werbung
Archives
Categories
Syndicate This Blog
Getaggte Artikel
Top Referers
www.cmsimpleforum.com (1)
Statistiken
letzter eintrag: 02.01.2008 11:16
154 geschriebene einträge
103 kommentare wurden erstellt
© Copyright 2006, nerdwg.org design by Luka Cvrk, port for s9y by nerdwg.org

