Subversion: Grundsatzfragen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
_ash
Beiträge: 1219
Registriert: 13.05.2005 12:35:02

Subversion: Grundsatzfragen

Beitrag von _ash » 17.07.2011 12:35:59

Ich arbeite mit ein paar Kollegen an einem Projekt; der Quellcode lag bisher auf einem Server, wir haben alle direkt auf dem Server am Quellcode gearbeitet. Jetzt möchten wir das Gleiche mit Version Control machen.

Sprich es gibt einen Entwicklungsserver, auf dem wir arbeiten und testen wollen. Auf diesem Server habe ich bereits Subversion installiert, und per svnadmin ein Projekt erstellt. Clientseitig arbeiten wir alle mit Netbeans.

Ein paar grundsätzliche Verständnisfragen:

1) Wie gesagt, ist bereits ein SVN Projekt angelegt, und zwar hier: /var/svn/meinProjekt
Der aktuelle Quellcode liegt noch auf einem anderen Server. Wo genau müssen die neuen Quellcodedateien jetzt kopiert werden? In den Projektordner /var/svn/meinProjekt ?

2) Es handelt sich um ein webbasiertes Projekt; der Web Root ist aktuell /var/www/ . Wie genau funktioniert dann das browserbasierte Testing, sollte hier eine Domain auf den SVN Projektordner verweisen, oder werden die Datein vom SVN Projektordner exportiert?

3) Die eigentliche Live-Anwendung läuft auf einem separaten Server. Wie sollte fertiger Code am sinnvollsten dahin exportiert werden?

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Subversion: Grundsatzfragen

Beitrag von michaels » 17.07.2011 12:53:42

Das Projekt normal in NetBeans öffnen. Dann Rechtsklick auf das NetBeans-Projekt -> Versioning -> Import into Subversion Repository (damit wird das komplette Netbeans Projekt in Rep importiert. Wenn das nicht gewünscht ist und zum Beispiel nur die eigentlichen Quellen in SVN landen sollen muss über "Team" -> "Subversion" -> "Checkout" gegangen werden).
Im folgenden Dialog die URL zum SVN Rep angeben, User und Passwort eingeben und fertig.

Du kannst nicht einfach die Quellen in das SVN Verzeichnis packen. Du musst immer über die SVN Funktionen gehen!

Zu 2.
Getestet wird doch ganz normal in NetBeans (bzw. lokal) oder wollt ihr euch gegenseitig den Stand zerschießen!?

Zu 3.
Sollte das nicht händisch geschehen? Oder ist sichergestellt, dass im SVN immer funktionsfähige Stände sind?

_ash
Beiträge: 1219
Registriert: 13.05.2005 12:35:02

Re: Subversion: Grundsatzfragen

Beitrag von _ash » 17.07.2011 13:12:23

zu 1) Verstehe ich das richtig, dass durch den "Import ins Rep" der Quellcode ebenfalls im SVN-Projektordner landet? Plus die jeweiligen SVN Infos?

Wenn ich eine SVN Struktur wie
/trunk
/tags
/branches
verwendet, wohin importiere ich dann die Quelldateien?

zu 2) Getestet werden soll tatsächlich auf dem Server, um zu sehen, ob es in eben dieser Umgebung auch richtig läuft.

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Subversion: Grundsatzfragen

Beitrag von michaels » 17.07.2011 13:23:50

_ash hat geschrieben:zu 1) Verstehe ich das richtig, dass durch den "Import ins Rep" der Quellcode ebenfalls im SVN-Projektordner landet? Plus die jeweiligen SVN Infos?
Ja. Die Dateien werden ja in einer internen Struktur abgelegt und nicht so wie du sie dann siehst. Dafür gibt es dann noch Möglichkeiten einen Export zu machen um dann die letzte Version "normal" im Dateisystem zu haben.
_ash hat geschrieben:Wenn ich eine SVN Struktur wie
/trunk
/tags
/branches
verwendet, wohin importiere ich dann die Quelldateien?
Das ist im Prinzip völlig egal. SVN behandelt die Dateien (Verzeichnisse) nicht besonders. Im Prinzip ist es also vollkommen den Anwendern überlassen, wie Projekte organisiert werden (lies dich da mal etwas ein. Der Subversion Artikel in Wikipedia sollte da schon weiterhelfen).
_ash hat geschrieben:zu 2) Getestet werden soll tatsächlich auf dem Server, um zu sehen, ob es in eben dieser Umgebung auch richtig läuft.
Hm, das halte ich für falsch aber je nach Aktivität werdet ihr das auch schnell selbst merken :wink:

Ich würde mir da dann ein svn export Skript bauen und das einsetzen, wenn ein test auf dem Server stattfinden soll - man könnte auch einen hook erstellen, der das dann nach jedem Commit macht.

_ash
Beiträge: 1219
Registriert: 13.05.2005 12:35:02

Re: Subversion: Grundsatzfragen

Beitrag von _ash » 17.07.2011 15:16:54

Ich habe jetzt den Quellcoder in ein SVN Repository importiert, ging ohne Fehlermeldungen. Auf dem Server sieht das dann so aus:

Code: Alles auswählen

# ls -la
insgesamt 32
drwxrwxr-x 6 svn svn 4096  7. Jul 18:36 .
drwxr-xr-x 3 svn svn 4096  7. Jul 16:28 ..
drwxrwxr-x 2 svn svn 4096  7. Jul 16:28 conf
drwxrwsr-x 6 svn svn 4096 17. Jul 14:54 db
-r--rw-r-- 1 svn svn    2  7. Jul 16:28 format
drwxrwxr-x 2 svn svn 4096  7. Jul 16:28 hooks
drwxrwxr-x 2 svn svn 4096  7. Jul 16:28 locks
-rw-rw-r-- 1 svn svn  229  7. Jul 16:28 README.txt
Nun möchte ich gerne den Quellcode in ein webzugängliches Verzeichnis exportieren, bekomme aber eine Fehlermeldung:

Code: Alles auswählen

# svn export /var/svn/meinProjekt /var/www/
svn: »/var/svn/meinProjekt« ist keine Arbeitskopie
Was will mir das sagen?

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Subversion: Grundsatzfragen

Beitrag von Gunman1982 » 17.07.2011 15:43:02

Man nimmt zum abrufen der src erstmal svn checkout

Code: Alles auswählen

svn help checkout

_ash
Beiträge: 1219
Registriert: 13.05.2005 12:35:02

Re: Subversion: Grundsatzfragen

Beitrag von _ash » 17.07.2011 15:56:18

Dann kommt dieser Fehler:

Code: Alles auswählen

# svn co /var/svn/meinProjekt /var/www/
svn: »/var/svn/meinProjekt« scheint keine URL zu sein

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Subversion: Grundsatzfragen

Beitrag von michaels » 17.07.2011 15:59:39

Wozu checkout? Er will doch nur den aktuellen Stand exportieren, dafür braucht man kein checkout. Versuche mal statt /var/svn/meinProjekt den URL Pfad (http(s):// oder svn://) zu nehmen oder file:/// voranzustellen.

Benutzeravatar
CrashMan
Beiträge: 340
Registriert: 07.04.2007 14:04:27
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: MD

Re: Subversion: Grundsatzfragen

Beitrag von CrashMan » 17.07.2011 18:23:21

Export bezieht sich doch auf eine Arbeitskopie - also etwas, was ausgecheckt wurde. Oder geht das auch direkt mit dem Serververzeichnis?
debian stable + arch

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Subversion: Grundsatzfragen

Beitrag von Gunman1982 » 17.07.2011 18:45:56

michaels hat geschrieben:Wozu checkout? Er will doch nur den aktuellen Stand exportieren, dafür braucht man kein checkout. Versuche mal statt /var/svn/meinProjekt den URL Pfad (http(s):// oder svn://) zu nehmen oder file:/// voranzustellen.
Ah ok, hatte ich falsch verstanden.

_ash
Beiträge: 1219
Registriert: 13.05.2005 12:35:02

Re: Subversion: Grundsatzfragen

Beitrag von _ash » 18.07.2011 09:12:02

file:/// hat funktioniert.

Kann ich den Export, der ja auf dem Server stattfinden, von NetBeans aus auf meinem lokalen Rechner veranlassen?

Antworten