2008-08-18 6 views
24

Ich habe Subversion für Code-Kontrolle mit TortoiseSVN verwendet, um mit dem Server für die letzten Monate zu interagieren, und im Allgemeinen ist es gut gegangen! Jedoch gelegentlich meine FoxPro IDE wird den Fall einer Dateierweiterung ändern, ohne Warnung, wo „program.prg“ wird „Programm. PRG“) TortoiseSVN anscheinend dies die erste Datei zu verstehen, nimmt entfernt wurde, markiert immer als "Missing" und der zweite Name erscheint als "nicht versioniert", was meine Fähigkeit, Änderungen an der Datei zu verfolgen, verheerend beeinflusst hat. Ich verstehe, dass Subversion seinen Ursprung in der Groß- und Kleinschreibung von * nix hat, aber gibt es eine Möglichkeit, dieses Verhalten in Subversion oder TortoiseSVN so zu steuern, dass der Dateiname bei Windows nicht von Groß- und Kleinschreibung unterschieden wird?Kann ich Subversion + TortoiseSVN für Windows nicht beachten?

+0

Warum können Sie all diese Dateien nicht einfach einmal in .PRG umbenennen? Oder wird FoxPro es auch zufällig in Kleinbuchstaben ändern? –

Antwort

20

Leider ist Subversion Groß-und Kleinschreibung. Dies liegt an der Tatsache, dass Dateien von Subversion auf Dateisystemen, bei denen die Groß-/Kleinschreibung berücksichtigt wird (z. B. * nix), und bei Dateisystemen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird (z. B. Windows, Mac), ausgecheckt werden können.

This pre-commit hook script kann Ihnen helfen, Probleme beim Einchecken von Dateien zu vermeiden. Wenn es Ihr Problem nicht löst, ist mein bester Vorschlag, ein kleines Skript zu schreiben, um sicherzustellen, dass alle Erweiterungen Kleinbuchstaben sind, und es jedes Mal vor dem Einchecken/Auschecken ausführen. Es wird eine PITA sein, aber vielleicht deine beste Wette.

+1

TortoiseSVN verfügt über eine Funktion zur Falleinstellung. Wenn TSVN feststellt, dass ein Dateiname in der Arbeitskopie nur für den Fall umbenannt wurde, wird die Groß-/Kleinschreibung in der Datei wiederhergestellt. (Die Befehlszeilen-SVN-Tools tun dies nicht.) –

+0

Das Skript gab Datei nicht gefunden, aber die richtige wird vom Autor Stefan hier referenziert; http://stackoverflow.com/questions/5393395/why-svn-import-option-fails-to-detect-file-duplicatio – AnneTheAgile

2

Ich benutze TortoiseSVN mit VFP, und es meistert nahtlos das Fallumdrehen. Das einzige Mal, wenn es nicht ist, wenn ich die Datei in der IDE geöffnet habe, wenn ich versuche, das Commit durchzuführen: Die Dateisperre, die VFP enthält, verwirrte sie. Ist dies der Punkt, an dem Ihr Problem auftritt, oder gibt es andere Probleme? Ich habe letztes Jahr bei FoxForward eine Präsentation über die Verwendung von VFP mit Subversion gehalten: Der Großteil der Präsentation behandelt die Befehlszeile, aber am Ende gibt es einige Folien, die Links zu Werkzeugen enthalten, die Ihnen bei der Arbeit mit Subversion helfen VFP. http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4

+0

Danke für die Einsicht! VFPs binär behandelte Tabellen, Formulare usw. sind eine Herausforderung, mit der in SVN gearbeitet werden kann. –

+0

VFP = Visual FoxPro – AnneTheAgile

1

Kit, Sie Kommentar oben, dass VFP binär-basierte Quelldateien sind schwer zu arbeiten mit Subversion. Der Link, den ich oben erwähnt habe, erwähnt ein paar Tools, um es einfacher zu machen, aber der, mit dem ich arbeite, ist das Tool TwoFox von Christof Wollenhaupt - es konvertiert ein VFP-Projekt in Nur-Text. Sie müssen es manuell ausführen, aber ich habe damit kein Problem.

http://www.foxpert.com/docs/cvs.en.htm

+0

Danke Garret, aber der Download-Link für TwoFox ist auf der Seite, für die Sie verlinkt haben, defekt. Das Konvertierungstool wäre sehr praktisch, da ich gerade heute Morgen Probleme mit FoxPro-Subversion hatte! Irgendein anderer Ort könnte ich einen Download für TwoFox bekommen oder gibt es eine bessere Option da draußen? –

+0

Tut mir leid, ich habe das vorher nicht gesehen - für den Rekord habe ich nur Christofs Website überprüft, und der Download ist immer noch gut. Ich vermute, es war nur ein vorübergehender Fehler. – SarekOfVulcan

2

Ich glaube, die zufällige Groß- und Kleinschreibung an den Verlängerungen überhaupt nicht zufällig ist. Ich erinnere mich daran zu testen. Wenn Sie ein Programm vom Projektmanager ändern. Durch Klicken auf die Schaltfläche Ändern sagen wir. Und speichern Sie dann die Änderungen, die die Erweiterung in Kleinbuchstaben ist. Wenn Sie einen Befehl zum Ändern aus dem Befehlsfenster ausführen und die Änderungen speichern, ist die Erweiterung in Großbuchstaben. Anscheinend haben sich die Programmierer bei Microsoft nicht darum gekümmert, dass der Erweiterungsfall der gleiche ist.

+0

Dies bestätigt das Muster, das ich gesehen habe, seit ich diese Frage gepostet habe, danke. –

4

Windows unterstützt Groß- und Kleinschreibung, aber Sie müssen es die richtigen POSIX-Flags auf CreateFile von der Windows-API senden! Ein Registrierungsschlüssel muss möglicherweise geändert werden (SFU/Tools für Unix und Ultimate Windows 7 hat diesen Registrierungseintrag bereits festgelegt, sodass Windows Dateinamen mit Groß-/Kleinschreibung unterstützt).

Windows ist von Unix entworfen, aber Dinge wie Explorer.exe und andere Programme sind darauf ausgelegt, Groß-/Kleinschreibung für Rückwärtskompatibilität und Sicherheit zu verbieten (vor allem wenn DOS mit notepad.exe vs. NOTEPAD.EXE ausgeführt wird) caps ist ein Virus oder Malware).

Aber Vista + hat Sicherheitsattribute, die das überflüssig machen.

TorousSVN unterstützt einfach nicht, diese Posix-Markierung beim Erstellen und Umbenennen von Dateien zu übergeben.

0

Nein, Sie können nicht sicher. SVN unterscheidet zwischen Groß- und Kleinschreibung, es sei denn, Sie haben den Code irgendwie umgeschrieben ... ist Open-Source.