PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WebDAV als Versionskontrolle auf Unix einrichten



TubbieToeter
31.03.2005, 09:15
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

devilz
31.03.2005, 11:08
Ich glaube das webdav Protokoll ist da eher ungeeignet für nen Versionskontrolle System?
http://de.wikipedia.org/wiki/WebDAV

Afaik solltest du eher subversion oder cvs aufsetzen für dein Vorgang ...
http://de.wikipedia.org/wiki/CVS
http://de.wikipedia.org/wiki/Subversion_%28Software%29

Oder missverstehe ich da wa ?
Du willst nen webdav Zugang zusätzlich zum cvs/subversion Zugang ?

TubbieToeter
01.04.2005, 09:29
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.

devilz
01.04.2005, 13:28
Hmmm ... ok da muß ich passen :/

thorus
02.04.2005, 21:01
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.


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.


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.

TubbieToeter
04.04.2005, 10:52
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.

Loxxlay
03.05.2005, 16:22
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

Kodierer
06.07.2005, 14:06
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.

tr0nix
06.07.2005, 16:07
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))

tr0nix
06.07.2005, 19:10
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!


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

gurkensalat
16.04.2010, 15:46
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.