Subversion unterscheidet nicht zwischen Textdateien und Binaerdateien. Um die beruechtigten line-endings probleme zu umgehen (bei Benutzung von clients auf verschiedener Plattformen) kann man Textdateien eine Eigenschaft "
svn:eol-style native" vergeben, so dass der client fuer die korrekte Umwandlung der textdaten in das native format des servers verantwortlich ist (falls benoetigt).
Die Argumente die fuer mich relevant waren:
- Atomic commits (d.h. jeder commit bekommt eine revision die allen aenderungen zugeordnet ist)
- Besseres/Sauberes branching
- Unterstuetzung von Umbenennung von Dateien
- file properties (tags, einbindung externer repositories, line endings handling)
- Plattformunabhaengigkeit, sowohl der server als auch viele Clients gibts fuer alle moeglichen Plattformen, sogar OSX
- server ist sehr flexibel, entweder standalone (
svn://), oder ueber
ssh getunnelte verbindung, oder ueber apache2 (http://) und auch SSL verbindungen zum repository sind ueber apache2 moeglich