• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

SVN Anbieter gesucht

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Hallo alle zusammen,

da ich jetzt doch wieder vermehrt Zeit in die Entwicklung kleinerer Hobbyprojekte stecken will bin ich auf der Suche nach einem SVN Anbieter im Netz. Sicher, ich könnt mir lokal ne kleine VM einrichten wo ich das ganze Zeug dann hinspiel, aber ich hab halt doch a bissl Schiss vor nem HDD Crash (außerdem werd ich auf die VM wohl n Jenkins klatschen, der muss nicht die ganze Zeit laufen). Kennt jemand irgendeinen netten Anbieter der auch nichts dagegen hat wenn doch mal Code längere Zeit im SVN wg. Zeitmangel verrottet? Lokal kann ich mir leider keinen zweiten PC aufstellen aus platztechnischen Gründen...

Lg
Larius
 

KippaKong

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
158
Es gibt ja einige Anbieter, die kostenlos SVN anbieten, solange es sich um ein OpenSource-Projekt handelt.
Github dürfte hier sehr bekannt sein.

Wenn es ein privates SVN sein soll, dann wird die Auswahl schon schwieriger.
CloudForge bietet einen kostenlosen Zugang mit 2 GB Storage.

Habe allerdings keine Erfahrung mit dem Anbieter. Bisher hab ich mein Zeug auch in einer VM gehostet.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Lokal kann ich mir leider keinen zweiten PC aufstellen aus platztechnischen Gründen...

Man braucht für SVN keinen Server, man kann auch Repositories im Dateisystem erstellen. Also Lokal oder auf einer USB -Festplatte.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #4
Das ich für SVN keinen Server brauch sondern es auch im File System geht weiß ich, das hab ich schonmal ausprobiert. Auf die externe HDD auslagern, mhh, klingt interessant, das werd ich mir durchn Kopf gehen lassen.
 

Exterminans

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
147
Konkreter Grund warum es SVN sein soll?

Git hat im Endeffekt nur Vorteile, selbst mit nur einem Entwickler, und das Argument dass es für git keine GUI gibt zieht nicht mehr, die gibt es inzwischen genauso wie auch für SVN.
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Welche Vorteile sollten das sein, bei einem Benutzer?
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #7
@Exterminans: N konkreten Grund gibt es nicht, außer das ich noch nie mit GIT gearbeitet habe. Die Vorteile würden mich Interessieren, vl ist es ja an der Zeit GIT zu erlernen *g*
 

Exterminans

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
147
Zu den Vorteilen gehören da u.A.:

Echte Branches
Ein Branch in git ist nicht ein eigener Ordner, sondern besteht aus einer Untermenge von Commits.
Du kannst dabei beliebig zwischen Branches wechseln, mergen und was auch immer tun, das Arbeitsverzeichnis ist das selbe, du wechselst bei einem Wechsel des aktiven Branch nur den Inhalt.

Trennung zwischen Commit und Branch
Ein Commit kann zu einem oder mehreren Branches gehören.
Wenn du einen Commit erstellst (mit "git commit"), so gehört dieser erst mal nur zu deinem lokalen, aktiven Branch.
Der Server hat einen eigenen Branch, erst wenn du "git push" sagst, werden deine Commits an den Server übertragen (der Server übernimmt quasi deinen Branch als seinen eigenen). Dabei werden dann nur die Commits noch nachträglich übertragen, die dem Server noch fehlen.

Das bringt auch einen zweiten Vorteil mit sich: Obwohl der Server ein Backup des Repos hat, brauchst du keine Verbindung zum Server um sauber zu arbeiten. Da du die neuen Commits immer erst bei dir lokal auf dem Rechner erstellst, kannst du da auch ohne Netzwerkverbindung strukturiert arbeiten und dann bei der nächsten Gelegenheit gleich ein Dutzend Commits auf einmal synchronisieren.

Einfach mal lokal was ausprobieren?
Simpel, einfach schnell einen neuen Branch erstellen (das ist nur ein einziger Befehl der notwendig ist), die experimentellen Änderungen bereits lokal schon sauber in Commits verpacken und bei nicht gefallen kannst du den Branch immer noch verwerfen. Oder in den master mergen falls es funktioniert.

Wenn du mehrere Baustellen hast an denen du gleichzeitig arbeitest, kann es durchaus Sinn machen jede Baustelle in einem eigenen Branch zu behandeln, ab und an die Änderung testweise in einem "experimental" Branch zu mergen und erst im fertigen Zustand dann alle nacheinander in den Master.

Und ja: Das macht auch schon bei einem einzigen Entwickler Sinn. Der große Vorteil dadurch ist, dass du einzelne Änderungen problemlos zurückstellen kannst, und neue Features in der Reihenfolge in den Master mergen kannst in der du sie fertig gestellt bekommst.
Mit SVN sind Branches immer ein richtiger Alptraum...


Ein anderes nettes Feature: Der "stash".
Git erlaubt es dir Änderungen die du noch nicht in einen Commit verpackt hast, einfach in den "stash" zu packen, sprich die Änderungen werden gespeichert, das Repo wieder auf den letzten Commit zurück gesetzt und du kannst erst einmal etwas anderes tun. Wenn du fertig bist, "stash" wieder auspacken und weiter arbeiten.

Das macht immer dann Sinn, wenn du mitten in einer komplexeren Sache bist, dir allerdings mitten drinnen auf fällt, dass da vorher noch etwas anderes erledigt werden müsste, du aber aus der offenen Baustelle noch keinen Commit machen willst, da nicht lauffähig. In dem Fall kommen die aktuellen Änderungen in den stash, und du kannst auf einer SAUBEREN (lauffähigen) Kopie schnell die notwendigen Änderungen commiten, und anschließend den Stash wieder herstellen - welcher dann allerdings bereits auf dem neusten Commit aufbaut.

Nur EIN .git-Ordner für das gesamte Repo
Während bei SVN wirklich in jedem Ordner ein verstecketer .svn-Ordner liegt, gibt es bei Git nur einen einzigen solchen Ordner welcher im Wurzelverzeichnis des Repos liegt. Du kannst damit die Inhalte des Repos raus, rein, hin- und herverschieben wie es dir lieb ist, ohne dass es jedes mal dein komplettes lokales Repo zerstört. (Kopieren/Verschieben/Löschen innerhalb des Repos solltest du natürlich immer noch nur mit dem passenden GIT-Kommando machen, aus dem ganz einfach Grund dass damit die Versionshistorie für die jeweilige Datei erhalten bleibt.)


Nachteil an Git?
Git kennt keine leeren Ordner. Git kennt nur Dateien, sprich wenn du einen leeren Ordner erzeugen willst, dann muss dieser immer eine Datei als Platzhalter enthalten.

Außerdem ist es ein wenig schwierig innerhalb des Repos an einem bestimmten Pfad ein weiteres Repo ein zu binden (z.B. um eine bestimmte Bibliothek direkt aus einem anderen Repo zu beziehen). Das ist allerdings IMHO etwas, was man eh nicht tun sollte.
 
Zuletzt bearbeitet:

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #9
Wenn du mehrere Baustellen hast an denen du gleichzeitig arbeitest, kann es durchaus Sinn machen jede Baustelle in einem eigenen Branch zu behandeln, ab und an die Änderung testweise in einem "experimental" Branch zu mergen und erst im fertigen Zustand dann alle nacheinander in den Master.

Das versteh ich nicht ganz. Jedes neue Feature in einem eigenen Branch entwickeln und den dann submitten, k, soweit ist es klar. Aber würdne sich nicht bei vielen Baustellen die unterschiedlichen Branches vermischen? Oder trennst du da wirklich striktest die Änderungen was zu broken Branches führt welche du erst dann wieder alle mergen musst?
 

Exterminans

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
147
Jein, die einzelnen Branches sind selten broken wenn du sinnvoll trennst. Natürlich nicht für jede Kleinigkeit nen eigenen Branch, aber wenn Dinge länger dauern, klar.

Mergen ist ja auch nicht weiter wild, i.d.R. geht der Merge voll automatisch von statten, die notwendigen Mittel dafür bringt git von Haus aus mit. Konflikte gibt es nur wenn du tatsächlich die exakt selbe Zeile in zwei verschiedenen Branches anrührst, alles andere lässt sich automatisch auflösen.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #11
hm ich hab 2 repos: GUI und DB. Jetzt ändere ich was an der DB, somit ist das repo v2. Wenn ich jetzt an der GUI was ändere wg Zugriff auf die neuen Db Funktionen muss ich doch auch das GUI Repo zuerst auf Db v2 bringen, ansonsten ist das broken. oder übersehe ich da was?
 

Exterminans

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
147
Nein, in dem Fall musst du natürlich erst die eine, dann die andere Änderung vornehmen.

Allerdings ist das Beispiel schlecht gewählt. Sinniger ist es an der Stelle nicht GUI und Backend zu trennen (das darf ruhig ein einziges Repo sein, insbesondere dann wenn die Versionen so eng verzahnt sind!), sondern jeweils Features. Wobei ein Feature durchaus Änderungen in GUI UND Backend beinhalten kann. Die Wahrscheinlichkeit dort sinnvoll trennen zu können, ist deutlich höher.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
  • Thread Starter Thread Starter
  • #13
Ah, du meinst nicht ein Feature im Sinne von einer Änderung sondern im Sinne von einer Umsetzung bzw. einer Task-Card von Scrum.. Alles klar, dann war das ein semantisches Problem, danke für die Erklärung. Vl schau ich mir doch mal GIT an, klingt recht nett :D
 

Asseon

Draic Kin

Registriert
14 Juli 2013
Beiträge
10.353
Ort
Arcadia
für den fall das du dich für git entscheidest schreib mir mal ne pn bezügl. hosting :)
 

N8wolf

fühlt sich gemobbt

Registriert
14 Juli 2013
Beiträge
101
Wenn du es nicht ganz gratis willst aber trotzdem günstig. Hoste dein SVN/Git doch einfach selber

www.uebernauten.de

einfach regestrieren und nach Tutorial SVN aufsetzen, fertig.

Vorteile:
- Volle Kontrolle
- keine nervigen AGBs etc.
- keine Verpflichtungen wie "muss Open SRC werden"
- beliebige Module können dazugeschaltet werden, andere Webfrontends etc man entscheidet selber was man will und was man braucht

Nachteile:
- selbst aufsetzen
- Kosten von min. 1 € pro Monat (pay what u want)

Wenn du Fragen hast meld dich einfach :-)

MfG
 

Rakorium-M

NGBler

Registriert
14 Juli 2013
Beiträge
413
Für git kann ich noch http://bitbucket.org empfehlen, nutze das schon für mehrere Projekte. Unterstützt auch private Repos, die öffentlich nicht einsehbar sind.
Wenn du mit der git-Kommandozeile noch nicht sehr flott bist, empfehle ich SmartGit, für nicht-kommerzielle Projekte kostenlos. Damit brauchst du eigentlich keine Konsole mehr zu bedienen (bzw. nur in Ausnahmefällen). Bietet unter anderem eine schöne grafische Commit- und Branchanzeige, Unterstützung für Git Flow, und noch viel mehr.
 
Oben