Da es, beruflich, Web-Projekte waren, gabs da nix binäres (Grafiken wurden nicht im
SVN gepflegt).
Tags/Zweige gab es nicht viele, Revisionen einige, wurde ja über Jahre auch gepflegt die Software.
Im wesentlich waren es zwei Zweige (einer für den aktuellen Stand auf den Live-Server, einen für die Entwicklung). Gelegentlich mal einen, wenn einer etwas größeres geändert hat oder ausprobieren wollte.
Wieviel Revisionen es nu waren kann ich dir nicht sagen, hab da nie sonderlich drauf geachtet
Aber bei 2-3 Entwicklern die über Jahre daran täglich arbeiten kommt da schon was zusammen
Cool, Danke für die Info. Mit nur zwei Zweigen gibt man
SVN natürlich auch weniger zu tun. Aber finde es schon faszinierend, daß es für einige hervorragend zu funktionieren scheint, und bei uns immer ab irgendeinem Punkt performancetechnisch absackte. Wobei sich die drei Repositories die ich im Sinn habe alle mehr oder weniger in der Nutzung und Ausmaß an Revisionen und Tags/Branches ähneln.
Irgendwie hatte
SVN beim Einchecken mehrere Binärdateien als "Text"erkannt/markiert, was bei den "Zeilenumbrüchen" dann die Dateien schrottete.
Als wir dann erstmal rausfanden (dauerte etwas), dass diese Dateien "defekt" waren, half am Ende nur löschen und erneut adden.
Jupp, ist auch einer der Fehler die von
CVS auf
SVN portiert wurden. Nicht vergessen, die Autoren von
SVN hatten es ja als Nachfolger von
CVS im Sinn, der viele alte Fehler nicht macht (scheinbar aber viele neue). Aus meiner Sicht geht es ein VCS nichts an wie die Dateiendungen aussehen. Das darf und soll das komplett clientseitig (also in der Arbeitskopie) gelöst werden und betrifft ohnehin nur wenige Dateien. Auch Windowsentwicklungswerkzeuge kommen mit LF statt CRLF klar.
Übrigens,
SVN-Externals finde ich noch so ein abgrundtief grottiges "Feature". Aus zwei Gründen:
- Wenn ich Externals in meine Arbeitskopie auschecke, will ich auch in der Lage sein darin Änderungen vorzunehmen, insbesondere wenn es sich um repo-relative oder server-relative Externals handelt. Denn es steht ja anzunehmen, daß ich bei einem relativen External der auf dem gleichen Server liegt auch Zugriff hab. Und sollte das nicht der Fall sein, kann SVN das immernoch an meinen Zugriffsrechten scheitern lassen. Aber so erleichtern Externals, in Zeiten in denen ich ganz leicht auch auf Windows nen Junction-Point oder ne symbolische Verknüpfung anlegen kann, die Arbeit nur scheinbar.
- Absolute Externals können scheinbar nachträglich nicht ohne dump/filter/load-Routine auf alten Revisionen geändert werden, was ein echtes Problem darstellt. Wenn sich Servername, Pfad zum Repo oder auch das Protokoll geändert haben und die jeweils alte Einstellung nicht mehr funktioniert, hat man damit einen alten Zustand den man nicht mehr nutzen kann. Soviel dann zum Thema reproduzierbare Kompilate. Fazit: Externals außerhalb des eigenen Servers vermeiden, ggf. die externen Repos mit svnsync spiegeln (und nicht vergessen die UUID anzupassen).