Auf meinen Entwicklungsserver wird von mehreren OSX-Benutzern zugegriffen, und ihr Betriebssystem lßt viele unnötige Dateien um den Ort herum, die alle mit Punktunterstrich beginnen (" ._
"). Ich weiß, dass OSX gesagt werden kann, diese nicht auf Netzlaufwerken zu erstellen, aber sie schleichen sich immer noch ein. Ich möchte, dass SVN alles ignoriert, was mit " ._
" anfängt, aber ich kann es anscheinend nicht zum Laufen bringen Es sieht so aus, als sollte es einfach sein. Ich habe " ._*
" zum globalen SVN-Ignoriermuster hinzugefügt, aber SVN versucht immer noch, diese Dateien hinzuzufügen und zu committen. Kann mir jemand sagen, was ich falsch mache? Mein vollständiges SVN-Ignoriermuster ist:
Ich weiß nicht, ob es einen Unterschied macht, aber ich versuche, dies sowohl auf dem Ubuntu- als auch auf dem Ubuntu-Server einzustellen, indem ich die Datei / etc / subversion / config bearbeite.
Ich habe einen Pre-Commit-Hook , der zur Rechnung passen könnte. Mit diesem Hook können Sie die Verwendung bestimmter Dateinamen basierend auf einem regulären Ausdruck vollständig verbieten. Sie können jede Datei verbieten, die mit "._" beginnt. Wenn jemand versucht, eine Datei hinzuzufügen, kann sie diese nicht übernehmen.
Nach ein paar abgewiesenen Commits aufgrund von "._" Dateien, aktualisieren die Entwickler ihre global-ignores
um diese Dateien einzuschließen.
Sie können global-ignores
nicht für alle Benutzer festlegen, aber dieser Vorab-Hook ermutigt Ihre Benutzer, sie selbst festzulegen.
Es funktioniert nach dem gleichen Prinzip, nach dem Steckdosen den Benutzer davon abhalten, eine Gabel in sie zu stecken. Nach dem dritten oder vierten Mal erfahren selbst die hartnäckigsten Entwickler, dass es keine gute Idee ist.
Ich habe einen Pre-Commit-Hook , der zur Rechnung passen könnte. Mit diesem Hook können Sie die Verwendung bestimmter Dateinamen basierend auf einem regulären Ausdruck vollständig verbieten. Sie können jede Datei verbieten, die mit "._" beginnt. Wenn jemand versucht, eine Datei hinzuzufügen, kann sie diese nicht übernehmen.
Nach ein paar abgewiesenen Commits aufgrund von "._" Dateien, aktualisieren die Entwickler ihre %code% um diese Dateien einzuschließen.
Sie können %code% nicht für alle Benutzer festlegen, aber dieser Vorab-Hook ermutigt Ihre Benutzer, sie selbst festzulegen.
Es funktioniert nach dem gleichen Prinzip, nach dem Steckdosen den Benutzer davon abhalten, eine Gabel in sie zu stecken. Nach dem dritten oder vierten Mal erfahren selbst die hartnäckigsten Entwickler, dass es keine gute Idee ist.
Subversion verwendet die Funktion fnmatch () für die Ignores. Sie müssen also die Mustervergleichsnotation dieser Funktion verwenden.
Der von Ihnen gepostete Bereich "Ignorieren" sollte funktionieren. Sind Sie sicher, dass Sie es in der richtigen Konfigurationsdatei einstellen? Es gibt mehrere Orte , wo svn diese liest.
Auf Unix-ähnlichen Systemen erscheint dieser Bereich als Verzeichnis namens .subversion im Home-Verzeichnis des Benutzers. Neben dem Konfigurationsbereich pro Benutzer erkennt Subversion auch das Vorhandensein eines systemweiten Konfigurationsbereichs. [..] Auf Unix-ähnlichen Plattformen wird der systemweite Konfigurationsbereich voraussichtlich das Verzeichnis / etc / subversion sein;
Fügt SVN Dateien keine lokale Operation hinzu? In diesem Fall sollten die benutzerspezifischen Einstellungen die Dateien ignorieren.
Es ist normal, ._ * -Dateien zu erhalten, da die Entwickler direkt auf dem Server arbeiten, daher werden ._-Dateien beim Bearbeiten von Dateien direkt erzeugt.
Sie sollten stattdessen eine Arbeitskopie auf ihrem lokalen Rechner holen (siehe Subversion-Dokumentation, wie man es von einem Samba-Server macht), dann verhindert das auf jedem Rechner gesetzte Ignoriermuster, dass sie ._ * -Dateien hinzufügen, wenn sie es tun verpflichten. Mit anderen Worten, diese Dateien bleiben "auf ihrem Rechner".
Können Sie einen clientseitigen Hook erstellen, um die Dateien ._ * rekursiv zu löschen?
Ich habe einen Alias in meiner Bash-Shell, um alle .DS_Store-Ordner zu entfernen, die Verbindung zu Subversion ist etwas, das ich untersuchen sollte ...
Auf meinen Entwicklungsserver wird von mehreren OSX-Benutzern zugegriffen, und ihr Betriebssystem lßt viele unnötige Dateien um den Ort herum, die alle mit Punktunterstrich beginnen (" %code% "). Ich weiß, dass OSX gesagt werden kann, diese nicht auf Netzlaufwerken zu erstellen, aber sie schleichen sich immer noch ein. Ich möchte, dass SVN alles ignoriert, was mit " %code% " anfängt, aber ich kann es anscheinend nicht zum Laufen bringen Es sieht so aus, als sollte es einfach sein. Ich habe " %code% " zum globalen SVN-Ignoriermuster hinzugefügt, aber SVN versucht immer noch, diese Dateien hinzuzufügen und zu committen. Kann mir jemand sagen, was ich falsch mache? Mein vollständiges SVN-Ignoriermuster ist:
%Vor%Ich weiß nicht, ob es einen Unterschied macht, aber ich versuche, dies sowohl auf dem Ubuntu- als auch auf dem Ubuntu-Server einzustellen, indem ich die Datei / etc / subversion / config bearbeite.
Subversion verwendet die Funktion fnmatch () für die Ignores. Sie müssen also die Mustervergleichsnotation dieser Funktion verwenden.
Der von Ihnen gepostete Bereich "Ignorieren" sollte funktionieren. Sind Sie sicher, dass Sie es in der richtigen Konfigurationsdatei einstellen? Es gibt mehrere Orte , wo svn diese liest.
Auf Unix-ähnlichen Systemen erscheint dieser Bereich als Verzeichnis namens .subversion im Home-Verzeichnis des Benutzers. Neben dem Konfigurationsbereich pro Benutzer erkennt Subversion auch das Vorhandensein eines systemweiten Konfigurationsbereichs. [..] Auf Unix-ähnlichen Plattformen wird der systemweite Konfigurationsbereich voraussichtlich das Verzeichnis / etc / subversion sein;
Fügt SVN Dateien keine lokale Operation hinzu? In diesem Fall sollten die benutzerspezifischen Einstellungen die Dateien ignorieren.
Es ist normal, ._ * -Dateien zu erhalten, da die Entwickler direkt auf dem Server arbeiten, daher werden ._-Dateien beim Bearbeiten von Dateien direkt erzeugt.
Sie sollten stattdessen eine Arbeitskopie auf ihrem lokalen Rechner holen (siehe Subversion-Dokumentation, wie man es von einem Samba-Server macht), dann verhindert das auf jedem Rechner gesetzte Ignoriermuster, dass sie ._ * -Dateien hinzufügen, wenn sie es tun verpflichten. Mit anderen Worten, diese Dateien bleiben "auf ihrem Rechner".
Können Sie einen clientseitigen Hook erstellen, um die Dateien ._ * rekursiv zu löschen?
Ich habe einen Alias in meiner Bash-Shell, um alle .DS_Store-Ordner zu entfernen, die Verbindung zu Subversion ist etwas, das ich untersuchen sollte ...
Tags und Links svn