2010-12-06 13 views
3

Ich weiß ... SVN. Aber hier ist der Deal. Ich habe mehrere Entwickler (und einige Designer), die in SVN arbeiten. Wir haben eine configure.php-Datei, die wir für alle db-Verbindungen usw. verwenden. Wir müssen verhindern, dass sie ihre Kopie an das Repository übergeben, so dass Live-Daten nicht in dev-Anmeldedaten überschrieben werden. Jemand?Verhindern, dass Benutzer eine Datei in SVN übergeben

+0

Warte, du nimmst deine Produktionskopie direkt aus dem Entwickler-Repository? –

+4

Fügen Sie es zu 'svn: ignore' hinzu? Richten Sie im Repository eine ACL für diesen Pfad ein, die jeden Benutzer ablehnt? – cdhowie

+0

@cdhowie: Sie sollten Ihren Kommentar in Antwort bilden! Das ist eine großartige Antwort. – jgifford25

Antwort

6

Sie können die Datei sperren. Es wird nicht wirklich jemanden daran hindern, es zu modifizieren (da sie das Schloss aufbrechen können), aber es bietet eine zusätzliche Barriere, die oft genug ist, um den Check-in zu stoppen.

Eine bessere Lösung wäre, einen Pre-Commit-Hook zu schreiben, der das Einchecken auf der Serverseite ablehnt; Es wäre jedoch sehr ärgerlich, Leute dazu zu zwingen, alles außer der verbotenen Datei einzuchecken, da dies bedeuten würde, eine Menge Dateien in der Befehlszeile (oder dem GUI-Tool) aufzulisten.

Die beste Lösung ist, die Datei nicht einzuchecken, sondern eine "config template" -Datei mit einem ähnlichen, aber anderen Namen als dem benötigten einzuchecken. In dieser Datei erklären Sie die Notwendigkeit, die Datei in den korrekten Dateinamen zu kopieren (und zu beschreiben, welche Felder mit den entsprechenden Informationen ausgefüllt werden müssen). Dann fügen Sie eine svn ignore -Eigenschaft für die eigentliche Konfigurationsdatei hinzu. Wiederum kann jemand, der schlau genug ist, die Ignorierung aufheben und die Datei schließlich einchecken, aber es ist oft genug, um alle außer den fleißigsten Systembrechern zu stoppen.

+0

Ehrlich, wenn jemand böswilligen Zugang zu Ihrem Repository hat, tun Sie etwas falsch an erster Stelle. Ich würde vermuten, dass das eher zufällige Checkins sind. –

+0

Wenn sie die Hook-Skripte vor und vor dem Entsperren einrichten, können sie Subversion so konfigurieren, dass niemandem (außer den autorisierten) erlaubt wird, Sperren zu stehlen oder zu brechen. – jgifford25

+1

+1 Machen Sie die Template-Sache. –

Verwandte Themen