WebDAV als Versionskontrolle auf Unix einrichten

T

TubbieToeter

Grünschnabel
Hallo,

ich bin grad dabei, mich in das Thema Versionskontrolle einzulesen, da wir bei uns in der Firma bald was am Laufen haben müssen, was uns dabei unterstützt.

Dabei bin ich auf WebDAV gestoßen, was ja schon mal ganz interessant klingt. Meine Frage ist, ob jemand Erfahrungswerte damit hat und vielleicht ein paar Fragen beantworten könnte.

Auslöser dafür ist, daß Entwickler aus anderen Ländern uns beim Entwickeln supporten können und andersherum. Netzwerkmäßig ist das machbar. Nun will ich den Leuten aber wenn möglich nur einen eingeschränkten Zugriff auf unsere Server geben (nennt mich ... vorsichtig ... okay, paranoid ). Ich stell mir das in etwa so vor, daß mittels WebDAV Dateien editiert werden können (direkt im Browser?!); zusätzlich bekommen sie ein Login auf den Server selbst, besitzen auf dieser Ebene aber nur Ausführrechte auf bestimmte Files, damit sie in der Lage sind einige Prozesse zu stoppen und zu starten (mittels Skripten). Tuts das?!

Die Frage ist jetzt, wie wird WebDAV effektiv im Einsatz benutzt? Was tut ein User um es zu nutzen? Kann man bestimmten Nutzern explizite Rechte auf Dateien geben und sie zwingen, SubVersion oder eine andere Versionskontrolle zu benutzen, bzw. das ganze automatisieren?

Ihr seht schon, ich bin da unvorbelastet und fange erst an, mich einzulesen. Da ich nicht viel mit Unix am Hut habe und es mehr nutze als administriere, stelle ich hier wahrscheinlich nur doofe Fragen.

Danke für die Hilfe,

TT
 
Ich hab das so verstanden: Mit cvs oder subversion "kann" man Versionskontrolle machen, ist aber nicht gezwungen, das auch zu benutzen.
Wenn ich recht gelesen habe, kann man WebDAV mit einer Versionskontrolle verknüpfen, und die User benutzen dann automatisch subversion zur Versionskontrolle, ohne das sie was dagegen machen können. Die sollen dann auch nur den Zugang über WebDAV haben und keinen "richtigen" Zugang zum Server haben.
Sinn dahinter ist, daß ich die Versionskontrolle erzwingen möchte. Und bei cvs oder subversion läßt man das einfach mit dem einchecken wenn man jemanden ärgern will. Das ist Mist.
Ich kann mir momentan nur nicht vorstellen, wie man dieses WebDAV jetzt als Enduser eigentlich benutzt.
 
TubbieToeter schrieb:
Wenn ich recht gelesen habe, kann man WebDAV mit einer Versionskontrolle verknüpfen, und die User benutzen dann automatisch subversion zur Versionskontrolle, ohne das sie was dagegen machen können. Die sollen dann auch nur den Zugang über WebDAV haben und keinen "richtigen" Zugang zum Server haben.
Subversion kann man über WebDAV benutzen. Dazu emuliert Subversion den WebDAV-Ordner auf deinem Apache. Wenn jetzt ein User eine Datei schreibt, wird sofort committet, d.h. eine neue Revision erzeugt.

TubbieToeter schrieb:
Sinn dahinter ist, daß ich die Versionskontrolle erzwingen möchte. Und bei cvs oder subversion läßt man das einfach mit dem einchecken wenn man jemanden ärgern will. Das ist Mist.
Halte ich persönlich nicht für sinnvoll, da jedes speichern einen neuen Commit triggert. Das erzeugt Serverlast und massig Speicherverbrauch, weil du feststellen wirst, dass User einfach nur zur Sicherheit irgendetwas falsches oder nicht fertiges speichern. Das ist nicht der Sinn eines RCS!
Ausserdem fehlt der Komfort eines richtigen SVN-Clients wenns z.B. um Konflikte beim Committen geht.

TubbieToeter schrieb:
Ich kann mir momentan nur nicht vorstellen, wie man dieses WebDAV jetzt als Enduser eigentlich benutzt.
Du kannst einen WebDAV-Ordner mit dem dazugehörigen Kernelmodul zumindest unter Linux einfach mouten.

Gib deinen Usern einen SVN-Client und gut ist.
 
Hallo,

das mit der Last sollte kein Problem sein, da es sich hier nur um ein paar User handelt und ausschließlich um Entwicklungsrechner. Auf die Produktivrechner werden wir den Exklusivzugriff behalten.
Kennst du denn eine Möglichkeit mit dem "normalen" Einsatz von CVS die User zu zwingen, das Tool auch zu nutzen? Also daß sie bestimmte Dateien nur editieren können, wenn sie zuvor das File auch auschecken?
Ich möchte halt die Möglichkeit haben im Zweifelsfall feststellen zu können, wer wann was editiert hat.
 
Ich könnte ja jetzt mit böser Zunge Microsoft Visual SourceSafe vorschlagen, aber ich denke nicht das Jemand in diesem Board danach sucht, aber der vollständigkeit halber tue ich es trotzdem. Dort musst Du auschecken bevor Du was machen kannst und musst einchecken, damit die Änderung wirksam wird, bzw. Deine Änderungen auf dem Server landen ... ist sehr komfortabel, habe ich auf Arbeit eingesetzt.

grüße Loxx
 
TubbieToeter schrieb:
Hallo,

das mit der Last sollte kein Problem sein, da es sich hier nur um ein paar User handelt und ausschließlich um Entwicklungsrechner. Auf die Produktivrechner werden wir den Exklusivzugriff behalten.
Kennst du denn eine Möglichkeit mit dem "normalen" Einsatz von CVS die User zu zwingen, das Tool auch zu nutzen? Also daß sie bestimmte Dateien nur editieren können, wenn sie zuvor das File auch auschecken?
Ich möchte halt die Möglichkeit haben im Zweifelsfall feststellen zu können, wer wann was editiert hat.

CVS verwaltet beliebige Versionen von Dateien in sogenannten Repositories.
Will man eine Datei bearbeiten, muss man sie in seine lokale Arbeitsumgebung
(im CVS-Chargon 'Sandbox') auschecken, kann sie verändern und die geänderte
Datei wieder einchecken ('commit'). Jeder Versionsstand bleibt erhalten und
kann bei Bedarf wiederhergestellt werden - es lässt sich also jederzeit nachvollziehen, wer was wann (und warum, wenn man beim Commit beschrieben hat, wan man geändert hat) getan hat.
Ein Zugriff auf die Datein im Repository ist nur über entsprechende Client-Software möglich.
Alle weiteren Fragen sollte https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs.html
klären.
 
Ich hab subversion mit webdav und LDAP Authentifizierung im Einsatz. Nicht professionell, aber zuhause und es funktioniert super! Ich kann mal die Konfig posten in den nächstne paar Tagen (Freundin zuhause, darf ned an den Comp ;o))
 
So, auch meine Freundin hat ein Linux Herz :).

Bei Fedora muss nur subversion und mod_dav_svn installiert werden. Anschliessend entsprechende Konfiguration fuer Subversion inkl. Webdav. Subversion Repositories muessen einfach lokal auf der Maschine mit svnadmin erstellt werden (dafuer kann man ja ein Webprogramm coden) aber ansonsten funktionierts ohne Probs!
Code:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
   DAV svn
   SVNParentPath /home/shares/Subversion

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      SSLRequireSSL
   </LimitExcept>

# Optionaler LDAP Auth 
   AuthzLDAPServer localhost
   AuthzLDAPMethod ldap
   AuthzLDAPUserBase ou=users,o=system,dc=secuserv,dc=ch
   AuthzLDAPUserKey uid
   AuthzLDAPUserScope onelevel 
   AuthzLDAPBindDN cn=user,dc=secuserv,dc=ch
   AuthzLDAPBindPassword passwort

   AuthType basic
   AuthName "LDAP Authentification"
   require valid-user
</Location>

Zusaetztlich gibts noch Subversion ACL Dateien - hab ich jedoch nicht aktiv. Darueber gibts im Netz jedoch genug Ressourcen.

Ansonsten ist das ganze recht simpel:
- auf dem Server Repository eroeffnen
cd /home/shares/Subversion
svnadmin create testrepo
- Client checkt das entsprechende Repository aus, fuegt File hinzu und checkt es ein
svn co https://addresse/svn/testrepo
# Authentifizierung
svn add file
svn commit
...

Fuer alle anderen Commands "svn help". Es ist wirklich ueberschaulich!

Gruss
Joel
 
Zuletzt bearbeitet:
hi Leute,
ich habe mal eine Frage: Ich habe ein WebDAV auf einem Server laufen und Subversion auf einem anderen Server.
Auf WebDAV legen andere Entwickler ihre Dateien ab und ich lege meine eigenen Dateien bei Subversion ab. Wir arbeiten alle zusammen am selben Projekt. Ich bin die ganze Zeit auf der Suche, wie Änderungen bei WebDAV automatisch in Subversion übernommen werden.

Hab mir die obigen Posts durchgelesen, aber ich werde irgendwie nicht so richtig schlau daraus.

Es geht also eigentlich nur darum, dass wenn ein Entwickler eine Datei im WebDAV ändert, das die Änderung in der selben Datei bei meinem Subversion auch vorgenommen wird. Also nur in die eine Richtung, andersherum brauch ich es nicht.

Wäre cool, wenn ihr mir ein paar Tips geben könnten, bin schon seit Stunden am Suchen.
Und sorry, wenn ich hier jetzt nen uralten Thread ausgrabe, aber ich glaube der passt einfach zu meinem Problem.
 
Zurück
Oben