Welches SCM benutzt ihr?



  • nman schrieb:

    CVS ist veraltet.

    Jo. Subversion auch.

    'veraltet' stimmt doch nicht (das letzte release ist von mitte 2008 oder so), sag doch einfach 'alt'. ich kenne leute, die heute noch CVS benutzen und damit zufrieden sind. wer keinen anlass zum wechseln hat, braucht's auch nicht zu tun, schon garnicht, nur weil etwas weniger jahre auf dem buckel hat. und erst recht nicht bei software, denn die vergammelt ja nicht mit zunehmendem alter. im gegenteil, wenn sie weiterentwickelt wird, wird sie sogar zuverlässiger und stabiler.
    🙂



  • Git hat sehr fanatische bands, und ich habe bisher kein andere VCS gesehen was so viel eigenwerbung macht.
    Bei soviel Marketing muss ein Haken sein 😃

    whygitisbetterthenx ist auch nur so ein Marketing blabla, sowas kann jede Software von sich behaupten.

    Andere gut funktionierende Systeme haben es nicht nötig sich derart zu Profilieren 😉

    Ist wie Windows vs Linux.
    Die Fanboys reden und labern immer wie toll alles ist, und helfen sich gegenseitig, und die Windows user machen sich einfach keine Gedanken da alles Problemlos funktioniert 😃 daher auch weniger Werbung...



  • CSL schrieb:

    Git hat sehr fanatische bands, und ich habe bisher kein andere VCS gesehen was so viel eigenwerbung macht.
    Bei soviel Marketing muss ein Haken sein 😃

    whygitisbetterthenx ist auch nur so ein Marketing blabla, sowas kann jede Software von sich behaupten.

    Andere gut funktionierende Systeme haben es nicht nötig sich derart zu Profilieren 😉

    Ist wie Windows vs Linux.
    Die Fanboys reden und labern immer wie toll alles ist, und helfen sich gegenseitig, und die Windows user machen sich einfach keine Gedanken da alles Problemlos funktioniert 😃 daher auch weniger Werbung...

    Wer so denkt, VERDIENT es, sich mit Subversion oder besser noch PVCS zu "erlaben".



  • CSL schrieb:

    Bei soviel Marketing muss ein Haken sein 😃

    Der einzige Haken an git ist, dass vor lauter Marketing keine vernünftige IDE integration zustande bekommen.

    Das ist auch der einzige Nachteil den git hat. Leider ein gravierender 😞

    Bin deshalb wieder auf svn zurück 😞



  • Ich hab für meine eigenen Sachen erst CVS, dann SVN, dann Monotone verwendet und jetzt benutze ich git. Und mir gefällt git mit Abstand am besten. (Habe aber auch mal mercurial benutzt. Persönlich hat es mir nicht so gut gefallen, war irgend wie unübersichtlicher und langsamer. Aber scheint recht viele Features von git auch zu haben)

    Wenn ich mit SVN arbeiten muss, dann mach ich das eigentlich nur noch über git-svn (ist ein git Programm, dass das SVN Protokoll spricht)

    @Shade Of Mine
    Kommt auf die IDE an. Emacs hat mit magit zB eine ziemlich geniale Integration. Mit anderen Integrationen/IDEs habe ich mich aber bisher nicht befasst.

    @CSL
    Weil andere Software ja keine Werbekampagnen hat :p



  • CSL schrieb:

    whygitisbetterthenx ist auch nur so ein Marketing blabla, sowas kann jede Software von sich behaupten.
    Andere gut funktionierende Systeme haben es nicht nötig sich derart zu Profilieren
    Ist wie Windows vs Linux.

    ja, das finde ich auch ziemlich kurios, zumal das zeug völlig kostenlos ist, wie SVN und CVS auch. einige aus der szene haben wohl so'ne art sendungsbewusstsein und wollen die welt verbessern o.ä. es herrscht krieg unter den open-source entwicklern *fg*. soll doch jeder das VCS benutzen, wovon er meint, dass es für seine belange am besten passt.
    🙂



  • ;fricky schrieb:

    ja, das finde ich auch ziemlich kurios, zumal das zeug völlig kostenlos ist, wie SVN und CVS auch. einige aus der szene haben wohl so'ne art sendungsbewusstsein und wollen die welt verbessern o.ä. es herrscht krieg unter den open-source entwicklern *fg*.

    Die Git-Marketing-Seiten sind eigentlich alle von den Github-Leuten, die natürlich Geld verdienen wollen.

    Ändert aber nichts an der Tatsache, dass Git das beste ist, was es derzeit gibt.



  • Welches verteilte SCM ist ja auch fast egal, der Missionarsdrang erwacht meistens erst dabei, wenn es darum geht, Leuten ihr erstes verteiltes VCS nahe zu bringen, weil das einfach so ein Riesenschritt nach vorne ist.



  • ;fricky schrieb:

    nman schrieb:

    CVS ist veraltet.

    Jo. Subversion auch.

    'veraltet' stimmt doch nicht (das letzte release ist von mitte 2008 oder so), sag doch einfach 'alt'. ich kenne leute, die heute noch CVS benutzen und damit zufrieden sind. wer keinen anlass zum wechseln hat, braucht's auch nicht zu tun, schon garnicht, nur weil etwas weniger jahre auf dem buckel hat. und erst recht nicht bei software, denn die vergammelt ja nicht mit zunehmendem alter. im gegenteil, wenn sie weiterentwickelt wird, wird sie sogar zuverlässiger und stabiler.
    🙂

    Ich denke er meinte, dass das System veraltet ist.
    Ich habe was das anbelangt nicht direkt Erfahrung, aber ich glaube einfach mal das, was im Podcast gesagt wird, da sich das, wenn es falsch wäre bestimmt einige Aufruhe gegeben hätte. 😉
    Und das Argument, was sie bei Git halt nennen ist, dass man bei SVN, wie auch bei CVS schon halt einige Probleme hatte, welche man nicht beheben konnte und das der User dann die Probleme hat. Das soll bei Git nicht sein, da es halt aus den Fehlern gelernt hat. Das finde ich schon auch recht nachvollziehbar.

    Klar wird Software tendenziell besser, aber du kennst das bestimmt auch, dass je länger du ein Programm erweiterst, "verbesserst" usw., dann denkst du halt immer mehr, dass du am liebsten alles neu machen würdest, da du dann eben die Sachen, die verbessert werden müssen eben ins komplette System einarbeiten kannst und das dann viel besser zusammenspielt.
    Da kannst du die Paralelle zur Hardware ziehen. Klar kannst du einen PC aufrüsten und der wird ja auch immer "besser", aber irgendwann kommt der Punkt, wo du ein komplett neues System brauchst, weil das alte einfach nur noch hässlich ist. 🙂



  • Mr. N schrieb:

    Die Git-Marketing-Seiten sind eigentlich alle von den Github-Leuten, die natürlich Geld verdienen wollen.

    ach, deshalb gibt es solche seiten. git selbst hat sowas doch eigentlich nicht nötig, oder? wenn es wirklich so einen gewaltigen fortschritt gegenüber herkömmlichen VCS darstellt, sollte es sich von ganz allein behaupten können. vielleicht bewirkt marketing hier genau das gegenteil, nämlich dass git besonders kritisch beäugt, oder von vornherein abgelehnt wird (siehe CSLs posting).

    Mr. N schrieb:

    Ändert aber nichts an der Tatsache, dass Git das beste ist, was es derzeit gibt.

    was für jemanden 'das beste' ist, ist ja immer kontextbezogen. siehe shady, der die IDE-integration bemängelt.

    drakon schrieb:

    Klar wird Software tendenziell besser, aber du kennst das bestimmt auch, dass je länger du ein Programm erweiterst, "verbesserst" usw., dann denkst du halt immer mehr, dass du am liebsten alles neu machen würdest, da du dann eben die Sachen, die verbessert werden müssen eben ins komplette System einarbeiten kannst und das dann viel besser zusammenspielt.

    nein, eigentlich nicht. z.b. ich hatte mal ein projekt, dass über zwei jahre ständig weiterentwickelt und verbessert wurde, eine grössere umstrukturierung gab es nie, war also schon ziemlich gut geplant, auch im hinblick auf zukünftige erweiterungen. zum schluss waren software und hardware annähernd perfekt, musste nix mehr angefasst werden und sorgte dafür, dass eine kleine firma mit sechs leuten die nächsten jahre gut davon leben konnte. aber da nichtstun ja bekannterweise langweilig und stillstand rückschritt ist, erklärten wir die sache einfach für obsolet und entwickelten eine version 2.0, mit leistungsstärkerer hardware, noch mehr software-features und billiger sowieso *fg*
    🙂



  • Wer sagt das ich Git ablehne?
    Ich teste das sogar gerade 😉 Konnte aber bisher kein vorteil zu SVN erkennen.



  • ;fricky schrieb:

    ach, deshalb gibt es solche seiten. git selbst hat sowas doch eigentlich nicht nötig, oder?

    Git hätte sich vmtl. auch ohne ausgebreitet, aber die helfen schon sehr.

    Schreiben nämlich auch massig gute Doku und haben zB. die Seite hier gemacht, die mittlerweile die offizielle Git-Seite ist:
    http://git-scm.com

    Die alte Git-Seite war ziemlich hässlich und unübersichtlich, mit der wäre es definitiv schwerer geworden.

    Und dass sich Leute Software genau ansehen, bevor sie sie verwenden, ist ja nichts schlechtes.

    Dass Leute, die gerade erst von CVS auf SVN umgestiegen sind, das weiterhin für das beste seit geschnittenem Brot halten, wundert mich überhaupt nicht. Aber die Vorteile eines modernen verteilten VCS sind zum Glück groß genug, dass auch diese Klientel innerhalb der nächsten fünf bis zehn Jahre darauf umsteigen wird.



  • Man sollte nicht unterschätzen, welchen Einfluss das VCS auf die Entwicklungsgepflogenheiten hat. Sicher gibt es Leute, die alle VCS gleich (schlecht) benutzen, dann macht es keinen Unterschied. Aber nach meiner Erfahrung läuft die Entwicklung von Projekten chaotischer ab, die ein VCS benutzen, bei dem Branchen/Mergen kompliziert ist (zB CVS oder SVN). Dort läuft die Entwicklung dann einfach in Trunk/der main-Branch ab und es kommt nicht selten vor, dass Trunk in einem nicht benutzbaren Zustand ist (von Buggy bis kompiliert nicht mal). Bei Minorreleases wird dann nicht selten einfach der aktuelle Zustand von Trunk verpackt, auch wenn da drastischere Änderungen bei sind. Bei Projekten wo ein VCS benutzt wird, bei dem Branchen/Mergen einfacher ist, wird dagegen eher sauber getrennt entwickelt und man kann die Entwicklung einzelner Features besser nachvollziehen. Ähnlich ist es bei einem VCS das immer über einen zentralen Server geht. Da commiten die Entwickler nach meiner Erfahrung eher seltener und einzelne commits enthalten oft viele verschiedene Änderungen. Bei einem lokalen VCS (ala git, mercurial oder monotone) commiten die Leute öfter und commits erhalten eben nur zusammengehörende Änderungen. Dies erlaubt es dann besser die history zu verstehen und es ist einfacher automatisiert die Quelle für Bugs zu finden (wie MrN schon angesprochen hat).

    Natürlich heißt es nicht, dass sich die Entwicklungsgepflogenheiten ändern, sobald man auf ein bestimmtes VCS umstellt. Wer z.B. in SVN keine Branches kennt, wird die auch nicht sofort in git benutzen.

    ;fricky schrieb:

    CSL schrieb:

    whygitisbetterthenx ist auch nur so ein Marketing blabla, sowas kann jede Software von sich behaupten.
    Andere gut funktionierende Systeme haben es nicht nötig sich derart zu Profilieren
    Ist wie Windows vs Linux.

    ja, das finde ich auch ziemlich kurios, zumal das zeug völlig kostenlos ist, wie SVN und CVS auch. einige aus der szene haben wohl so'ne art sendungsbewusstsein und wollen die welt verbessern o.ä. es herrscht krieg unter den open-source entwicklern *fg*. soll doch jeder das VCS benutzen, wovon er meint, dass es für seine belange am besten passt.
    🙂

    Das Sendungsbewusstsein kommt einfach daher, dass man sich ja leider regelmäßig mit anderen VCS' rumschlagen muss. Da entwickelt man halt schnell eine harte Meinung was das Thema anbelangt. Mir ist es egal, welches VCS die Leute benutzen, solange ich nicht darauf zugreifen muss :).



  • Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
    Ich habe es jetzt mal ausprobiert und naja..
    Ich muss sagen, dass ich das eigentlich schrecklich finde. Imo unübersichtlich, und User unfreundlich ohnegleichen. Und als plötzlich für den commit vim aufging hing ich ca. ne Stunde fest, bis ich rausgefunden habe, wie das Ding funktioniert und bedient werden muss. (nachdem ich die schrekliche Doku aufgesucht habe und schlussendlich einen Linux User gefragt habe, der mir auch nur eine Antwort geben konnte, nachdem er jemand anderen gefragt hat..)
    Ich habe natürlich Tortoise Git ebenfalls geladen, aber ich wollte es halt mal auf diese Weise benutzen und finds ehrlich gesagt schrecklich. 🙂

    CSL schrieb:

    Wer sagt das ich Git ablehne?
    Ich teste das sogar gerade 😉 Konnte aber bisher kein vorteil zu SVN erkennen.

    Ein wesentlicher Vorteil von Git soll die Geschwindigkeit meim branchen und mergen sein. (siehe/höre Podcast).



  • Bashar schrieb:

    byto schrieb:

    Was wäre denn die Alternative? Die Sourcen liegen nur auf dem Rechner des Entwicklers. Ist der mal krank oder weg, kommt niemand an die Sourcen ran. Raucht die Festplatte ab, sind die Sourcen weg, ausser es wurden mal händisch Backups gezogen. Die sind dann aber sicher nicht mehr auf dem aktuellsten Stand.

    Backups machen ist orthogonal zu Versionsverwaltung. Diese ganzen Probleme hast du z.B. exakt genauso, wenn du lokal ein SCM verwendest.

    Nicht wirklich. Der Vorteil von Distributet SCMs (vor allem Git) ist ja, dass jeder Entwickler einen vollständigen Backup hat. Mit Git haben alle Commits einen Sha-Hash, somit ist auch sichergestellt das keiner den Backup manipuliert hat. Wenn z.B. Linus morgen alle seine Backups verliert, kann er zu dir, Bashar, gehen und einen Klon vom Linux Kernel ziehen. Dank der Sha-Hashwerte kann er auch sichergehen, dass du nichts manipuliert hast.



  • Mich würd mal interessieren, ob hier jemand zusätzlich zu VCS einen Continous Integration Server benutzt?

    Werde demnächst in ein Projekt wechseln, wo TeamCity verwendet wird und freu mich schon drauf. 😋

    http://www.jetbrains.com/teamcity/



  • Eigentlich macht MS die meiste Werbung, z.B. 2007 war es more than 20 percent of their annual revenue or $11.5 billion

    Shade Of Mine schrieb:

    CSL schrieb:

    Bei soviel Marketing muss ein Haken sein 😃

    Der einzige Haken an git ist, dass vor lauter Marketing keine vernünftige IDE integration zustande bekommen.

    Das ist auch der einzige Nachteil den git hat. Leider ein gravierender 😞

    Bin deshalb wieder auf svn zurück 😞

    Was bringt einem eine IDE Intergration? Ich benutzte in git 7 Befehle, die alle in Eclipse verfügbar sind.
    * git commit
    * git add
    * git merge
    * git push
    * git pull
    * git checkout
    * git diff

    Als Gui benutze ich noch die Standard Git Gui um mir die Branches anzuzeigen.



  • rüdiger schrieb:

    ... Wer z.B. in SVN keine Branches kennt, wird die auch nicht sofort in git benutzen. ...

    Entschuldige wenn ich es aus dem Context reiche, aber was soll das bedeuten?
    Ich benutze SVN und habe sehr wohl Branches.

    Meine Branching strategie für Private Projekte ist so:

    Es gibt einen main Branch, das beinhaltet alle releasten Versionen, auch gelabelt um jede Version zu finden.
    Ich selber entwickel in einem dev Branch, da submitte ich jeden Abend wenn ich den PC aus schalte die aktuelle änderungen, unabhängig davon ob es fertig ist oder gar baut.
    Sobald dann dev stable und fertig ist, Merge ich den dev Branch zurück zu main, Label das mit der korrekten Version und release das Ding.
    Hat sich mitlerweile bewährt 🙂



  • drakon schrieb:

    Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?

    Ja. Und über Magit. Ansonsten benutze ich gitk recht häufig. git gui nie.



  • drakon schrieb:

    Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
    Ich habe es jetzt mal ausprobiert und naja..
    Ich muss sagen, dass ich das eigentlich schrecklich finde. Imo unübersichtlich, und User unfreundlich ohnegleichen. Und als plötzlich für den commit vim aufging hing ich ca. ne Stunde fest, bis ich rausgefunden habe, wie das Ding funktioniert und bedient werden muss. (nachdem ich die schrekliche Doku aufgesucht habe und schlussendlich einen Linux User gefragt habe, der mir auch nur eine Antwort geben konnte, nachdem er jemand anderen gefragt hat..)

    Der öffnet eben den Editor, den du als Standardeditor auf dem System eingestellt hast. Ich benutze git zum Größtenteil über magit, gitk und die Konsole.

    byto schrieb:

    Mich würd mal interessieren, ob hier jemand zusätzlich zu VCS einen Continous Integration Server benutzt?

    Was soll ein Continous Integration Server sein?

    CSL schrieb:

    Entschuldige wenn ich es aus dem Context reiche, aber was soll das bedeuten?

    Es soll bedeuten, dass viele Leute ein neues System exakt wie das alte benutzen. Wenn du Branches in SVN benutzt, dann ist das gut.

    Ich mach für jedes größere Feature an dem ich arbeite eine neue Branch auf. Rebase die aber regelmäßig auf den aktuellen master (um Konflikte früh zu erkennen oder Bugfixes zu nutzen). Wenn das Feature dann gut genug ist merge ich es in den Master. Für jede logisch trennbare Veränderung versuche ich ein eigenes commit zu machen.


Anmelden zum Antworten