Forum

SVN lokal unter Snow Leopard
April 07, 2011, 10:49:58
Moin,

ich muss mich langsam mal durchringen, SVN zu benutzen.
Aktuell muss ich geschriebenen Code zwischen verschiedenen Projekten per Hand aktuell halten. Das ist natürlich mühsam und auch fehleranfällig.

Ich benutze Coda und das unterstützt SVN. Zusätzlich soll/ist SVN als Client und Server bereits in 10.6 enthalten. Außerdem habe ich gehört, dass man SVN lokal auch ohne Server rein auf dem Dateisystem nutzen kann.

Ich habe schon einmal letztes Jahr einen versuch in diese Richtung unternommen (noch unter 10.5), bin da aber irgendwie gescheitert, weil mir der Zugang fehlt.

Vielleicht fällt euch ja etwas dazu ein.

Wenn ich mit Coda SVN lokal auf dem gleichen Mac verwenden will, was muss ich da tun?
- Muss ich erst einen SVN-Server lokal zum Laufen bringen? Oder geht es auch ohne Server direkt im Dateisystem?
- In Coda muss ich eine URL und Benutzername/Kennwort eingeben. Was für eine URL nehme ich da?
- Ich bräuchte auch ein paar Tipps, wie man die ganze Sache beginnt, d.h. wie lege ich ein neues Repository an?

Mir fehlt da echt der Zugang. Alle Anleitungen, die ich finde, beziehen sich immer darauf, einen externen SVN-Server zu benutzen (will und brauche ich nicht) oder gehen davon aus, dass schon alles eingerichtet und eingestellt ist.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller
Re: SVN lokal unter Snow Leopard
Antwort #1: April 07, 2011, 20:17:19
Ob dir diese Beschreibung hilft? RubyRobot

Oder diese?
« Letzte Änderung: April 07, 2011, 20:20:44 von Thyrfing »
Re: SVN lokal unter Snow Leopard
Antwort #2: April 08, 2011, 08:26:19
Ne, leider nicht. Derartige Anleitungen habe ich auch immer gefunden. Die beginnen immer damit, dass man sich svn installiert. Das braucht man mit 10.6 aber wohl nicht mehr. Es ist alles schon vorhanden.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller

mbs

Re: SVN lokal unter Snow Leopard
Antwort #3: April 08, 2011, 18:05:02
Ich würde empfehlen, einfach das Handbuch von svn hier herunterzuladen. Da gibt's zum Beispiel die Version 1.5 auf deutsch als PDF. Dass in Mac OS X zurzeit die Version 1.6.15 benutzt wird, spielt keine große Rolle.

Zitat
Muss ich erst einen SVN-Server lokal zum Laufen bringen?

Nein.

Zitat
Oder geht es auch ohne Server direkt im Dateisystem?

Ja.

Zitat
In Coda muss ich eine URL und Benutzername/Kennwort eingeben. Was für eine URL nehme ich da?

file:///pfad/zur/lokalen/repositorydatei

Zitat
wie lege ich ein neues Repository an?

Einfach den Befehl

svnadmin create /pfad/zur/lokalen/repositorydatei

eingeben. Dein erstes Projekt kannst Du z.B. mit

svn import /pfad/project file:///pfad/zur/lokalen/repositorydatei

ins Repository kopieren. Kapitel 2 im SVN-Handbuch sollte den Rest gut erklären. Da Du bereits weißt, was ein Versionierungssystem ist, brauchst Du den Rest des Buches nur zu überfliegen.
Re: SVN lokal unter Snow Leopard
Antwort #4: April 08, 2011, 18:19:23
Danke. Das klingt ja leichter als gedacht. Ich probiere es mal aus.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller
Re: SVN lokal unter Snow Leopard
Antwort #5: April 12, 2011, 13:26:02
Ich melde mich mal wieder. :)

Das Buch hat mir tatsächlich gut geholfen und auch die praktische Umsetzung hat geklappt.

Jetzt treten bei dem Projekt, was ich gerne damit verwalten möchte, aber ein paar Sachen auf, die so in SVN wohl nicht vorgesehen sind. Vorneweg: Die Funktion, dass Dateien in der Arbeitskopie von SVN ignoriert und nicht ins Repository geladen werden, habe ich schon gefunden.

Es geht um ein CMS, dass in PHP geschrieben ist. Erst einmal habe ich mir das so vorgestellt, dass die Dateien selber eben in dem Repository vorgehalten und mit der Zeit geändert werden. Für jedes Projekt wollte ich dann eine Arbeitskopie anlegen. Wenn dann in irgendeinem der Projekte Dateien des CMS selber geändert werden, werden diese Änderungen dann an das Repository weitergegeben (commited) und gelangen so dann später auch in die Arbeitskopien der anderen Projekte.

Ich habe noch 2 Probleme:

1. Nicht alle Dateien in der Arbeitskopie gehören ins Repository. Z.B. CSS-Dateien und projektspezifische Template und Konfigurationsdateien sollen natürlich nicht dahin wandern. Das kann ich über die Ignore-Liste gut erreichen. Bei den Konfigurationsdateien wäre es aber gut, wenn eine Musterkonfiguration auch im Repository landet, denn es kann ja auch irgendwann mal notwendig sein, dass der Aufbau dieser Datei sich ändert und dass muss dann ja bei den anderen projekten ebenfalls geschehen. Wenn ich die korrekten Konfigurations-Dateien nicht übertrage, bliebe noch der Weg zusätzlich Muster-Dateien zu haben, die entsprechend ausgetauscht werden. Problem, was ich dabei sehe, ist, dass eine Änderung der Muster-Datei zwar auf die anderen Projekte verteilt wird, aber die dann folgende manuelle Anpassung der echten Konfigurationsdateien vergessen werden könnte. Gibt es da einen schönen Trick?

2. Das ganze System ist stark modular aufgebaut. Je nach Projekt enthält es zusätzliche Pakete, wenn diese benötigt werden. Neben dem Kernsystem eben Pakete für Bildergalerien, Forum, Webshop etc. Wenn nun im Repository immer alle Pakete liegen, bekommt jedes Projekt auch alle Dateien, die dort evtl. gar nicht hin gehören. Ich kann die in der Arbeitskopie aber nicht einfach löschen, denn dann würden die bei dem nächsten Commit auch im Repository gelöscht werden. Gibt es dafür eine geschickte Lösung?

Oder resultieren die Probleme nur daher, dass ich das völlig falsch angehe? Wäre eine andere Vorgehensweise evtl. sinniger? Und wenn ja, welche?

Danke schon mal.
_______
Was ist die Mehrheit? Mehrheit ist der Unsinn, Verstand ist stets bei wen´gen nur gewesen." -- Schiller