Wer von euch benutzt SVN (o.Ä.)?



  • hustbaer schrieb:

    Ich persönlich finde das auch angenehmer als wenn man sich zu den Repositories jedes Users einzeln connecten müsste um nachzusehen was der gerade anstellt.

    Man kann natürlich auch mit git alle Branches global verwalten und auf einen zentralen Server packen. Der Vorteil bei (den meisten) DVCS-Systemen ist ja, dass man trotzdem noch zentral arbeiten kann. Ich habe für meine (mini) Projekte auch immer einen zentralen Server, allein aus Backupgründen.

    Im Grunde hört sich dein Beitrag so an, als hättest du nie mit einem modernen VCS gearbeitet und deine Argumente gründen auf Vorurteilen, die aus deiner Phantasie entstanden sind. Bisher kenne ich übrigens niemand, der wirklich intensiv mit git oder ähnlichen modernen VCSs geabreitet hat und danach SVN wieder benutzen wollte...



  • Vor einigen Jahren hab ich mit Visual Source Safe angefangen. Das wurde eigentlich nur als Backup-System verwendet (und mehr scheint es auch nicht zu können).
    Dann bin ich zu SVN. Das war schon deutlich besser. Damit war ich auch eine zeitlang zufrieden.
    Eher aus Spass heraus hab ich mal git ausprobiert. Es hat etwas länger gedauert bis ich damit zurecht kam. Jetzt will ich aber nicht mehr weg davon. Git ist angenehm und wesentlich intelligenter.
    Bei SVN hab ich es einige Male geschafft den svn-Projekt-Ordner zu zerschießen. Dateien löschen, umbenennen, verschieben. Damit kommt git besser klar.
    Ein kleines Spiel-Projekt ist schnell eingerichtet, was bei SVN immer etwas dauerte.

    Ich kann jedem nur empfehlen git auszuprobieren. Am Anfang ists vielleicht etwas ungewohnt - aber es lohnt sich.



  • Helium! Wir setzen es beruflich ein und es arbeiten an den Projekten auch mehrere Leute. Wie von hustbaer auch schon gesagt, gibt es kein Namenschaos, weil jeder User in den Branches ein User-Verzeichnis anlegen kann. Zu bedenken ist ja immer, das SVN auf einer Verzeichnis-Philosophie basiert. D.h. du kannst beliebig Verzeichnis anlegen, um eine Struktur zu erhalten. Da legt man einmal was fest und jeder kann in seinem Verzeichnis-Branch rumspielen wie er will.

    Mergen tun wir natürlich auch, wenn es mal nötig ist. Aber ganz ehrlich? Meistens bekommt ja jeder eine andere Aufgabe in einem Projekt, so das die Überschneidungen selten sind. Und wenn sie denn mal vorkommen, wird halt gemerged. Wenn das mergen unverständlich wird (was ja mal vorkommen kann), dann setzen wir uns halt für fünf Minuten zusammen an einen Rechner und schauen drauf, was wie gemerged werden soll. Denn nur weil es Computer und Server gibt, heißt es nicht, das man keinen persönlichen Kontakt bei der Arbeit mehr haben darf. Ganz im Gegenteil, es wir sind foh, wenn es mal einen Grund gibt, das man sich auch mal persönlich mit dem Kollegen vor den Rechner setzt. 😉

    Und so oft kommt es wie gesagt nicht vor, das man mergen muß. Teilweise macht es ja SVN sogar automatisch, wenn es keinen Mergekonflikt gibt. (weil die Änderungen in einer Datei an unterschiedlichen Stellen sind)

    SVN leistet bei uns schon sehr gute Dienste. Und das sich jeder verbarrikadiert, weil es ein Tool erlaubt, ist keine schöne Kultur wie ich finde. Wir arbeiten schliesslich gemeinsam an einem Projekt. Und niemand muß sich für seinen Code schämen... auch wenn er mal rumgespielt hat. Notfalls macht er vor dem Commit ein Revert, wenn es absolut für die Nachwelt unsichtbar sein soll. 😉



  • hustbaer die Hälfte deiner Einwände sind doch Käse, denn die haben weniger mit GIT als mit eurer Systemorganisation zu tun. Was kann GIT dafür, wenn ihr eure Systeme nicht anständig administriert?

    Die andere Hälfte dient ja nur dazu SVN zu verteidigen, das ist ok, auch wenn man objektiv sagen kann, dass GIT besser ist. Ist auch kein Wunder schließlich ist GIT neuer und es fließt somit mehr Erfahrung ein 💡



  • borg schrieb:

    hustbaer schrieb:

    Trotzdem würde ich ein rein dezentrales System nicht in der Arbeit einsetzen wollen. Dann noch lieber ein rein zentrales System wie SVN.

    hä? was ist denn an git rein dezentral? ihr könntet das doch auf der arbeit exakt genauso benutzen wie svn, wenn ihr wolltet. nur kommen halt noch ein paar features hinzu.

    Ganz einfache Frage: kann ich mit GIT auf einen zentralen Server committen oder meine Änderungen dorthin mergen ("push")? Und ich meine nicht dass ich mir auf dem Server eine Remote-Shell hole und dann ein "pull" mache.



  • hustbaer schrieb:

    borg schrieb:

    hustbaer schrieb:

    Trotzdem würde ich ein rein dezentrales System nicht in der Arbeit einsetzen wollen. Dann noch lieber ein rein zentrales System wie SVN.

    hä? was ist denn an git rein dezentral? ihr könntet das doch auf der arbeit exakt genauso benutzen wie svn, wenn ihr wolltet. nur kommen halt noch ein paar features hinzu.

    Ganz einfache Frage: kann ich mit GIT auf einen zentralen Server committen oder meine Änderungen dorthin mergen ("push")? Und ich meine nicht dass ich mir auf dem Server eine Remote-Shell hole und dann ein "pull" mache.

    Klar mit git push. Würd dir gern die Man-Page von git-push verlinken, aber die kernel.org Seite reagiert bei mir gerade nicht.



  • es wäre ja auch nutzlos wenn's nicht gehen würde 🙂



  • Ich hab mir die Doku nur kurz durchgesehen, und da stand nix von push, die haben immer bloss pull erwähnt.
    Vielleicht hab ich nicht genau genug geguckt.



  • hustbaer schrieb:

    Ich hab mir die Doku nur kurz durchgesehen, und da stand nix von push, die haben immer bloss pull erwähnt.
    Vielleicht hab ich nicht genau genug geguckt.

    Pulls sind einfach recht üblich, aufgrund der Arbeitsweise die sich zB bei den Linux-Kerneldevs eingebürgert hat und die bei GitHub und Konsorten extrem angenehm ist. Die passende Manpage gibts hier:
    http://www.kernel.org/pub/software/scm/git/docs/git-push.html
    Oder sogar hier: man: git-push

    edit: Hier sieht man vmtl. am besten, _wie_ simpel das eigentlich ist:
    http://wiki.laptop.org/go/Using_a_central_git_tree



  • Also svn ist ja allein schonmal deswegen schlechter als git, weil man bei SVN im Quellcode des eigenen Projekts nicht einfach mal notieren kann, daß der Chef heute mal wieder ein großer Arsch war, schließlich kann das jeder lesen. 😞



  • Sowas gehört wohl eher in dein Tagebuch als in den Sourcecode...



  • Knuddlbaer schrieb:

    Beim programmieren gibst du aber schon noch Text ein, oder klickst du dir den Code mit lustigen Buttons & Dialogen zusammen?

    Naja, man kann eine IDE verwenden oder einfach nur edit.exe und den Compiler mit all seinen Optionen per Hand aufrufen. Was mag da wohl wirtschaftlicher sein. (Sicherlich edit.exe weil bereits vorhanden, geht keine Zeit verloren für die Installation einer IDE ^^)

    Dies kann doch nur von einem Windows-User kommen, denn wer die Linux Bash mit edit.exe vergleicht 🙄 Ich benutze git nur in der Kommandozeile, ist wesentlicher angenehmer so und ich weis immer was grade passiert.

    Man kann aber freilich git mit einem zentralen Server verwenden. Ich habe z.B. meinen zentralen Repo-Server auf den ich alle paar Tage die Aenderungen hochlade.
    https://deventm.homelinux.net/cgit-public/cgit.cgi

    Man holt sich halt z.B. mit

    $ git clone ssh://repos@deventm.homelinux.net:6633/home/repos/deventm-dialogs.git
    

    Eine neue Kopie des Master-Branch auf seinen Rechner. Dann kann man auf seiner Kopie sooft branchen/mergen/Misst bauen wie man will. Wenn man dann was richtiges hat kann man mit

    git push branchFoo
    

    Die Aenderungen auf den zentralen Server laden. Oder der Projekt-Manager holt sich deine Aenderungen von deinem Server:

    git fetch ssh://... branchFoo
    

    Git unterstuetzt dabei u.a.: git-Protokoll, ssh, http, ftp, webdav. Steht ja alles auf der von nman verlinkten Seiten.

    IMHO gibts keinen Grund mehr sowas wie CVS oder SVN zu benutzen. Genauso wie es keinen Grund mehr gibt DOS oder Windows 3.1 zu benutzen. Hier ist nochmal das Video von Torwald ueber Git:
    http://de.youtube.com/watch?v=4XpnKHJAok8



  • DEvent schrieb:

    [...]

    Full ACK!


Anmelden zum Antworten