Welches SCM benutzt ihr?



  • 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.



  • drakon schrieb:

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

    Nutze msysgit aus Powershell heraus mit notepad2 als editor. Funktioniert super. Zum Teufel mit den GUIs. 👍



  • DEvent schrieb:

    Was bringt einem eine IDE Intergration? Ich benutzte in git 7 Befehle, die alle in Eclipse verfügbar sind...

    Ich habe vorhin für CVS gestimmt und finde die Integration von CVS in Eclipse ganz gut. Benutze in Eclipse folgende "Funktionen" von CVS: "Einchecken", "Auschecken", "Tag" setzen, Vergleichen, "History" zeigen. Wären also 5, weiss aber nicht, wie sie auf der Kommandozeile wären... Vergleichen finde ich ganz praktisch.
    Meinst Du, git ist in Eclipse genauso gut integriert wie CVS?



  • rüdiger schrieb:

    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.

    Das ist bestimmt nicht Vim. 😉 - Aber wahrscheinlich ist das von dem Programm her der Standardedtior, ja.

    @abc.w
    Wie es mit git aussieht weiss ich nicht (bezweifle es aber), aber SVN ist ganz ordentlich integriert. Auf jeden Fall hast du die genannten 5 Befehle ebenfalls drin. 😉

    @rest:
    Niemand benutzt TortoiseGit? - Falls doch gleich mal ne Frage dazu: Wie entfernt man denn da wieder einen erstellten Branch? Habe bis jetzt leider keine Möglichkeit mit TortoiseGit gefunden.. 😞

    Also bei SVN benutze ich hauptsächlich update und commit..


Anmelden zum Antworten