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
Antwort
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.
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. –
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 Machen Sie die Template-Sache. –
- 1. Verhindern, dass ein Benutzer eine Datei löscht, verschiebt oder umbenennt
- 2. Verhindern, dass Benutzer Benachrichtigungen verwerfen
- 3. Verhindern, dass Benutzer eine Zeichenfolge in PHP explodiert
- 4. Verhindern, dass Benutzer Zeitpläne für Jobs erstellen
- 5. Verhindern, dass Code vom Benutzer ausgeführt wird
- 6. Verhindern, dass Benutzer im Internet surfen
- 7. verhindern, dass Benutzer 0 als Eingabe eingibt
- 8. struts2 verhindern, dass andere Benutzer eine Aktion ausführen
- 9. Verhindern, dass eine bestimmte CSS-Datei in Yii geladen wird
- 10. Verhindern, dass in MATLAB
- 11. Verhindern, dass Benutzer Zeichen in ein Textfeld in SWT eingeben
- 12. SVN überschreiben eine bestimmte Datei von SVN
- 13. SVN: Verhindern, dass ein neuerer Client die SVN-Version einer Arbeitskopie aktualisiert?
- 14. Verhindern, dass Benutzer dasselbe Kennwort in Symfony verwenden (bcrypt)
- 15. Verhindern, dass die Verbindungszeichenfolge an das Repository übergeben wird
- 16. Wie kann ich verhindern, dass Benutzer Daten in DataGridViewComboBoxCells eingeben?
- 17. Verhindern Sie, dass Benutzer das Skript in Wordpress-Post eingeben
- 18. Wie kann man verhindern, dass Delphi eine RSM-Datei erzeugt?
- 19. Verhindern, dass Benutzer ein Formular mit einer bestimmten Zeichenfolge senden
- 20. Wie kann man verhindern, dass Karma eine Datei entfernt?
- 21. Wie kann man verhindern, dass eine Spool-Datei gelöscht wird?
- 22. Wie verhindern Sie, dass Liberty eine veröffentlichte WAR-Datei erweitert?
- 23. Verhindern, dass eine Fragmenttransaktion zurückgesetzt wird
- 24. Verhindern, dass XML-Namespaces an untergeordnete Elemente übergeben werden
- 25. Binärdateien an SVN übergeben
- 26. So verhindern Sie, dass Benutzer den Dienst missbrauchen
- 27. Verhindern, dass Flex eine externe Ressource zwischenspeichert
- 28. SVN ignorieren eine '.a' Datei
- 29. Verhindern, dass Benutzer Dateien direkt von der Website herunterladen, wie?
- 30. Verhindern, dass Benutzer sehen, Objekte, auf die sie keinen Zugang
Warte, du nimmst deine Produktionskopie direkt aus dem Entwickler-Repository? –
Fügen Sie es zu 'svn: ignore' hinzu? Richten Sie im Repository eine ACL für diesen Pfad ein, die jeden Benutzer ablehnt? – cdhowie
@cdhowie: Sie sollten Ihren Kommentar in Antwort bilden! Das ist eine großartige Antwort. – jgifford25