Entwickler-Ecke

Programmierwerkzeuge - Subversion ohne eigenen Server betreiben?


matze - Do 15.04.10 11:24
Titel: Subversion ohne eigenen Server betreiben?
Hallo.

Ich komme langsam zu dem Stadium, an dem ich gerne meine Sourcecodes per Subversion verwalten möchte. Nun würde ich das gerne dezentral machen, sodass ich einen Server habe und dort da Repository ist und ich mit verschiedenen Rechnern drauf zugreifen kann.
Leider habe ich nur einen simplen Webspace (im Moment).

Gibt es denn Möglichkeiten, wie ich auch auf einem solchen einfachen Webspace das Rep laufen lassen kann (also vielleicht kann man ja auf jedem Rechner einen SVN Server installieren, der sich dann via FTP die Dateien holt?)
Oder müsste ich mir einen eigenen Server holen? Wenn ja: Empfehlungen sind gern gesehen ;-)

Danke schonmal für die Hilfe!

Matze


platzwart - Do 15.04.10 11:35

Sehr zu empfehlen: http://www.indefero.net/plans/

Bester Support, den ich je erlebt habe! Zudem gibst bis 50MB einen kostenlosen Account.


Critter - Do 15.04.10 11:36

Hi,

nach allem was ich weiß, muss da schon Subversion installiert sein, nur FTP reicht also nicht. Eventuell macht es aber Sinn mal freundlich bei deinem Provider an zu fragen, bei kleineren könntest du Glück haben, dass die dir ein Entsprechendes Apache Mod aktivieren, was dir die benötigten Funktionen bietet. Mir selbst ist aber nie so wirklich wohl bei dem Gedanken gewesen meine Qelltexte immer im Internet liegen zu haben (nicht das die Schöpfungshöhe jetzt so dramatisch ist, aber es steckt immerhin Arbeit drin) weshalb ich den Server auf meinem NAS installiert habe, vielleicht findest du bei dir ja auch Linuxbasierte Hauselektronik die das möglich macht. So habe ich zwar nur in meiner WLAN Blase zugriff darauf, aber das reicht mir auch.

Ansonsten gibt es auch Serverlose Versionskontrollsysteme, welche ja vielleicht interessant sein können, mit denen habe ich mich aber noch nie richtig auseinandergesetzt, so dass ich auf andere User verweisen muss.

Critter


BenBE - Do 15.04.10 12:00

Subversion dezentral ... nennt sich glaube Git ;-)

Ansonsten:
- Als ganz normales lokales Repo
- Netzwerk-Share und mit file:////server/share/dir/ drauf zugreifen
- WebDAV und dort das Repo ablegen (via verbundenem Netzlaufwerk)
- Lokal SVNServer aufsetzen und darüber connecten

Ansonsten halt Git verwenden :P


Martok - Do 15.04.10 12:51

SVN, das ist ja soooo 2000 ;)

SVN über FTP hatte ich mal versucht: geht nicht sinnvoll. Gleiches gilt allerdings auch für git; vernünftig geht das nur mit richtigem Server.
Im Prinzip reicht zwar WebDAV völlig aus, ist aber alles andere als effizient.

Es hat schon einen Grund, dass ich bei github.com bin. Wobei natürlich da das "Problem" ist, dass man Repos nur gegen Geld privat, also unsichtbar für andere erstellen kann.


Critter - Do 15.04.10 12:52

Hi,
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Subversion dezentral ... nennt sich glaube Git ;-)

wenn ich mich recht entsinne dürften Mercurial und Bazaar ähnliches leisten, wahrscheinlich gibt es noch eine ganze Reihe mehr. Wir wollen die Welt ja nicht kleiner machen als sie ist ;). Nur habe ich eben noch mit keinem dieser Systeme gearbeitet und kann user profile iconmatze eben nichts darüber erzählen, deshalb der Hinweis auf erfahrenere Nutzer (mit der impliziten Aufforderung an diese doch mal zu berichten ;))

Critter


danielf - Do 15.04.10 13:00

Hallo,

also mit Tortoise SVN kann man ohne Server ein Repository erstellen und darauf zugreifen. Wenn du also eine normale Dateifreigabe hast, kannst du es auf deinen WebServer machen. Ansonsten an eine beliebige Stelle in deinem Netzwerk ... oder wie ich bei meiner Diplomarbeit auf einen USB-Stick.

Gruß Daniel


Dude566 - Do 15.04.10 13:17

user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
Sehr zu empfehlen: http://www.indefero.net/plans/

Bester Support, den ich je erlebt habe! Zudem gibst bis 50MB einen kostenlosen Account.


Stimmt nicht ganz: bis zu 50 Projekte und 10MB Speicherplatz.

Aber für mich als Anfänger und Hobbyentwickler eine feine Sache, danke für den Link. ;)


Nersgatt - Do 15.04.10 14:22

Bei uns läuft ein SVN-Server in der Firma, auf den ich von zu hause aus problemlos zugreifen kann. Läuft über eine 2000er-DSL-Leitung in der Firma + DynDNS. Und völlig problemlos und auch schnell genug.


matze - Di 20.04.10 13:56

Hi.
Danke an alle für die Antworten. Bin jetzt wieder ein bisschen schlauer :-)

Matze


Chemiker - Di 20.04.10 16:32

Hallo matze,

vielleicht hilft Dir das Video weiter.

http://cc.embarcadero.com/item/27244

Bis bald Chemiker


Hidden - Di 20.04.10 17:09

Für Team-Projekte gibt es das ja hier im df :lol:


matze - Mi 12.05.10 14:32

Mal ne doofe Frage:

Was würde denn passieren, wenn ich z.B. auf meinem Rechner und meinem Laptop jeweils einen lokalen SVN Server installiere und das Repository dann üner Dienste wieDropBox, ZumoDrive oder SugarSync synchronisieren lasse?
Dass das nicht der Hit ist, ist mir schon klar. Die Frage ist nur: Würde es funktionieren?


BenBE - Mi 12.05.10 14:39

Da SVN nicht für dezentrale Repository-Verwaltung gedacht ist (im Gegensatz zu z.B. Git), würdest du bereits dann in Schwierigkeiten kommen, wenn Du einmal eine Revision in beiden Repos committet, bevor Du das Repo wieder synchronisierst. Das automatische MErging, wie es z.B. Git in diesem Fall macht, würde bei SVN nicht funktionieren. Dein Repo wäre dann "zerlegt" ;-)


matze - Mi 12.05.10 15:05

Git hört sich ja interessant an.
Wie funktioniert das denn? Wir ist das da mit der Dezentralität gelöst? Ist das mit SVN vergleichbar oder nicht?

Mensch, da haste mich jetzt neugierig gemacht :-D


BenBE - Mi 12.05.10 17:07

Bei Git hat jeder das gesamte Repo (was aber EXTREM gut komprimiert* ist) und um dort Daten auszutauschen zieht oder schiebt man die einfach in das entfernte Repository. Grundsätzlich kann man aber (im Gegensatz zu SVN) vollständig autark vom Server arbeiten und kann sogar Branches anlegen, die wirklich nur lokal sind (bei SVN sieht die jeder im Repo). Den Rest erklärt Dir auch sicherlich user profile iconMartok gerne ;-)

*Statistiken:
kernel.org (ALLES seit 2.6.8 bis heute): ~500MB
Wikipedia: xml.bz2-Dump dewiki ~70GB; Git ~30GB Artikel + weitere 50GB Revisionen (Der Unterschied besteht dadrin: Bei dem Git-Repo kann man VOLLSTÄNDIG browsen, was nicht mal auf der originalen Wikipedia-Page geht)
KDE: Haben wohl auch beim Wechsel von SVN zu Git um den Faktor 20 an Festplattenplatz gespart ...


matze - Mi 12.05.10 17:54

Hui. Das klingt doch schonmal recht gut.

Nachteile im Vergleich zu SVN?
Und wie muss denn dieser Server beschaffen sein? Ist das wieder ne extra Server-Software oder kann man das auch auf einem recht beschränkten Webspace laufen lassen?


Martok - Mi 12.05.10 18:02

Normalerweise will man den Git-Server, das ist einfach optimaler.
Git kann aber durchaus auch mit WebDAV arbeiten; mit einem kleinen Python-Script sogar mit FTP, das hab ich aber noch nicht selbst getestet.
Natürlich muss das Remote-Repository nicht unbedingt Remote sein: Bei mir ist das z.B. bei einem Projekt eine externe Festplatte.

Nachteile zu SVN? Eher andersrum ;)
Bin da allerdings auch etwas Fanboi: SVN konnte ich mich nie mit anfreunden, mittlerweile wird fast jedes Projekt in einem Git-Repo verwaltet. Wird klar, was ich sagen will? :roll:

Was mir besonders gefällt: Branch und Merge sind endlich "billige" Operationen. Da kann man einfach mal was ausprobieren, ohne, dass das gleich ins "offizielle" Repo dupliziert wird.

Kannst dir ja zur Verwendung mal http://gitcasts.com/ und http://help.github.com/ (rechts aufblättern, da kommen auch allgemeingültige Sachen) angucken.
Meistens ist das Shell-bezogen, aber TortoiseGit hat mittlerweile durchaus für die Meisten Aktionen was. Nur, wenn man das Repo mal kaputtgespielt hat (was selbst ich nur zweimal mit dem Affen durch schiefgelaufenes History Rewriting geschafft hab), muss doch etwas Shell-Fu ran.


platzwart - Mi 12.05.10 18:41

Ich finde, dass SVN für kleinere Projekte wesentlich einfacher zu handhaben ist. Gerade, wenn man nicht viel mit Branches etc. macht, sprich committen und updaten. Da jetzt mit Git anzufangen und selbst zu konfigurieren, naja...


BenBE - Mi 12.05.10 18:54

Der Witz ist ja, dass man z.B. mit TGit nichts konfigurieren brauch. Bei TSVN muss man sich extra erst nen Pfad mühsam zusammenbasteln. Bei TGit ist das einfach "Erzeug mir hier'n Repo" und gut ist ;-)


Tilo - Do 13.05.10 09:25

@BenBE,
meinst Du mit TSVN eventuell Tortoise SVN? Hab das bei mir installiert. Wenn ich irgenwo ein Repository haben möchte suche ich mir im Explorer ein leeres Verzeichnis aus und mache dann folgendes: Rechtklick->TortoiseSVN->Create Repository here, Wenn man Schreibrechte im Ordner wird das Repository angelegt und es kommt ein Okay.

Wobei das Anlegen eines Repositories doch nicht Entscheidungsrelevant sein dürfte. Meiner Meinung nach legt man sich einmal ein Repository an und lagert dann seine ganzen Projekte dort rein.


BenBE - Do 13.05.10 11:50

Das Anlegen des Repos ist klar bei TSVN, das geht recht einfach. Ich bezog mich aber eher auf das anschließende Checkout aus'm lokalen Filesystem, weil TSVN das irgendwie immer nicht so richtig mitmacht; sprich ich bisher mir die file://-URL (Unter Unix gern auch ///, sowie über SMB //// durchaus bei längeren Pfaden recht nervig werden kann. Bei Git legt man's Repo an und kann gleich loslegen.