fragen stichworte

SVN, Samba und symbolische Links. Wie bekomme ich alle zusammen?

Ich habe ein Website-Projekt unter Versionskontrolle, das auf Dateien aus einem nicht versionierten Verzeichnis auf demselben Server über Symbolic Links basiert.

Ich speichere derzeit die symbolischen Links im Repository. Die Idee ist, dass jemand, der eine Arbeitskopie auf demselben Server auscheckt, die Arbeitskopie des Projekts bearbeiten und testen kann, bevor es an das Repository zurückgegeben wird.

Wenn sie ihre Arbeitskopie auschecken, werden die Symlinks erfolgreich eingerichtet, sodass die gesamte Site beim Testen funktioniert.

Die Benutzer, die an dem Projekt arbeiten, sind Windows-Benutzer. Daher habe ich auf dem Server Samba-Freigaben festgelegt und diese dann den Netzlaufwerken in Windows zugeordnet. Benutzer können ihre Arbeitskopien direkt auf dem Server über Netzwerkfreigaben bearbeiten und sie dann im Webbrowser testen, bevor sie ihre Änderungen über TortoiseSVN wieder in das Repository übernehmen.

Das Problem

Mein Problem ist, dass Samba die symbolischen Links wie erwartet auflöst. Wenn ein Benutzer jedoch versucht, die Änderungen wieder in das Repository zu übernehmen, denkt TortoiseSVN, dass die verknüpften Dateien Teil des Projekts sind und versucht, die Zieldateien in das Repository zu übernehmen nicht die symlinks selbst.

Ich habe versucht, die Symlink-Unterstützung in Samba zu deaktivieren. Dies bedeutet, dass die verknüpften Dateien nicht aufgelöst werden können, da ich nicht möchte, dass die Leute Zugriff auf die verknüpften Dateien haben, und ich möchte die verknüpften Dateien nicht im Repository importieren. Das Problem dabei ist, dass ich Can 'stat' \ webserver \ projects \ working \ project \ symlinked_file.php 'bekomme. Der Zugriff wird

verweigert

Abgesehen vom Symlink-Problem funktioniert alles andere zu 100% einwandfrei. Benutzer können Website-Projekte entweder auf ihrem Computer auschecken und daran arbeiten (aber nicht testen) oder sie in ihren Bereich auf dem Dev-Webserver auschecken und daran arbeiten und sie vollständig testen. Daher möchte ich den Workflow-Prozess nicht ändern. Ich brauche nur eine Lösung für das Problem der symbolischen Links.

Vielen Dank.

Ursprünglich auf StackOverflow veröffentlicht: https://stackoverflow.com/questions/2400917/svn-samba-und-symbolic-links-how-to-get-them-all-to-play-zusammen

antworten

Ich habe ein ähnliches Setup, aber ich habe mich entschieden, die Symlinks nicht in svn aufzunehmen.

Stattdessen habe ich ein Skript erstellt, das die symbolischen Links nach dem Checkout einfach erstellt.

dt.