
Engineering Kiosk· Folge 261
#261 Git 3.0, SHA-256, Reftables: Die Zukunft von Git mit Maintainer Patrick Steinhardt
· 1 h 17
Kapitelklicken springt direkt hin
Shownotes
<p>Git nutzen wir jeden Tag. Aber Hand aufs Herz: Wie viel davon verstehen wir wirklich?</p><p>Hinter commit, push und pull steckt kein bisschen Magie, sondern ein erstaunlich komplexes System aus Objekten, Referenzen, Protokollen und Designentscheidungen, die bis heute die Softwareentwicklung prägen. Und genau da wird es spannend. Denn Git ist 20 Jahre alt, aber alles andere als fertig entwickelt.</p><p>In dieser Episode sprechen wir mit Patrick Steinhardt, Git Maintainer, Contributor zu libgit2 und Staff Engineer im Git Team bei GitLab. Gemeinsam tauchen wir tief in die Git Internals ein und klären, warum Git sich gegen Subversion durchgesetzt hat, was ein bare Repository auf der Server-Seite eigentlich macht, wie Clone, Fetch und Push wirklich funktionieren und warum große Repositories, Millionen Referenzen, Binärdateien und Git LFS bis heute echte Herausforderungen sind. Außerdem geht es um Reftables, Partial Clones, Large Object Promises, pluggable object databases, Git History, Interactive Rebase und die Frage, was Git 3.0 mit SHA-256, besserer Usability und moderner Architektur verändern könnte.</p><p>Wenn du Git bisher vor allem als Werkzeug für deinen täglichen Workflow gesehen hast, bekommst du hier einen Blick unter die Haube, der vieles neu sortiert. Vielleicht hörst du diese Folge als Developer:in mit einem leichten Ich benutze Git seit Jahren Gefühl. Vielleicht gehst du raus mit dem Gedanken: Ich kenne bisher gerade mal die Oberfläche. So oder so, diese Episode ist Pflichtprogramm für alle, die Versionskontrolle, Entwickler-Workflows, Open Source und die Zukunft von Git besser verstehen wollen. </p><p>Bonus: Danach wirkt selbst git rebase plötzlich fast freundlich.</p><p><br></p><p>Unsere aktuellen Werbepartner findest du auf <a href="engineeringkiosk.dev/partners" rel="nofollow">engineeringkiosk.dev/partners</a></p&… schnelle Feedback zur Episode:</strong></p><p><a href="api.openpodcast.dev/feedback/261/upvote" rel="nofollow"><strong>👍 (top)</strong></a><strong> </strong><a href="api.openpodcast.dev/feedback/261/downvote" rel="nofollow"><strong>👎 (geht so)</strong></a></p><p><br></p><h3>Anregungen, Gedanken, Themen und Wünsche</h3><p>Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …</p><ul><li>EngKiosk Community: <a href="engineeringkiosk.dev/join-discord" rel="nofollow">engineeringkiosk.dev/join-discord</a> </li><li>LinkedIn: <a href="linkedin.com/company/engineering-kiosk/" rel="nofollow">linkedin.com/company/engineering-kiosk/</a&…: <a href="mailto:stehtisch@engineeringkiosk.dev" rel="nofollow">stehtisch@engineeringkiosk.dev</a></li><li>Mastodon: <a href="podcasts.social/@engkiosk" rel="nofollow">podcasts.social/@engkiosk</a></li>…: <a href="bsky.app/profile/engineeringkiosk.bsky.social&…; rel="nofollow">bsky.app/profile/engineeringkiosk.bsky.social&…: <a href="instagram.com/engineeringkiosk/" rel="nofollow">instagram.com/engineeringkiosk/</a></… den Engineering Kiosk</h3><p>Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer </p><ul><li>Buy us a coffee: <a href="engineeringkiosk.dev/kaffee" rel="nofollow">engineeringkiosk.dev/kaffee</a></li&g… Steinhardt auf LinkedIn: <a href="linkedin.com/in/patrick-steinhardt-1b16901ba/&…; rel="nofollow">linkedin.com/in/patrick-steinhardt-1b16901ba/&… Steinhardt auf Gitlab: <a href="gitlab.com/pks-gitlab" rel="nofollow">gitlab.com/pks-gitlab</a></li><… Steinhardt auf Github: <a href="github.com/pks-t" rel="nofollow">github.com/pks-t</a></li><li>… Subversion: <a href="subversion.apache.org/" rel="nofollow">subversion.apache.org/</a></li><… 2026 - Evolving Git for the next decade: <a href="fosdem.org/2026/schedule/event/HTJK33-evolving…; rel="nofollow">fosdem.org/2026/schedule/event/HTJK33-evolving… href="lwn.net" rel="nofollow">lwn.net</a> - Evolving Git for the next decade: <a href="lwn.net/Articles/1057561/" rel="nofollow">lwn.net/Articles/1057561/</a></li>… add -p: <a href="git-scm.com/docs/git-add" rel="nofollow">git-scm.com/docs/git-add</a></li>&… Tools - Rewriting History: <a href="git-scm.com/book/en/v2/Git-Tools-Rewriting-His…; rel="nofollow">git-scm.com/book/en/v2/Git-Tools-Rewriting-His…: <a href="git-scm.com/docs/gitrepository-layout/2.22.0&q…; rel="nofollow">git-scm.com/docs/gitrepository-layout/2.22.0&l… SCM: <a href="mercurial-scm.org/" rel="nofollow">mercurial-scm.org/</a></li><li&… - Send objects packed back to git-fetch-pack: <a href="git-scm.com/docs/git-upload-pack" rel="nofollow">git-scm.com/docs/git-upload-pack</a><… - Receive what is pushed into the repository: <a href="git-scm.com/docs/git-receive-pack" rel="nofollow">git-scm.com/docs/git-receive-pack</a><… Partial Clone: <a href="git-scm.com/docs/partial-clone" rel="nofollow">git-scm.com/docs/partial-clone</a></l… Internals - Plumbing and Porcelain: <a href="git-scm.com/book/en/v2/Git-Internals-Plumbing-…; rel="nofollow">git-scm.com/book/en/v2/Git-Internals-Plumbing-… SHAttered: <a href="marc-stevens.nl/research/shattered.io/" rel="nofollow">marc-stevens.nl/research/shattered.io/</a&g… reftable: <a href="git-scm.com/docs/reftable" rel="nofollow">git-scm.com/docs/reftable</a></li>… lfs: <a href="git-lfs.com/" rel="nofollow">git-lfs.com/</a></li><li>Git Butler: <a href="gitbutler.com/" rel="nofollow">gitbutler.com/</a></li><li>jj - A Git-compatible VCS that is both simple and powerful: <a href="github.com/jj-vcs/jj" rel="nofollow">00:00:00" rel="nofollow noopener ugc" target="_blank">github.com/jj-vcs/jj</a></li></…) Git, Subversion und warum verteilte Versionskontrolle gewann</p><p>() Info/Werbung</p><p>() Git, Subversion und warum verteilte Versionskontrolle gewann</p><p>() Git auf der Serverseite: Bare Repositories und Protokolle</p><p>() Große Repositories, Packfiles und Skalierung beim Git Hosting</p><p>() Clone, Fetch und Partial Clone: Was Git wirklich überträgt</p><p>() Dezentrales Git, zentrale Plattformen und Team-Workflows</p><p>() Git modernisieren: C, Perl, Rust und der Weg zu Git 3</p><p>() Warum Hashes zentral für Git sind: SHA-1 und SHA-256</p><p>() Ref Tables: Neue Referenzspeicherung für große Repositories</p><p>() Large Files, Git LFS und bessere Binary-Workflows</p><p>() Promisor Remotes, Object Databases und neue Git-Architektur</p><p>() Git History, Stack Branches und was als Nächstes kommt</p><p><br></p><h3>Hosts</h3><ul><li>Wolfgang Gassler (<a href="gassler.dev" rel="nofollow">gassler.dev</a>) </li><li>Andy Grunwald (<a href="andygrunwald.com/" rel="nofollow">andygrunwald.com/</a>)</li></ul><p><br></p><h3>Community</h3><p>Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter <a href="engineeringkiosk.dev/join-discord" rel="nofollow">engineeringkiosk.dev/join-discord</a> </p>
Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin
[SPEAKER_02]: Willkommen zu einer neuen Episode vom Engineering Cures Podcast. [SPEAKER_02]: Heute geht es um ein Tool, dass wir alle täglich blutzend gleichzeitig oft nur an der oberfläche verstehen. [SPEAKER_02]: Gid, git, komit, push, pull, fertig oder oder eben doch nicht? [SPEAKER_02]: Denn hinter den Parbefählen, die im Alltag gefühlt automatisch aus den Fingern fallen, steckt ein ziemlich tiefes System mit jeder Menge historie, Archdiktorentscheidungen und spannenden Baustellen für die Zukunft.
[SPEAKER_02]: Dafür haben wir uns jemanden eingeladen, der nicht nur geht benutzt, sondern direkt daran mitarbeitet. [SPEAKER_02]: Patrick Stein hat des Gipment-Hainer, Contributor zulippt G2 und arbeite dem GIT-Team bei Giple. [SPEAKER_02]: Mit ihm sprechen wir darüber, was auf der Server seite eigentlich passiert, wenn du Clones Fetch oder Puscht und warum grossere Positories bin erderteilen und Millionen von Referenzen echte Herausforderungen sind.
[SPEAKER_02]: Außerdem schauen wir auf die Zukunft von geht, es geht um geht 3.0, den Wechsel von Chao 1 zu Chao 266, Reftabelt und Large Object Promises. [SPEAKER_02]: Wenn du also dachtest, du kennst es geht, weil du die 6 befehler auswendig kannst, dann kommt jetzt sehr real zu checken, los geht's!
[SPEAKER_02]: Lieber Wolfgang, wie viel C4S zu subversion Migrationen hast du bereit in deinem Leben durchgeführt? [SPEAKER_01]: Du beleidigst mir allgemein sehr gerne, aber so alt, dass jetzt schon Migrationen zu S4 End durchgeführt habe. [SPEAKER_01]: Also ich war natürlich immer cool und hip und hab schon mit S4 End gestartet.
[SPEAKER_02]: Das hat nicht eine Beleidungszusturte. [SPEAKER_02]: Ich habe schon nicht, ich glaube, als ich angefangen habe, so immer zu wie Bereich Fachinformatiker anwendet, sind wir nicht, dass er in Deutschland zu gut Deutsch oder mir habe. [SPEAKER_02]: Ich glaube, ich glaube, ich glaube, ich ist 6C4S-Zuser-Würdig Migration gemacht.
[SPEAKER_02]: Dann in die nächste Frage, wie viel S4N zu gibt Migrationen hast du gemacht? [SPEAKER_01]: Ich habe keine Strickeliste damit geführt, aber es waren auf jeden Fall einige. [SPEAKER_01]: Zehver ist, habe ich natürlich schon auf verwenden Müssen. [SPEAKER_01]: Man muss ja hin und wieder mit Legacy-Systemen arbeiten.
[SPEAKER_01]: Aber es dürften schon mehr gewesen sein, als ich jetzt finger an meinen Händen habe, über die Masse. [SPEAKER_02]: Und jetzt die letzte Frage, bevor wir jetzt im eigentlichen Thema kommen, was denkst du, ist der Hauptgrund, warum im heutigen Entwickleralltag geht übers Abwürchen gewonnen hat.
[SPEAKER_02]: Gewonnen in Erquot, was auch immer gewonnen in der Zeist. [SPEAKER_01]: Also, für mich war eigentlich der Hauptgrund, dass es einfach im Alltag wesentlich besser funktioniert hat. [SPEAKER_01]: Also, dieses ganze Merch und wirklich arbeiten im Team, das hat sich einfach viel Flüssiger angefühlt mitgibt.
[SPEAKER_01]: Als mit S-Viren, das war ein S-Viren immer der Katastrophe, der Irgendwähn im Branche überhaupt zu machen oder irgendwas dann wieder reinzumitrieren, das war alles Katastrophe und hat irgendwie nie funktioniert. [SPEAKER_01]: Hat sich einfach automatisch immer viel besser angefühlt. [SPEAKER_02]: Ja, da frage ich mich natürlich gerade, ist das jetzt gerade so eine Art Aktueller Zeitbeiers bei dir, weil branching in der Version war ja möglich, aber ich hatte immer das Gefühl, erst als GIT, ich sag' ein populärer Wode, hat jeder gesagt, ah branching als first-class citizen, wo bei es der Version er eher branching drange Klatschwurde, aber wie dem auch sei.
[SPEAKER_01]: Ja, wie gesagt, das war eigentlich das Arbeit neem Team, das war das Problem, es hat einfach immer Probleme gegeben. [SPEAKER_01]: Bei SVN. [SPEAKER_01]: Und deswegen, dann der große Unterschied, der Hebel, der mir dann auch gezeigt hat, okay, geht, funktioniert einfach im Team wesentlich besser.
[SPEAKER_02]: Und wie kam ich auf diese Frage, diese Frage habe ich mir auch erst auf dem Rückweg von der Fosstemkonferenz gestellt, nachdem ich nämlich einen Tork von Patrick Stein hat, zum Thema Evolving Gitfose, Next Decay, gesehen habe. [SPEAKER_02]: Und da hat er mir ins Gedächtnis gerufen, dass Gitja auch schon 20 Jahre alt ist.
[SPEAKER_02]: Dann sah es sich in diesem Fortrag und auf dem Patrick Zugehörn. [SPEAKER_02]: Dann habe ich so, um mit der Akzent der Klink zu Deutsch. [SPEAKER_02]: Wir machen doch einen deutschsprachigen Podcast. [SPEAKER_02]: Steht das vielleicht in nächste Podcast. [SPEAKER_02]: Und ich bin sehr, sehr froh, dass ich diese Frage jetzt mit Java anwohren kann.
[SPEAKER_02]: Deswegen hat sich für kommen, Patrick Stein hat. [SPEAKER_02]: Vielen Dank, dass ich heute im Teil des Podcasts sein darf. [SPEAKER_02]: Fanfekt, was Sie Leute an der Audi Box dran nicht sehen. [SPEAKER_02]: Der Patrick hat uns erwörnt, die schön an. [SPEAKER_00]: Kommt tatsächlich von einiger Zeit her, weil wie ihr Aschen gesagt hat, der Zabürchen ist im Globalischen ein bisschen älter, aber bei einem meiner ersten Jobs hatte ich tatsächlich auch an dem Zabürchen, Hackgeton teilgenommen, bei meinen Arbeitgeber damals, generell in allen möglichen Oppen zuhause- und zuhause- und zuhause- und zuhause- System unterwegs war.
[SPEAKER_00]: Und zerwürschen wir eins davon und da habe ich noch das T-Shirt und trage es auch immer noch gerne mit stolz. [SPEAKER_02]: Kann ich verstehen, ich fand es abwürschen auch immer ein super Versuch, ein tolles System und ich habe nie so ein Husk geschürt zu branching in zerwürschen wie der Wolfgang ist gerade.
[SPEAKER_02]: Hatt denn ich denke es hat einigermaßen gut funktioniert aber ich bin ehrlich es hatte quirks und man musste genau wissen was man da tut. [SPEAKER_00]: Man musste definitiv wissen was man tut und ich [SPEAKER_00]: Ich würde auch nicht sagen, dass ich damals im Fan verzerwürchen war. [SPEAKER_00]: Das einzige, was ich anserwürchen möchte, ist der Kout tatsächlich bei der deutlich besser geschrieben ist, als geht's aber... Ich kann nur unterschreiben, dass gerade das branching-modell wirklich ein extremer painpoint in zabwürchen war.
[SPEAKER_00]: Ich kann mich nur gut erinnern, das war mein allererster Job. [SPEAKER_00]: Und da hatten wir einfach teilweise zwei Wochen lang Produktionsstopp bei mantmörigen musste. [SPEAKER_00]: Und das ist so extrem schmerzhaft und diese Probleme gibt es halt einfach mit [SPEAKER_02]: Jetzt kann es natürlich sein, dass der ein oder andere, der diesem Podcast gerade hört, dich nicht kennt.
[SPEAKER_02]: Deswegen stelle ich dich immer ganz kurz vor. [SPEAKER_02]: Und sage, warum eigentlich qualifiziert ist, über die zu sprechen? [SPEAKER_02]: Du kommst aus der Hauptstadt Deutschlands nicht Österreichs. [SPEAKER_02]: Du wohnst in Berlin. [SPEAKER_02]: Du bist seit 2015 Contributor und Mentena.
[SPEAKER_02]: zu GIT-SELPS und zu LIP-GIT-2, aktuell verdient so ein Geld als Staff-Engine und Engineering-Manager in GIT-Team bei GIT-LAP-SELPS. [SPEAKER_02]: Und in letzter Zeit, besonders wenn man mal dein Name bei YouTube eingibt, sprich zu sehr viel über die Team Reftabels, Fallback-Andes, Beziehungsweise von Unterstützung von großen Files in GIT.
[SPEAKER_02]: Und das war auch unter anderem Dein Thema oder ein Subtemer von einem Talk auf der Fosste. [SPEAKER_02]: Und du sagst jetzt gerade schon, du mochtest den Code von zerwürgen, lieber als, der von geht sich meinen, dass den Bereich im Modell eine Sierung von geht. [SPEAKER_02]: Ich hatte auch gesagt, geht es 20 Jahre alt, haben wir auf der Agenda bin ich mal gespannt, was da gleich noch so rumkommt.
[SPEAKER_00]: Da gibt es die definitiv einige Sachen, die sehr überarbeitungspürdig sind. [SPEAKER_00]: Darüber kann man wahrscheinlich alleine schon einen Heimzack reden. [SPEAKER_01]: Gibt es ja doch schon einige Jahre alt? [SPEAKER_01]: Und eigentlich komplexer, als man das so denkt, weil im Alltag verwendet man das irgendwie so Commit push pull, so die drei Standardbefehle.
[SPEAKER_01]: Ihr hat jetzt gerade das Vergnügen, mal auf der Universität Studierenden geht beizubringen und dabei erst wieder gemerkt, wie komplex, eigentlich diese Grundlagen sehen, wenn man sie so tagdäglich verwendet ist, ist ja total easy und alles verständlich, aber sogar die Grundlagen sind schon schwierig, wirklich mal zu vermitteln, da steckt doch einiges dahinter.
[SPEAKER_01]: Aber wenn wir jetzt noch nicht dufe weitergehen, was werden, ein cooles Feature, wo du sagst, die meisten die Wellerbar, die verwenden Buschbull, kommit, aber das werden cooles Feature, das sollte sich mal jeder mal anschauen, oder zumindest die Doktor durchlesen, weil man könnte eigentlich noch viel mehr machen.
[SPEAKER_01]: So ein cooler Tipp schon zu Beginn der Episode. [SPEAKER_00]: Das ist tatsächlich eine super Frage, muss ich sagen, weil ich habe natürlich einen extremen Weist. [SPEAKER_00]: Darum haben wir dich hier eingeladen. [SPEAKER_00]: Die Frage oder das Problem ist quasi, dass ich gar nicht wirklich einschätzen kann, was benutzt denn der Durchschnittsmutzer täglich.
[SPEAKER_00]: Ich würde sagen, dass eines der wichtigsten Features von geht, dass einem ein bisschen fortschrittlicher ist, geinterakter Freebase sind. [SPEAKER_00]: Einfach, weil du damit deine historie relativ freie Gestalten kannst, schön machen kannst, kommentmäßiges noch mal überarbeiten kannst oder einfach einen Kommittbeispielesaussplitten kannst, um zu in zwei Comments.
[SPEAKER_00]: Und das ist meiner Meinung nach eines der wichtigsten Features in geht, dass ich auch jeden Tag dutzende Male benutze. [SPEAKER_00]: Ich würde auf jeden Fall jeden empfehlen, mit Interactive Freebase es wirklich ein bisschen warm zu werden und die regelmäßig zu benutzen. [SPEAKER_02]: Ich benutze es öfters mal, aber immer wenn ich es benutze, muss ich ja auch mal nachkuchen, okay, diese einzelne Wufstaben, die ich im Interactive Freebase da eingeben muss.
[SPEAKER_02]: Was heißt noch was, zu Glück? [SPEAKER_02]: Zeigt ihr das ja unten an? [SPEAKER_02]: Die zwei Kompeten mögen möchte, wo muss ich das ... Das ist schon, also die UI ist ein bisschen tricky. [SPEAKER_02]: Ich muss jedes Mal nur dran erinnern. [SPEAKER_00]: Was ist es Quasch nach oben oder nach unten oder so diese Dinge?
[SPEAKER_00]: Ja, kenn ich an die. [SPEAKER_00]: Kann ich definitiv bestätigen und ich kann ja auch schon mal in dem Bissensboiler und das ist tatsächlich auch eine Sache an der ich gerade arbeite mit einem neuen Getcomando des Heils Get History. [SPEAKER_00]: Und Get History ist genau dafür quasi unter Erektor Freebase zu gänglicher zu machen.
[SPEAKER_00]: Ich hatte auch als Teil meines Phastem Talks darüber geredet, dass relativ einfache Sachen deutlich zu kompliziert sind, wie beispielsweise ein Commit in zwei Aufsplitten. [SPEAKER_00]: Ich weiß viel das geht. [SPEAKER_00]: Ich weiß, wie man das guckt mit einem Interactive Freebase macht.
[SPEAKER_00]: Aber insgesamt sind das, ich glaube, das sind so 7 bis 10 Schritte, die du wirklich machen musst, mit unterschiedlichen Gipkommandlos und auch mit unterschiedlichen Flex, die erstmal relativ scary wirken würde, ich sagen. [SPEAKER_00]: Und da ist wirklich die Idee, dass man einen beispielsweise sagt, Get History Split, man geht einfach den Kommit der aufgesplitdet werden soll, kriegt man editor der zweimal nach den Kommitmesterschüs fragt und fertig ist.
[SPEAKER_00]: Das heißt, ja, es gibt definitiv useability Probleme, aber ich möchte die ob gerne beheben und das ganze Problemen ein bisschen einfach machen, so dass auch normale Leute quasi die Historie unterschreiben können. [SPEAKER_02]: Einz meiner Featurest, die ich wirklich jeden Tag nutze, ist, geht et minus P, also geht et minus Patch, weil du kennst das, du hast eine Datei, du fährst dann da durch, idet hier es ein paar Sachen.
[SPEAKER_02]: Und dann siehst du da oben diesen einen typo, diesen einen typo oder oder was auch immer diese eine kleine Sache, die du eben mit fixst. [SPEAKER_02]: Natürlich kannst jetzt wieder zurückgehenden, komm mit machen, nur in Branch aufmachen, bla, bla, bla, bla, ja. [SPEAKER_02]: Aber ich edet hier das einfach durch und wenn ich dann kommenten möchte, suche ich mir aus, welche hangs ich den Namen mit in den nächsten Komment nehmen, also das nutze ich wirklich je den Tag.
[SPEAKER_00]: Ich weiß gar nicht wie Leute ohne das können. [SPEAKER_00]: Kann ich dir auch definitiv beiflichten und das ist auch ein weiteres Unterkommande, was ich irgendwann in Get history nach zehn möchte, es geht history absorb, weil das ist nämlich genau der nutzungsfrei hier. [SPEAKER_00]: Du hast quasi eine typo gehabt und der so automatisch war sie dann nochmal in dem alten Komment beroben werden.
[SPEAKER_00]: Das heißt, man, die Idee ist, der hinter das man einfach sagt, Get History Absorbe, den nimmt quasi alle lokalen Hanks oder alle lokalen Änderungen und guckt wann wurde diese Zeile des letzten Mal geändert. [SPEAKER_00]: Und wird dann quasi automatisch die Änderungen an diesen Commitant mit Ranzlanschen.
[SPEAKER_00]: Was auch durch andere Wessungskontrolle teue Systeme, wie beispielsweise in Maccuria inspiriert ist. [SPEAKER_00]: Also, ich finde jetzt hier keine neuen Sachen, aber ich versuche quasi von anderen Wessungskontrolle systemen auch ein bisschen zu lernen. [SPEAKER_02]: gut, aber man muss eigentlich immer alles neue finden, nicht mal ein gut kopiert, ne?
[SPEAKER_02]: Also ist ja auch so so so. [SPEAKER_02]: Lasst uns mal ein bisschen über geht sprechen, selbst tun wir natürlich. [SPEAKER_02]: Aber wenn du bisher beruflich mehr auf der Serverseite von Githon unterwegs und nicht auf der Kleinenseite, jetzt spreche ich mal natürlich mit Interactive Rebase und Githette Minus Patch und Gith history absorb natürlich über Kleinenseit features, aber mich wird mal interessieren.
[SPEAKER_02]: Was sind denn aus deiner Sicht? [SPEAKER_02]: die wesentlichen Unterschiede von einem Git Repository auf der Kleinzeite und auf der Serverseite. [SPEAKER_00]: Es kommt sehr stark auf den einzelnen Server darauf an. [SPEAKER_00]: Das wesentliche ist nämlich, dass auf der Serverseite haben wir deutlich mehr Freiheit in der Art und Weise, wie wir unsere Git Repository ist quasi strukturieren.
[SPEAKER_00]: Das heißt, es kann zwar genauso aus dem wie einen kleinenzeitiges Repository, es muss aber nicht. [SPEAKER_00]: Wir können quasi komplett unser eigenes Ding machen, weil das einzige, was wirklich denn Stimmen muss, ist das Protokoll, das zwischen der Sörferseit und der Kleinside gesprochen wird.
[SPEAKER_00]: Das heißt, je nachdem, wie das Sörfer aufgebaut ist, kann es ziemlich ähnlich aussehen? [SPEAKER_00]: Es kann aber wirklich komplett anders aussehen. [SPEAKER_00]: Im Simpelzenfall wie das Beispielsweise bei GidLab ist und meiner Meinung oder meines Wissens nach auch bei GidHub ist der wesentliche Unterschied, dass wir auf der Serverseite mit Bear Repositories arbeiten.
[SPEAKER_00]: Das heißt nun Repository does kein Worktree hat, also die ganzen Dateien quasi, die in dein Kommitzen stecken, die sind nun zwar auf der Festparte zu sehen, sondern wir haben wirklich nur die einzelnen Objektstrukturen von Gid selber. [SPEAKER_00]: Das heißt, ihr Objekte, die vererferenzen und noch ein paar Meter Daten.
[SPEAKER_02]: Du sagst es gerade, die können je nach Server unterschiedlich aussehen. [SPEAKER_02]: Kannst du das mal ein bisschen beleuchten, was heißt das unterschiedlich? [SPEAKER_02]: Bedeutet dann, dass die Struktur vom Barrel-Pository auch komplett anders auf der Festplatte abgelegt wird oder andere Datenschruktur und oder wo du überreden hierheben, wenn wir sagen, die können anders aussehen.
[SPEAKER_00]: Na ja, prinzipiell, muss es quasi das Getro-Pository an sich gar nicht erst geben. [SPEAKER_00]: Weil, wie gesagt, das einzige, was wirklich stimm muss, ist das Protokoll, was zwischen der Sörferseiten der Kleinzeite gesprochen wird. [SPEAKER_00]: Das heißt, ich weiß vor, an anderen, von die, gar nicht erst ein Getro-Pository local rumzufliegen, haben auch das Sörerseite, sondern die haben wirklich ihre komplett eigen Logik, um die Daten quasi an den Kleinen übertragen zu können, die mit sprechen, hast du quasi kein echtes Getro-Pository auf denen wir mit einem malen Getro-Pository mit einem kleinen Arbeiten könntest.
[SPEAKER_00]: Könntem beispielsweise so aussehen, dass man beispielsweise die Objekte alle in der verteilten Datenbank oder so was zu stehen hat. [SPEAKER_00]: Der Klein wird davon nichts mitbekommen, aber für den Server kann es unter Umstände deutlich effizienter sein, dass so zu implementieren. [SPEAKER_00]: Da ist quasi der kreativität ziemlich viel Freiraume geben.
[SPEAKER_01]: Wenn du jetzt sagst, kein Worktree, das heißt aber man kann den kompletten Sourcecode über die gibt Objekte auch wieder herstellen sozusagen. [SPEAKER_01]: Dann wird es wirklich aus den Gitobjekten zusammengebaut oder wieder heggestellt, also wirklich ohne Worktree. [SPEAKER_00]: Korrekt.
[SPEAKER_00]: Es gibt jetzt zwei wesentliche Datenstrukturen, die für die Kleinsite dann eigentlich wirklich von relevanten sind. [SPEAKER_00]: Das sind einerseits die Referenzen. [SPEAKER_00]: Referenzen sind quasi einfach. [SPEAKER_00]: Bestimmt den Namen, die man einzelnen Objekten geben kann, um die Objekte relativ leicht wiederfinde zu können.
[SPEAKER_00]: Und für den Kleint, um dann den Worktree wieder herstellen zu können, ist dann von wesentlicher relevantes eigentlich nur der commit-Objekt. [SPEAKER_00]: Und vor dem commit-Objekt hat man ein quasi die komplette Historie des Repositories. [SPEAKER_00]: Werster, also ich auch gespannt wird.
[SPEAKER_00]: Bei einem Commit Objekt Referenziert erst mal andere Commit Objekte, das ist ein quasi Deine Repository History. [SPEAKER_00]: Und zusätzlich hat einen Commit Objekt noch eine Referenz auf, einen sogenannten Route-Tree. [SPEAKER_00]: Und dieser Tree ist dann die gesamte Dateistruktur, die du in deinem Repository eigentlich hast.
[SPEAKER_00]: Und das ist dann das, was der Gift klein, weil sie benutzt, um den Worktree wieder herstellen zu können. [SPEAKER_02]: Aber das bedeutet, wenn ich jetzt ein Barry-Vository habe und dann nur mit den Commitabjekten da agieren, so möchte ich gar nicht die den aktuellen Stand der Teil auf der Platte liegen, aber ich mach das jetzt einfach nur einfach, er ist nicht in der Verteilendaten, man würde so das.
[SPEAKER_02]: Dann würde das ja bedeuten, dass wenn ich den File-True wieder herstellen möchte, dass ich einfach von komplett Gipcomit 1 bis Gipcomit hat, komplett Replayen muss, oder? [SPEAKER_00]: Das heißt, jeder Komit, Referenzieck war sie den kompletten Tree, von allen Dateien, die existieren innerhalb dieses Repositories.
[SPEAKER_00]: Das heißt, eigentlich brauchst du nur den Eing Komit und den Routree davon und der weiße sofort, was alle Dateien sind, die in dem Directory ausgecheckt werden müssten. [SPEAKER_01]: Gibt es auf der Serverseite die eigentlich nur auf der Serverseite verwendet werden oder ist es eigentlich alles, was du ein kleint brauchst, was du auch um Serverdrucken gekehrt.
[SPEAKER_00]: Viele von denen befählen, die du auf der Kleinseite benutzt bist, da auf der Serverseite benutzen, aber es gibt schon wesentlich Unterschiede. [SPEAKER_00]: Es gibt auf jeden Fall einen paar befähler, die wirklich nur auf der Serverseite von relevanten sind. [SPEAKER_00]: Und die Wichtigsten sind hier einerseits, geht uploadpack andererseits, geht receivepack.
[SPEAKER_00]: Geht uploadpack ist quasi für den Fall zuständig, wo der Kleint ein Fedschmacht. [SPEAKER_00]: Das heißt, der Kleint möchte jetzt alle Daten der Teilen von der Serverseite bekommen oder aller Bejekte von der Serverseite bekommen. [SPEAKER_00]: Das heißt, der kleinen Führt geht Fetch aus, das wird dann an den Server gerautet und der Server wird dann geht Ablotpack ausführen, wobei geht Ablotpack dann dafür zuständig ist zu gucken, welche Objekte benötig der Kleintin des gerade in seiner momentananfrage und ausgehend davon wird er dann alle Objekte erst mal in Immorien, die benötigt werden, da aus in der Packfall generieren und diese Packfall wird dann zurück an den kleinen Gesendet.
[SPEAKER_00]: Also, dass der Kleinten alle Objekte zur Verfügung hat und danach den Quasi-Seine Referenz abdaten kann und dann potenzieher vielleicht auch noch den Raktory updateet. [SPEAKER_00]: Das ist Get-Aplot Pack. [SPEAKER_00]: Geht receive Pack ist den Quasi die andere Seite der Kleins, macht einem Pusch.
[SPEAKER_00]: Würde die man sprechen, dann alle seine Objekte, die der Server benötigt. [SPEAKER_00]: Lokal erstmal packen in der Packfall. [SPEAKER_00]: Die Packfall wird rübergeschickt. [SPEAKER_00]: Die Empfängten der Server über GetReceivePack und GetReceivePack guckt dann sich quasi erst mal die Pack verankt, guckt sind alle Objekte, die mir der kleinen Gesendet hat, Konsistent oder gibt es irgendwelche Fehler beispielsweise in den Objekten.
[SPEAKER_00]: Hab ich alle Objekte, die ich wirklich brauche, um auch meine Referenzen abletten zu können. [SPEAKER_00]: Und wenn das der Fall ist, dann wird das Server quasi die Änderungen kommitten und danach dann in den GetRepository-Passistieren. [SPEAKER_00]: So das andere Kleinstau aufzugreifen können.
[SPEAKER_02]: Jetzt ließ man immer mal wieder das große Repositoris oder das einige Repositoris herausforderungen beim Githolsting machen, denn was mal, auf der Server Seite. [SPEAKER_02]: Zahlen Sie das, dass das Githol-Repositoris selber seid, zur Führung zu stellen. [SPEAKER_02]: Ist da die größte, die einzige Herausforderung, als ich da mal feilzeis oder Anzahl comitze oder gibt es dann noch irgendwelche anderen Herausforderungen, die beim Githol-Verhosting eine Rolle spielen, weil ich nicht [SPEAKER_02]: irgendwelche Operationen, die unglaublich viel CPU fressen, weil sie linear oder exponentiell mit der Größe skallieren und deswegen länger dauern oder oder.
[SPEAKER_00]: Die Antwort ist prinzipiell erst mal, es ist kompliziert, was ich sagen. [SPEAKER_00]: Ebt die Band es richtig. [SPEAKER_00]: Die wesentliche Sache ist es gibt nicht ein ein skalierungsfaktorengitterepositories. [SPEAKER_00]: Es gibt viele verschiedene Faktoren, die mit Reinspielen, wie teuer es ist, ein gewisses Getroepository an den Kleinen zu sorgen bzw.
[SPEAKER_00]: das generell posten zu können. [SPEAKER_00]: Einerseits ist natürlich die der Teigruße auf jeden Fall im Wesentlicher Paktor, also wie groß sind die einzelnen Blobs die ich innerhalb man als Repositives habe. [SPEAKER_00]: Es kann wirklich massiver Probleme verursachen, wenn man viele Blobs hat die beispielsweise Gigabyte groß sind.
[SPEAKER_00]: Weil in einem Blob der Gigabyte groß ist, wird natürlich auch dem entsprechend so in den Guitar-Pository gespeichert werden müssen. [SPEAKER_00]: Was in einige Probleme beispielsweise wenn es im Repository maintenance geht, führen wird. [SPEAKER_00]: Aber es gibt auch andere Probleme, die wir hier haben, beispielsweise wie viel Historie gibt es insgesamt, wie viele Komitze existieren in dem Repository.
[SPEAKER_00]: Weil man jedes Mal, wenn beispielsweise der kleinen Drank kommt, den komplette Tree-Amer ablaufen muss und zu gucken, welche Objekte braucht der Kleint überhaupt. [SPEAKER_00]: Klar, dafür gibt es optimierungen, die wir natürlich, ob der Serverseite benutzen, aber ihr größer die oder je tiefer die Kürmitthistorie wird, dass ein mehr Probleme können wir hier auch bekommen.
[SPEAKER_00]: Dann geht es aber auch andere Probleme, wie groß ist ein maximaler Trie? [SPEAKER_00]: Also wie groß ist ein maximales? [SPEAKER_00]: Es sagt mal Verzeichnis, quasi. [SPEAKER_00]: Wie viele Blobs hast du in einem Verzeichnis? [SPEAKER_00]: Und sind es Millionen oder sind es nur ein paar Dutzend?
[SPEAKER_00]: Das sind dann erst mal so die Probleme, die wir vor allem mit den Gedatenstrukturen haben. [SPEAKER_00]: Und wo es immer keine wirklich Antwort gibt, wird ein Repository jetzt funktionieren oder nicht, dann irgendwie nur einfach eine Metrik gibt, sondern eigentlich brauchen wir quasi zu Griff auf die komplette Repositorystruktur um zu sagen können, wird es wahrscheinlich funktionieren oder wird es wahrscheinlich nicht funktionieren.
[SPEAKER_00]: Die zweite Seite nehmen den Datenstruktum, die wesentlich noch mit rein spielt, ist natürlich auch der workflow bzw. [SPEAKER_00]: the use cases, die der Kunde hat. [SPEAKER_00]: Je nachdem, wie oft beispielsweise auf eine Repository zugelgriffen werden kann, werden wir unterschiedlich Probleme haben.
[SPEAKER_00]: Das heißt, wenn jetzt, der das Repository zwar relativ unhandlich ist, [SPEAKER_00]: Aber wir wissen, dass nur einmal alle 5 Minuten beispielsweise in den Klaun passieren wird. [SPEAKER_00]: Na ja, dann werden wir damit schon umgehen können. [SPEAKER_00]: Aber andererseits, wenn wir dann Repository haben, dass relativ groß ist und in der Sekunde 100 mal geklaunt wird, dann sieht es schon wieder ganz anders aus.
[SPEAKER_01]: Aber das heißt, so ein Klon bedeutet schon viel mehr am Server, als jetzt nun ganz dumst daunloht. [SPEAKER_01]: Weil sonst weil ja das relativ einfach abzufrüstücken. [SPEAKER_00]: Richtig, das ist definitiv deutlich kompliziert als dann daunloht. [SPEAKER_00]: Denn ich kann einmal so ein bisschen runterbrechen, was eigentlich passiert.
[SPEAKER_00]: Der kleinen wird erst mal eine Server rantreten und sagen, hey, ich möchte einen Verzschmachen. [SPEAKER_00]: Das heißt, was er aufholfen wird, es geht Abloadpack auf das Hörverseite. [SPEAKER_00]: Dann geht Abloadpack ist dafür da, quasi die Packfall zu generieren, die da klein benötigt, um seine bestimmte Anfrage erst mal beantworten zu können.
[SPEAKER_00]: Wir wollen aber natürlich, dass nicht einfach nur die Objekte rüber schurpsen oder dem klein erversagen, du kannst über HTTP direkt auf alle unsere Bejekte zu greifen. [SPEAKER_00]: Soll noch was stattdessen passiert, zumindest im Modern mit dem Smart Protocol, ist das erst mal eine Packfall eine Gochieration passiert.
[SPEAKER_00]: Das heißt, der Kleinen sagt das Serverseite, welche Objekte sind für mich überhaupt von Interesse. [SPEAKER_00]: Das heißt, der Server wird erst mal sagen, das sind alle meiner Referenzen, die ich momentan habe, mit bestimmten Objekten, die auf die die Referenzen zeigen und dann wird der Kleinen aussuchen, welche Referenzen davon ihr haben möchte.
[SPEAKER_00]: Schickt das an den Server und schickt zu, jetzt sich nochmal an den Server, welche Objekte der Kleinen auch schon unter Umständen hat. [SPEAKER_00]: Bei dem Kloen hat dann natürlich erstmal gar keine Objekte, indem wir sprechen, ist es da relativ einfach. [SPEAKER_00]: Aber wenn man beispielsweise in den Fetsch haben möchte, wird er klein auch schägen, guck mal das in alle meine Referenz, die ich habe und das sind die Abjekte zu denen diese Referenz hinzeigen.
[SPEAKER_00]: Und generell mir immer bitte quasi in der Packfall, die einfach nur der Diff ist, zwischen den Referenzen, die objekten die ich habe und den Objekten die ich habe möchte. [SPEAKER_00]: Und dann gehen wir dann der Server dynamisch, denn das Packfall generieren, um bitte minimal in Anzahl am Objekten, die der klein, eigentlich nur benötigt.
[SPEAKER_01]: Das heißt aber du sprichst jetzt schon in einem späteren Schritt, wenn ich lokal informationen schon liegen habe, dass sie eben nur in irgendeiner Form die richtigen dann herunterladet bei einem klassischen Klonen wird ja mal zuerst alles kopiert oder also da fließt ja dann mehr oder weniger alles zum Kleint.
[SPEAKER_00]: Ja, das kommt dann immer sehr stark drauf an wie man genau den Klauen durchführen möchte. [SPEAKER_00]: Es gibt halt da ja auch viele verschiedene Möglichkeiten, wie du den Klauen durchführen kannst, so kannst du beispielsweise sagen, ich möchte ein Schelle und Klauen haben, wo ich nur historie bis mit X unterladen möchte.
[SPEAKER_00]: Ich kann aber auch sagen, ich möchte ein paar Schildklauen haben, wo ich beispielsweise alle Begte Klauen bis auf blobs die Größe als einen Gierbeidkurs sind, sodass die denn erst und die Mann später herunter geladen werden. [SPEAKER_00]: Zusätzlich dazu hat man aber natürlich auch nochmal den Fall, dass auf das Hörverseite unter Umständen abjekt in den Repositories existieren, die der Kleint niemals haben möchte, weil die beispielsweise von den öffentlichen Sichtbaren Referenzen in den Repository gar nicht erst erreicht basend.
[SPEAKER_00]: Weil wir beispielsweise Meter Daten innerhalb des Repositories speichern, die für den Klein nicht unter Umständen nicht relevant sind, die wir aber benötigen inhalb des Repositories. [SPEAKER_00]: Dementsprechend passiert auch schon bei einem Klaun in der Regel erst mal diese Packfall in der Geoscierechen, wo wir gucken.
[SPEAKER_00]: Der kleinste dieser Rafferänzen hat zusätzlich noch diese Parameter gesetzt, also gucken wir, welche Objekte wir dann schicken müssen. [SPEAKER_00]: Das sind in der Regel nicht alle. [SPEAKER_01]: Ich wollte jetzt nicht schon wieder so als Lein User dar stehen, von gibt und jemanden gedacht, bei Klaun kann ich vielleicht Klaun kennigt, das kann nur ein Befehl sein.
[SPEAKER_01]: Aber sogar da gibt es irgendwie... [SPEAKER_01]: so viele Parameter jetzt wieder besprochen, wie ich noch nie in meinem Leben geherrt habe. [SPEAKER_01]: Es ist wirklich so ein Rabbithold, kommt mir immer wieder vor, man kann so so tief gehen und findet irgendwie auch nach 15 Jahren Verwendung immer noch jeden Tag fast neue Befehle.
[SPEAKER_00]: Ich verwendet geht seit, bestimmt auch ungefähr 15 Jahren. [SPEAKER_00]: Ich bin seit zehn Jahren in Entwickler im GIT-Ökosystem. [SPEAKER_00]: Ich würde überhaupt, dass ich trotzdem noch jeden 5. [SPEAKER_00]: Tag bestimmten, neuen Command-Line Switch kennenlerne, den ich vorher noch nie im meinem Leben gesehen habe, weil jeder einzelne Befehle in GIT wirklich dutzende teilweise Hunderte von Optionen hat und ich glaube, man hat keine Möglichkeit alles zu kennen.
[SPEAKER_01]: Aber nur nochmal zur Einordnung, wir sprechen jetzt immer von GIT, was GIT an sich unterstützt. [SPEAKER_01]: Also, wir sprechen nicht von GIT Lab, GIT Hub oder sonstigen Dinge, die ganzen Sachen sind standardmäßig in GIT dabei. [SPEAKER_01]: Und würden nach funktionieren, wenn ihr jetzt mein GIT einfach auf dem Server self-hostet irgendwo hindlich, einfach GIT binary und dann kann ich über SS-HP-Reit so kommunizieren und Klonen und alle Befehle durchführen, die du jetzt genannt hast.
[SPEAKER_01]: Weil ja viele immer klauben, das sind irgendwelche Features, die dann eben von Githlapp gibt, haben und so weiter kommen, sondern das sind wirklich alles Kor, geht Features und so wurde ja, geht auch. [SPEAKER_01]: Ich glaube früher keine Ahnung, dass du wahrscheinlich besser beantworten ob das halt so da genau irgendwo so genutzt wird, dass man einfach irgendwo Githligen hat und dann sich bei SSH konnekte.
[SPEAKER_00]: Das wird auch jeden Fall noch so benutzt. [SPEAKER_00]: Ich glaube, wo das vor allem noch wirklich von Relévanz ist, ist im privaten Set-up sehr viel. [SPEAKER_00]: Ich hatte selber Jahre lang einfach nur einen Server gehabt, und ein Gitzerwer gehabt, wo die Gitbeinung ist einfach umlagend und ich dann über SS-Heimfach angegangen bin.
[SPEAKER_00]: Weil ich ansonsten auch nicht wirklich viel weiter benötigte für meine persönlichen Anwendungsvälle. [SPEAKER_00]: Aber auch bei Forges ist, dass mit einigen zusätzlichen Komplexitäten natürlich die Existieren, in großen und ganz nahe immer noch so der Fall. [SPEAKER_02]: Bilderbuch, Überleitung zum nächsten Thema, und zwar hab ich mit geht immer ein Gedankenproblem.
[SPEAKER_02]: Und zwar... [SPEAKER_02]: Die Faltes zu sagen, damit geht, habe ich nicht biefen, ne? [SPEAKER_01]: Was ist das nicht? [SPEAKER_02]: Es ist nur ein Problem, wenn man geht und nicht probleme hätten. [SPEAKER_02]: Also wir haben auch Probleme zwischen Unterbeziehung, aber ich meinte eigentlich eher dieses Konzept von Git und Detzentral.
[SPEAKER_02]: Wir haben den ganzen Podcast hier mit Zabwölchen gestartet. [SPEAKER_02]: Problems statement, also ich jetzt aufmach ist ähnlich wie Surferschen. [SPEAKER_02]: Bei Surferschen konnte man ja kein einzigen Komitmachen ohne eine Konaktivität zum Server. [SPEAKER_02]: Also jeder Komit braucht eine Konaktivität zum Server.
[SPEAKER_02]: Gid hat das ja nicht. [SPEAKER_02]: Du kannst ein Gid komment machen, alles gut. [SPEAKER_02]: Aber irgendwie... [SPEAKER_02]: Haben wir uns von den Fundamentalen? [SPEAKER_02]: Ich würde mal sagen, Featuresch aus von geht so ein bisschen weggewicht. [SPEAKER_02]: So habe ich zumindest das Gefühl.
[SPEAKER_02]: Wir hatten gerade geklärt, worauf Gang du kannst, ein Repositorer bei dir auf der Festbarte haben, du kannst mir irgendwie eine Netzwerk, hat der DPO oder SSH Connectivität geben und ich kann von meiner Festbarte auf deine Festbarte pushen. [SPEAKER_02]: Das geht ja noch. [SPEAKER_02]: Aber irgendwie haben wir uns alle darauf geeinigt, dass wir ein zentralen Server haben, sei es mein lokalgehause des GitLab oder irgendwie was in so festes Service oder ist ja egal was oder in Open Code, Open Code.
[SPEAKER_02]: Wir heißt in diese Plattform von Deutschland da. [SPEAKER_02]: Es ist auch egal, irgendwo ein Git Server wird gehaustet und das nutzen wir als zentrales Reprositoll. [SPEAKER_02]: Ich kenne auch diese Comics, was machen ihr Entwickler da, GitHub ist daun, ja. [SPEAKER_02]: Und dann ich kann gar nicht arbeiten, das macht dann jeder okay.
[SPEAKER_02]: Obwohl es eigentlich totaler Blödsinn ist, weil wir haben ja alle eine komplette Kopie, also. [SPEAKER_02]: Wir begrad gelernt haben nicht eine komplette Kopie, aber eine zu arbeitende, vollständige Kopie auf unserer Festplatte. [SPEAKER_02]: Und deswegen ist jetzt mein Problem, haben wir ein dezentrales Besontskontrollsystem wieder zentral gemacht.
[SPEAKER_00]: Also prinzipiell würde ich erst mal sagen, auch wenn man mit einem zentralen Server arbeitet, dass man immer noch die Zentrale arbeitet. [SPEAKER_00]: Bei Jahr wir haben zwar in einem normalen Klaun unter umständen nicht alle Objekte zur Verfügung. [SPEAKER_00]: Aber du kannst immer noch weiter arbeiten.
[SPEAKER_00]: Du kannst immer noch auf die komplette Kommitthistorie zu greifen, wenn geht's ab, geht Lab oder wie auch immer daun sind. [SPEAKER_00]: Es funktioniert der Weiterhin. [SPEAKER_00]: Das heißt das Problem wie früher mit der Wörgeon, dass du wirklich nichts mehr machen konnte. [SPEAKER_00]: weil du konnte es ja auch nicht mal eben zwischen verschiedenen Branches wechseln.
[SPEAKER_00]: Das existiert so nicht mehr und dementsprechend ist es weiterhin dezentral. [SPEAKER_00]: Aber der gerade dezentralisierung ist natürlich in den meisten Set-ups nicht allzu hoch. [SPEAKER_00]: Und ja, in der Regel ist es schon so, dass wir mit einem einzigen wirklich klassischen dezentralen Zuhaue arbeiten.
[SPEAKER_00]: Ich denke, dass es prinzipiell aber erst mal kein riesiges Problem ist, weil es ist, größtenteils eine Frage davon, wie organisieren wir eigentlich unsere Arbeit bei beispielsweise unserem Arbeitgeber. [SPEAKER_00]: Ein Innerige ist es ja so. [SPEAKER_00]: Wir arbeiten für einen gewisse Unternehmen, das Unternehmen wird sowieso irgendwo, die zentrale Server Struktur bereitstellen.
[SPEAKER_00]: Das heißt, warum sollten wir das nicht auch wirklich als zentralen Server benutzen? [SPEAKER_00]: Es hat einfach so ein bisschen Praktikablückrunde, weil irgendwo haben wir wollen wir so wie so auch Ische-Tracking haben. [SPEAKER_00]: Wir wollen unsere Merchwickwässung gehangen. [SPEAKER_00]: Was sie all die Metadaten, die noch um dieses Projekt um existieren, ist es ja nicht nur das Gitter-Positile, das wirklich von relevantes ist.
[SPEAKER_00]: Und deswegen sehe ich das prinzipiell erst mal nicht als ein wesentliches Problem an. [SPEAKER_00]: Und so setzt ich dazu gibt es ja auch gerade in letzter Zeit einige bestreben dahin, dass wir das auch wieder dezentraler machen. [SPEAKER_00]: Es gibt beispielsweise Projekte wie Tangelt, die auf dem AT-Protekoll aufbauen.
[SPEAKER_00]: Um wirklich eine detzentrale Entwicklungsstruktur basient auf geht, wieder bereitstellen zu können, wo dann quasi jeder mit jedem so ein bisschen interagieren kann. [SPEAKER_00]: Und das versuch halt das wesentliche Problem zu lösen, weil die meinte sehr gerade so schön, prinzipiell könntest du einfach ein Repository bei dir auf der Festplatte haben.
[SPEAKER_00]: und irgendwann andere es kann da aufzugreifen. [SPEAKER_00]: Aber die Frage ist, willst du wirklich, dass irgendjemand mal eben auf die Repositories auf deiner Festplatte zugreifen kann? [SPEAKER_00]: Und ich würde behaupten, meistens wahrscheinlich eher nicht. [SPEAKER_00]: Du müsstest Sports öffnen, du hast eine gewisse höhere Attackssurface und das macht dich natürlich einfach ein bisschen angreifbarer für andere Personen.
[SPEAKER_02]: Das bringt mich dann zu der Frage, okay, ist das denn eigentlich hier, dass wir uns alle um ein zentrales Repository organisiert haben, ist das denn ein technisches oder ist es erst eher so ein kulturelles oder bequemlichkeitsfänomehen. [SPEAKER_02]: Und ich habe halt mit Gesprächen mit anderen Leuten herausgefunden, dass sie alle gar nicht wussten.
[SPEAKER_02]: Dass man, dass wir drei uns jetzt hier repositorisch hin und herpuschen können, ohne einen Github, ohne einen Githleb, ohne einen Zentralen Server. [SPEAKER_02]: Und da waren die Ruhe, das geht? [SPEAKER_02]: Ich denke mir so, hey, das ist doch der Kern von der ganzen Thematik. [SPEAKER_02]: Und deswegen frage ich mich, es scheint kein technisches Problem sein.
[SPEAKER_02]: Klar, die Sicherheitsbedenken, die du gerade aufgemacht hast, die existieren, die existieren immer wenn du irgendwas aufmachst. [SPEAKER_02]: Also an Ports und Co. Aber ist das eher nicht ein kulturelles oder ein, ja, vielleicht sind wir alle Frauel geworden. [SPEAKER_01]: Aber wie würdest du das mynetschen?
[SPEAKER_01]: Du arbeitest jetzt mit 15 Leuten zusammen, wo schiebst du dann dir geht's hin und her oder so in dem Team? [SPEAKER_02]: Ich bin hier eher gerade im Land- und Prächtmoment, dass wir philosophisch über etwas sprechen, wo für ein Detzentrales, der so ein Skottrollsystem geschaffen wurde und wir als Menschen, dass wieder zentralisieren.
[SPEAKER_02]: Und jetzt wir jetzt nicht in den Lösungsweg wechseln, weil ich habe keine Ahnung. [SPEAKER_02]: Ich habe keine Antwort darauf gebe ich zu. [SPEAKER_02]: Aber im Endeffekt kann ich ja, ich kann mir ja ein Wolfgang remote einrichten, ja, dann kann ich mir ein Patrik remote einrichten und habe ich das Problem ja, die ab da bestimmt zu Hause dünn den S oder ähnliches, ja.
[SPEAKER_02]: Also, boff, Lösungen parat, ist ein bisschen kompliziert, gebe ich zu. [SPEAKER_01]: Ich finde, der hat schön, dass du diese ... [SPEAKER_01]: Wiesenschaftliche Seite mal ein, wo man sagt, man soll die Grundlagen verstehen und wie das eigentlich der Runderfunk ziniert und nicht, wie es in der Praxis so einfach überlangewendet wird, sondern Hardcore, die Leute müssen das noch verstehen, wie man das Push zu erinnern hat.
[SPEAKER_01]: Also ich sehe das alles entspannter, aber Patrick geht, vermisst du, dieses direkte Detzentrale arbeiten oder musst du jetzt als RS Arbeitnehmer von GitLab so wie so sagen, das zentrale ist cool. [SPEAKER_00]: muss die Pritzbasen nicht unbedingt sagen, ich arbeite ja vor allem auch in dem Getprojekt selber, um das Getprojekt selber beispielsweise ist ja relativ Dezentrale aufgebaut.
[SPEAKER_00]: Die arbeiten mit keiner offizialen Fortsch, das heißt, wir benutzen kein Isch-Tracking, wir benutzen keine Merch-Bests, sondern stattdessen arbeiten wir nur mit der Getmailingliste und das ist ziemlich Dezentrale. [SPEAKER_00]: Es gibt mehrere Volks von unserem Repository und natürlich gibt es ein paar offizielle Anlaufstellen.
[SPEAKER_00]: Es gibt beispielsweise einen Vork-Bergitlab, einen Vork-Bergitlab, einen bikerne.org, weil wir aus der Kölne Community kommen, um zu weiter. [SPEAKER_00]: Das ist ziemlich jetzentral insgesamt. [SPEAKER_00]: Aber die Frage ist halt im Wesentlichen, was bringt es den meisten Projekten, die zentral zu sein?
[SPEAKER_00]: In dem Fall vor dem Git-Projekt macht es durchaus schon Sinn, weil wir wollen beispielsweise keinen bestimmten Bias haben gegenüber einer der Hosting-Proweiter. [SPEAKER_00]: Das ist einer der großen Gründe-Vauhrung, wir detzen drauf gesteilt sind, damit wir nicht sagen, unser offiziales Projekt ist bei GitHub, den wir sprechen, es GitHub quasi das, die Heimat von Git, würde halt zum gewissen Bias erschaffen und diesem Bias beim Gehalt vermeiden, aber ich würde behaupten, dass die meisten Projekte nicht unbedingt davon profitieren würden, wenn es wirklich die Zentral ist.
[SPEAKER_00]: Denn ich meine, man muss ja auch schon mal sagen, viele Entwickler haben schon alleine Probleme mit geht, wenn sie mit dem Zentralen zu erarbeiten. [SPEAKER_00]: Sie haben schon Probleme damit, was mache ich denn jetzt, wenn das Remote geabtet wurde, wie rebase ich überhaupt meine Änderung, was ist eine Rebase überhaupt?
[SPEAKER_00]: Was ist eine Merge? [SPEAKER_00]: Und da kommen wirklich viele Probleme zu erinnern, und wenn man dann auch noch anfängt, detzentral zu arbeiten, so dass jeder einzelnen Entwickler auf einmal mit drei Dutz und verschiedenen Remotes arbeiten muss. [SPEAKER_00]: Er hat sich ein Glück, wo ich die Wern auf jeden Verspaß haben, wenn sie schon den eigentlichen Einfachenburg von nicht so richtig verstehen.
[SPEAKER_02]: Vielleicht machst du da gerade ein gutes Fass auf, wenn auch auf diesen Zentralen Plattformen wie GitHub und GitHub, wenn du Projektmentainer bist und dir mal ansieht, wer eigentlich dein Repository forkt, ob da Änderungen macht, dass du, was ja in Interesse natürlich auch zu gucken, okay, was machen denn dann die Forks, was machen dann die anderen Kopien?
[SPEAKER_02]: Kann man davon inspiriert werden? [SPEAKER_02]: Das ist super schwierig. [SPEAKER_02]: Du musst dich ja durch. [SPEAKER_02]: Ja weggeforkte Repositoris mal nur elf Räsen um zu gucken. [SPEAKER_02]: Wo ist denn welche sinnvolle Änderungen kann ich was zurückmerchen? [SPEAKER_02]: Und so weit, weil nicht jeder hat das Konzept verstanden.
[SPEAKER_02]: Ich mache ein Pullback West und ein Merchwick West auf. [SPEAKER_02]: Und kontybeltet zum Upstream. [SPEAKER_02]: sondern die Leute, ja, beheben ihr Problemen gehen dann weiter, was ja völlig okay ist, dass ich meine, das ist ja der Sinn von oben so aus, ja alles super, aber wenn man natürlich versucht sein, sein abschöbeler Pository zu maintainen, dann mit den 20-30 verschiedenen Forks oder remote zu arbeiten, das stimmt schon.
[SPEAKER_00]: Genau, es muss halt am Ende immer noch irgendwo eine zentrale Autorität geben, die quasi sagt, dass es jetzt der eigentliche Stand von dem Projekt und diese Person ist dann dafür zuständig, dass alles wieder zu reintegrieren, was passiert in einen einzelnen, [SPEAKER_00]: In den einzelnen Fuchs, das sieht man beispielsweise in der Linux-Community ganz gut, da funktioniert es ja genauso.
[SPEAKER_00]: Wo Linus mehr da weniger ganz oben sitzt, er hat quasi das offiziale Repository, aber dann gibt es ja ganz viele verschiedene Fuchs von diesen Repository, die die einzelnen Laptannins von ihm. [SPEAKER_00]: Also die einzelnen Subsystemmentaners. [SPEAKER_00]: Die werden quasi in ihren eigenen Fuchs erst mal die ganzen Änderungen von Ihrem Delle gehts oder von Ihren Entwicklern sammeln.
[SPEAKER_00]: und geben dann irgendwann ihre Änderungen nach oben weiter zu Linus. [SPEAKER_00]: Das Linus irgendwann am Ende dann quasi alles zusammen möchte und das ist denn die offizielle Version von dem Projekt mehr oder weniger. [SPEAKER_00]: Ausgeteilt nicht quasi die eine Version von Linux. [SPEAKER_00]: Da man es gibt halt ganz viele verschiedene Repositories, die auch unterschiedliche Ständer haben.
[SPEAKER_00]: Und das funktioniert in dem Projekt sehr gut, aber es funktioniert halt nicht unbedingt in jedem Projekt sehr gut und da muss man halt auch immer sehen, was braucht das Projekt eigentlich? [SPEAKER_02]: Du machst schon wieder die beste Überleitung der Welt und da frage ich mich natürlich, wenn du sagst, was braucht das Projekt eigentlich?
[SPEAKER_02]: Du hast gesagt, oder ich hab gesagt, in der Einladung, das geht inzwischen 20 Jahre, ist und da frage ich mich, wie so hat, geht eigentlich Initialpölge, braucht ja. [SPEAKER_02]: Lasst uns mal ein bisschen über die Modernisierung von Git bzw. [SPEAKER_02]: der Git Code-Pass sprechen, denn wenn ich mir mal die Source-Code-Verteilung vom aktuellen Git Repository an sehe, dann hat man da immer noch so ca.
[SPEAKER_02]: 5% Pölrum fliegen. [SPEAKER_02]: Tick er 50, 51, 52 Prozent. [SPEAKER_02]: C, ganze Menge, Schell, Gramm. [SPEAKER_02]: Aber, toll, wundervoll. [SPEAKER_00]: Mein Lieblingsdese ist auch nicht so. [SPEAKER_00]: Ich kann bis heute kein Pölsch schreiben. [SPEAKER_00]: Ich kann's gerade mal so lesen, wenn ich mich wirklich anstrenger.
[SPEAKER_00]: Aber für mich ist das größtenteils eigentlich nur eine iseterische Sprache, weil es sehr eigenartiger sind. [SPEAKER_02]: Pölte war für mich nie eine vor dem Meersspache. [SPEAKER_02]: Költe ist die Kunst, das richtige Zeichen zu fahren. [SPEAKER_01]: Also Pearl war meine erste Programme-Sprache an die, möchte ich noch mal abmerken.
[SPEAKER_01]: Also bist du künstler? [SPEAKER_01]: Aber die Spurklamieren, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein, nein [SPEAKER_02]: Aber das ist mal wirklich jetzt über die Modernisierung von Gesprächen.
[SPEAKER_02]: Also, meines Wissens nach ist die ganze Sache großen Teils in Zähgebau. [SPEAKER_02]: Und mittlerweile. [SPEAKER_02]: Mittlerweile, okay, das habt ihr euch die letzten 20 Jahre hin entwickelt. [SPEAKER_00]: Richtig, ganz am Anfang, sad das alles noch ein bisschen anders aus. [SPEAKER_00]: Wir hatten von Anfang an quasi zwei unterschiedliche Lähe.
[SPEAKER_00]: Das sind einerseits das Plumping Lähe und andererseits das Pozlan Lähe. [SPEAKER_00]: Plumping ist quasi, das sind die wesentlichen Tools, die sehr stark untergebrochen sind, um relativ einfach Operationen auf den Getro-Positories zu machen. [SPEAKER_00]: Das heißt, es ist dann so, was wir geben ein einzelnes Objekt raus.
[SPEAKER_00]: Oder updatete eine einzelne Referenz, so ein Zeugs. [SPEAKER_00]: Porcelan ist dagegen, dass Läher das für den Nutzer das direkte Interface ist. [SPEAKER_00]: Das heißt, du würdest in der Regel nicht mit dem Plambing-Läher arbeiten. [SPEAKER_00]: Weil das viel zu Low Level ist und die kein guter Juse-Belletie geht.
[SPEAKER_00]: Und die Hammer kann darüber streiten, ob die Juse-Belletie von unserem Porcelan-Läher in so super ist. [SPEAKER_00]: Aber es ist zumindest deutlich besser, so viel kann ich versprechen. [SPEAKER_00]: Ursprünglich war das so, dass viele von den einzelnen Kommandus die Holzteige existieren und Teil des Pozcellanleers sind also Userfacing sind, im Pölk geschrieben wurden und einfach nur quasi in das Plumbing-Layer reingen, gereicht haben.
[SPEAKER_00]: Das heißt, sie haben die Plumbing-Kommans ausgeführt, die in C geschrieben waren größtenteils und Pöll war dann oftmals quasi das für uns, denn die Heiler wir Kommandons geschrieben wurden. [SPEAKER_00]: Was wahrscheinlich einfach den Anwendungsverhatte, dass es halt relativ schnell und einfach quasi zu implementieren war.
[SPEAKER_00]: Und man darf nicht ein bisschen schneller etterieren können. [SPEAKER_00]: Aber ich muss auch dazu sagen, dass es vor meiner Zeit im GIT-Projekt, also ich bin mir auch nicht so 100% sicher, wie es da zu kam. [SPEAKER_02]: Jetzt gibt's diese Populäre Diskussion A.C. Du musst dich selbst in den Memory-Kümmern und Memory-Buffer-Overflows und unsere ganze tematik.
[SPEAKER_02]: Und dann wird immer spätestens noch drei Sitzenden tief in der Diskussion Rust erwähnt. [SPEAKER_02]: Ja, sollte man das eine nicht mit dem anderen in der Sätzen. [SPEAKER_02]: Im Linux-Körnel findet Rust jetzt nach langer Diskussion, da langsam irgendwie eine Anwendung und Wut durch jetzt auch Patial akzeptiert als zweite Sprache.
[SPEAKER_02]: Wie sieht es in geht aus? [SPEAKER_02]: Habt ihr sowas auch schon gesprochen oder sagt ihr ne, wir sind alle Happy-Mitze, weil wir da den Plumping Layers so stabil haben, dass wir da gar nicht mehr ran müssen oder? [SPEAKER_00]: Also prinzipiell er muss ich erstmal sagen, dass ich persönlich mit CSR zufrieden bin, weil zehne super einfache Sprache ist und relativ wenig Zeugs passiert, wo ich nicht nachvollziehen kann, was passiert.
[SPEAKER_00]: Aber wir hatten natürlich in der gibt Community schon seit Jahren, die Diskussion, ob wir vielleicht doch mal irgendwann Raspen nutzen wollen. [SPEAKER_00]: Weil man sieht, es ist ja überall, dass alle möglichen Projekte anfangen, Rast zu akzeptieren und es gibt definitiv auch gute Gründe dafür.
[SPEAKER_00]: Memory Safety ist das eine Barrow Checking und dadurch vieles Konkarency ist natürlich ein anderes wesentliches Thema, was auch für das Giftprojekt von einer großen Relle-Banz ist und außerdem haben wir halt auch noch deutlich besseres tooling teilweise, mit der ganzen Raskompilot Touching.
[SPEAKER_00]: Und das ist natürlich sehr lucrativ und sehr attraktiv für das Getprojekt. [SPEAKER_00]: Die Diskussion existierte wie gesagt schon seit einigen Jahren, das wir vielleicht doch mal so ein bisschen mit Rust warm werden wollen, sodass wir dann lassen wir schlügen. [SPEAKER_00]: Ich glaube, vor vier oder fünf Jahren hatten wir quasi den ersten Rustcode im Getprojekt drin.
[SPEAKER_00]: Das war bei erstmal quasi einen Rapper, um die CB-Bliotheken, die wir haben. [SPEAKER_00]: So das man quasi... [SPEAKER_00]: Geziabibliotheken in Raskode relativ einfach aufrufen kann. [SPEAKER_00]: Allerdings ist es extremste eingeschränkt, dass einzige Wasser damit machen kann, ist eine Gidkonfiguration, also die Gidkonfigphase paßen und darauf zu gefahren.
[SPEAKER_00]: Das heißt wirklich vielkanzellarmt nicht so richtig tun. [SPEAKER_00]: Die Diskussion ist allerdings mit der letzten Jahres noch mal sehr stark aufgeflammt und fühlte dann im Endeffekt dahin, dass wir gesagt haben, die akzeptieren jetzt auch Rast in unserem Core-Farmgit. [SPEAKER_00]: Also quasi direkt im Code drin, so dass es zentral in Gits selber ist.
[SPEAKER_00]: Wir haben das jetzt allerdings sehr, sehr schrittweise eingeführt. [SPEAKER_00]: Das heißt, Anfangs haben wir erst mal gesagt, wie akzeptieren Russ Code im Kern von Gits. [SPEAKER_00]: Aber werden erst mal diesen Code nur als optional betrachten. [SPEAKER_00]: Das heißt, es ist noch nicht möglich, zu sagen wir für einen wirklich zwingender Maßen rast ein, weil sich auch das ganze Ökosystem anpassen muss.
[SPEAKER_00]: Das sind die ganzen Downstream distributions, die dann auf einmal noch eine rastkompfeiler Tooltchain mit reinfügen müssen, dann sie geht kompillieren wollen. [SPEAKER_00]: Das sind isoterische Plattformen, die vielleicht gar nicht erst rass report haben. [SPEAKER_00]: Also sowas wie HP UX-Nonstop oder irgendwelche Plattformen, die halt super isoterisch sind, die aber auch geht benutzen.
[SPEAKER_00]: Das Ring ist das momentan tatsächlich noch optional, unser Ziel ist es allerdings voraussichtlich mit GIT 3.0 zu sagen, es wird jetzt wegen der Maßen notwendig sein, Rust in der Toolchain zu haben, und GIT damit zu compilieren. [SPEAKER_00]: So dass wir dann quasi GIT rust auch deutlich mehr in der GIT codebase benutzen können.
[SPEAKER_01]: Kannst du mal kurz um reißen, was gibt drei Bedeutet oder in welchen Gefahren bewegen wir uns da? [SPEAKER_01]: Ist es so die Zukunftsmusik von in 100 Jahren oder ist es schon was konkret ist und was für Änderungen gibt es dort? [SPEAKER_00]: Ich kann nur sagen, es ist halbwegs konkret, was es nicht so umbeln konkret ist.
[SPEAKER_00]: Die 3.0 ist das mittlerweile seit einem halb zwei Jahren ungefähr bei uns in der Diskussion. [SPEAKER_00]: Da geht es dann um einige Änderungen, die nicht rückwärts kompatibel sein werden. [SPEAKER_00]: Es geht beispielsweise darum, dass wir in ein anderes Backant haben, um Referenzen zu speichern, es geht darum, dass wir eine große Endung haben, dass wir beispielsweise Schau an, als die Volltaschen Algorithmus ersetzende Scharze 2650 und doch ein paar andere Themen.
[SPEAKER_00]: Halt wirklich große Endung, die ihr dann nutzer aufwücklich merken werden. [SPEAKER_00]: Wir müssen an dieser Änderung natürlich extremskonservativ dran gehen, bei uns natürlich bewusst ist, dass das auch einen wesentlichen Impact auf das gesamte Ökosystem haben wird und der Gitsitzt halt sehr zentral in allen Softwareentwicklungen.
[SPEAKER_00]: Und demen sprechen können wir halt nicht einfach mal eben sagen, so, ja, wir haben es mal im Lust hier, das alles zu ändern und machen es einfach mal morgen, sondern es muss halt gut geplant sein und das muss vor allem auch gut kommuniziert sein. [SPEAKER_00]: konkreter heißt es allerdings, dass wir anstreben ganz lose vielleicht Ende diesen Jahres vielleicht irgendwann Mitte nächsten Jahres, getreipung nur auch wirklich veröffentlichen zu können.
[SPEAKER_00]: Da warten wir aber auch noch auf einem paar Faktoren im Ökosystem, sodass wesentlich wie biotheken beispielsweise Support für Schatzvosexen 50 haben oder das beispielsweise in den Github, auch Schatzvosexen 50 unterstützen kann. [SPEAKER_00]: weil es bringt nichts, wenn wir unsere Defolz ändern, ohne dass die ganzen Code Hosting forges, das eigentlich unterstützen.
[SPEAKER_02]: Hatte ich schon ein bisschen schade, dass das E-Kudos-Tembschunde zentrale Power hat eigentlich über euren Überorientwicklungseterationen. [SPEAKER_00]: Ich würde sagen, es ist Blessing und Kurs gleichzeitig. [SPEAKER_00]: Weil es ist natürlich schön, dass quasi jeder Entwicklerhütztage gibt, benutzt.
[SPEAKER_00]: Das fühlt sich für ein selber natürlich wahnsinnig toll an, wenn man ein Entwickler im GIT-Ökosystem ist. [SPEAKER_00]: Weil man auch weiß, dass man einen riesigen Impact hat. [SPEAKER_00]: Es kann aber wirklich wahnsinnig frustrieren sein. [SPEAKER_00]: Denn schon seit Jahren große Themen wie scharzvosexen 50 Beispielsweise anstehen, aber einfach nichts passiert in dem Kontext.
[SPEAKER_00]: Und man halt immer geblockt ist durch die ganzen großen Code forges, weil die sich halt einfach nicht bewegen. [SPEAKER_00]: Das ist teilweise halt so ein bisschen den Schicken- und Eckproblem. [SPEAKER_00]: Dass man sagt, niemand wechselt auf scharzvosexen 50 Beispielsweise, weil ihr forgest ist nicht unterstützen, aber die forgesen unterstützen ist nicht, weil niemand auf scharzvosexen 50 wechseln möchte.
[SPEAKER_00]: Und das ist teilweise schon wirklich, es zieht sich dadurch halt, extremst in die Länge. [SPEAKER_02]: Also das ist damals kurz tiefer einsteigen. [SPEAKER_02]: Schaar 250 hast du jetzt als große Änderung angekündigt. [SPEAKER_02]: Warum sind hessisch so? [SPEAKER_02]: überhaupt ein zentrales Design-Element von Gipbizierungsversuch, von Gidobjekten.
[SPEAKER_00]: Man bezeichnen geht der so schön als Content-Adressable Filesystem. [SPEAKER_00]: Das heißt, jedes Objekt ist durch den Inhalt von dem Objekt eindeutig identifizierbar. [SPEAKER_00]: Ein bisschen weniger Abstack gesagt heißt es einfach. [SPEAKER_00]: Ich habe irgendein Inhalt irgendeiner Teilbeispieleise.
[SPEAKER_00]: Ich herrscht dir da Teil und habe ich den Objekt nahm. [SPEAKER_00]: Und das ist quasi eine der wesentlichen Designenkriterien von geht. [SPEAKER_00]: Demisch sprechen ist das ganz Objektmodell darauf aufgebaut. [SPEAKER_00]: Wenn Objekt wird nun anderes, objekt dadurch referenzieren, das ist einfach sagt, dass hier ist der Herrsch von dem anderen Objekt.
[SPEAKER_00]: Und wenn man sich dann quasi einfach nur einen Kommentung vernimmt, hab man einen kompletten Merkel-Tree der dann eindeutig alle anderen Objekte in der Appengigkeit, in der Infizien des heißt, über die Hälsches kannst du den kompletten Objekt grafen ablaufen und alle anderen Objekte referenzien, das heißt alle vorherigen Kommits, alle Dateien, die ausgecheckt werden, müssen alle Verzeichnungsstrukturen und so weiter.
[SPEAKER_00]: Und dadurch ist dieser Objekt herrscht, sehr stark eingebettet in das komplette Datenmodell und von wesentliche Relle Wands. [SPEAKER_00]: Und das natürlich zu ändern ist relativ schwierig, weil das heißt, dass man alle Objekte neu schreiben müsste. [SPEAKER_02]: Aktuell nutze ihr Schau-Wand, wenn ich mich recht erheue.
[SPEAKER_02]: Ja. [SPEAKER_02]: Und ihr wollte jetzt auf Schade 2050 wechseln. [SPEAKER_02]: Da geht es aber dann nicht um das Thema Security, sondern eher um Integrity, Integrität, schwieriges Wort. [SPEAKER_00]: Ja und nein, am Integrität ist erst mal das Wesentliche, wo für wie diese Hersches benutzen.
[SPEAKER_00]: Denn man hat das für die schöne Eigenschaft, wenn jeder es objekt eindeutigt durch den Herschendetifizierbar ist, kann man auch relativ einfach überprüfen, ist dann dieses Objekt was dahinter steht, eigentlich doch Konsistent, indem man einfach noch mal neu herrscht. [SPEAKER_00]: Und da wusste ja sofort sehen, hat sich der Hersch geändert von dem im Weg, da muss der Irgendwas faue seinen, hat sich beispielsweise im BIT auf der festplatte Geflippte oder sowas.
[SPEAKER_00]: oder die Datenstocktürnig habe, sind irgendwie korrupt oder was, was ich weiß. [SPEAKER_00]: Das ist eine der wesentlichen Designkriterien, warum wir dieses Herschwing haben. [SPEAKER_00]: Und ja, es wurde gerade am Anfang von dem Gitprojekt gesagt, dass Sicherheit keine wesentliche Relevanz für dieses Herschwing hat.
[SPEAKER_00]: Aber man muss im Entfekt auch sagen, es stimmt nicht so wirklich. [SPEAKER_00]: Denn wenn du in der Lage bis relativ leicht herschkolligens verbeizuführen, wo quasi das gleiche Objekt oder in die unterschiedliche Objekte auf den gleichen Namen geherst werden können, dann wirst du daraus folgen, schon im Parl sicherheitsimplication haben.
[SPEAKER_00]: Beispielsweise so was wie kümitze Knaturen, also wenn man eine cryptografische Signatur auf einen gewissen Kompeten macht, ist ja davon auszugehen, die Person weiß, was sie sie ignoriert hat. [SPEAKER_00]: Aber wenn du jetzt in der Lage bist, eine herschkollision herbeizuführen. [SPEAKER_00]: Denn ist ja die komitzigen Natur nicht mehr wirklich eindeutig, sondern kann vielleicht das eine Objektreferenzieren oder das kollidierende Objekt.
[SPEAKER_00]: Und dementsprechend verliert diese ganze kryptografische Signaturen im Bissenanwärt. [SPEAKER_01]: Aber habe in der Realität wirklich Koalitionen, also körperfaschen, dass da ja sogar irgendwie 5-Hasch ohne Probleme ausreichend wurde, weil wir sprechen da jetzt nicht irgendwie von dem ganzen Internet, sondern von einem Repository.
[SPEAKER_00]: Ohne, dass man sie bewusst herbei führt, hat man eigentlich keine Koalition. [SPEAKER_00]: Meines Wissens nach gab es bisher ein weltweit noch keine einzige Koalition mit Schauern. [SPEAKER_00]: Mit einem Definfälte des Fleisch anders ausgesehen, weil im Definfalt wirklich Specher ist als es mit Schauern in der Fall ist, weiß ich aber ehrlich gesagt nicht so ganz.
[SPEAKER_00]: Was man aber auf jeden Fall sagen kann, ist, dass mit MD5 es viel, viel einfacher ist, bewusst Koalition herbeizuführen, als es mit Charwan der Fall ist. [SPEAKER_00]: Und das heißt, wenn es irgendwo einen Angreifer beispielsweise geben möchte, der da einen Get repository kompromitieren möchte, ist damit Charwan ziemlich trivial in der Lage, dann halt Koalition zu erschaffen und dadurch zumindest einiges anschauen, herbeizuführen.
[SPEAKER_00]: Schau an, es allerdings auch nicht mehr so wirklich ein Koalitionsresistent, es gab ja vor einem paar Jahren den ersten Praktisch durchgeführten Angriff der Schäderteist und da wurde denn ja, die erste wirkliche Koalition herbeigeführt mit zwei unterschiedlichen PDF Dokumenten. [SPEAKER_00]: Die beide sind taktisch, weil jede sind und da steht ich inhalte haben aber den gleichen Objekteisch haben.
[SPEAKER_00]: Dementsprechend kann man schon davon ausgehen, dass schauang mittlerweile cryptografisch nicht mehr sicher ist und man kann auch vor allem davon ausgehen, dass es über die nächsten Jahre wahrscheinlich irgendwann auch mal den nächsten angriff geben wird, das vielleicht noch schwächer macht als es momentan schon der Fall ist und vor allem auch mit dem als das beliebten Thema Artificial Intelligence sieht man natürlich momentan, dass die Datencentrenstrukturen immer weiter ausgebaut werden und immer mehr KPUs beispielsweise bereitgestellt werden.
[SPEAKER_00]: und GPU sind auch einen wesentlicher Bestandteil oder einen wesentlicher Faktor mit dem relativ gut hersches Berechnen kann und die mehr GPU-Kapazitäten wir haben, dass du einfache würd es quasi einen hash-collision auch herbeizuführen. [SPEAKER_00]: Das heißt, ich würde behaupten für einen wirklichen Angreifer der Smöchte, wäre auch in der Lage heute zu Tage relativ kosten günstig hash-collision herbeizuführen mit schaubarm.
[SPEAKER_02]: Wieder was gelernt, ich glaube, ich muss mal ein bisschen lokal bei mir experimentieren, ob ich auch hähschkuldigenszeweit für ein Kanäntes an. [SPEAKER_02]: In deinem Vorstammtor kannst du aber von einer weiteren großen Änderung gesprochen und zwar sogenannten Rafftabels. [SPEAKER_02]: Eklame immer bitte, was Rafftabels sind oder wo für diese genutzt werden oder welches Boblehnen sie überhaupt lösen sollten.
[SPEAKER_00]: Ich glaube, um das zu erklären muss ich erst mal ein bisschen erklären, wie eigentlich momentanere Forensen gespeichert werden. [SPEAKER_00]: Ich habe schon gesagt, was eine Referenz überhaupt ist, eine Referenz ist quasi einfach nur einen Name, der mit einer bestimmten Objekt ID verknüpft wird.
[SPEAKER_00]: So das sollte nicht jedes Mal die die Objekt ID merken, muss in einem Get-Repository sein und was zu einem Versagen kannst, ich möchte das Beispielsweise den Main branch auschecken und den Sachsall einfach nur. [SPEAKER_00]: Geht Checkout, Mainanstatt, Geht Checkout, Objekt ID. [SPEAKER_00]: Die sind quasi einfach so ein gewisser Schorthand.
[SPEAKER_00]: Das wurde Ewigkeiten über das sogenannte Files Backhand gemacht. [SPEAKER_00]: Das heißt, Vereinfach gesagt ist jeder Referenz erst mal als eine einzelne Datei abgespeichert. [SPEAKER_00]: Da ist ein Mainbranche beispielsweise, ist in dem Punkt Gits, Schrift, Herz, Main, Alzertei abgespeichert.
[SPEAKER_00]: Und diese Datei wird einfach nur die Objekt ID im Bein halten. [SPEAKER_00]: Eskaliert natürlich so erst mal nicht um mit den Gut, weil es durchaus Repositories gibt, wurde Millionen von Referenzen hast. [SPEAKER_00]: Und du willst nicht 20 Millionen einfache Dateien auf deine Festplatte haben, um die A-Referenzen alle lesen zu können, weil es natürlich erst mal ineffizient ist, was die CPU Zeit angeht, weil du unter Umständen halt alle Referenzen laden musst und du keine 20 Millionen Dateienöffner willst.
[SPEAKER_00]: andererseits ist natürlich auch vom Storage Space-Halt relativ ineffizient, weil es oft mal so ist, das hat eine Rafferenz ein kompletten Disk-Sector-Basch bzw. [SPEAKER_00]: Bauchten der Pleisystem. [SPEAKER_00]: Deswegen pakt es jetzt regelmäßig schon im Fall back end, diese losen Rafferenzen in die Packdress-Fall.
[SPEAKER_00]: Das heißt, es dann eine Einzelneurtheit, die alle deiner Rafferenzten beinhaltet, mit der jeweiligen Objekteitchen. [SPEAKER_00]: Das ist natürlich deutlich effizienter, wir haben eine deutlich geringere Festplatten Belastung, wir haben müssen nicht mehr alle Dateien, einzelnen Öffnen und so weiter, aber auch ein Pekroferenz, das haben wir einige Probleme.
[SPEAKER_00]: Wir haben beispielsweise eines meiner Lieblingsrepositories da draußen, hat ungefähr 25 Millionen Referenzen, und 25 Millionen Referenzen... [SPEAKER_00]: Summieren sich auf zu einer Packdress-File, die ungefähr 1,5 GB groß ist. [SPEAKER_00]: Was schon relativ viel ist. [SPEAKER_00]: Das Problem ist jetzt.
[SPEAKER_00]: Jedes Mal, wenn du deine Referenzen packtem möchtest, musst du die komplette Packdress Datei neu schreiben. [SPEAKER_00]: Es heißt, als kann man 5 GB neu schreiben. [SPEAKER_00]: Das größer Problem ist allerdings. [SPEAKER_00]: Jedes Mal, wenn du eine Referenz löschen möchtest, in dein Repository.
[SPEAKER_00]: Beispielsweise walden und ein Brandschlöscht. [SPEAKER_00]: musst du das aus der Pack-Restertein rauslöschen. [SPEAKER_00]: Heist, eine einzelne, gelöschtere Forens wird es dafür sorgen, dass du eins kann mal frühen, viel gegabert an Daten neu schreiben musst. [SPEAKER_00]: Was es vielleicht unbedingt effizient ist, ein effizientes.
[SPEAKER_00]: Reftabilz sind dafür quasi so ein bisschen die Lösung, denn mit Reftabilz haben wir quasi ein komplett anderes Datenformat. [SPEAKER_00]: Wir haben erst mal quasi die individuelle Table. [SPEAKER_00]: In den Table haben wir quasi ein Binärderteilen Format, was die einzelnen Referenzen auflistet, was schon mal ein bisschen effizienter ist, was die festbarten Speicher angegeht.
[SPEAKER_00]: Weil du halt weniger Daten speichern muss, was halt in den Binärformat ist. [SPEAKER_00]: Du setz dich, haben wir so was für die Preface-Kompression, beispielsweise, dass wir nicht die komplette Referenzen haben, jedes Mal Speicher müssen, sondern wenn du jetzt Reffs-Herts einstals Reffs-Herts zwei, kannst du bei den zweiten Mal des Reffs-Herts weglassen.
[SPEAKER_00]: Durch Preface-Kompression. [SPEAKER_00]: Mach's auch noch mal ein bisschen effizienter, wo du euch wie halt insgesamt, denn ich glaube, fast die Hälfte weniger an festplatten Speicher benötigen, dafür. [SPEAKER_00]: Zusätzlich haben wir aber nicht nur eine Rafftebe, sondern wir haben mehrere Rafftebes.
[SPEAKER_00]: Sie leiden im und so genattend Steck organisiert sind. [SPEAKER_00]: Und vor allem kannst du lang quasi in der Zufkömpftigen Rafftebe einfach nur denn, so genattend tunst du am Markt und haben der sagt, ich lösche jetzt Referenz 1. [SPEAKER_00]: So dass du nicht mehr alles neu schreiben musst.
[SPEAKER_00]: Jedes Mal wenn du nur einzelne Referenz löschen möchtest. [SPEAKER_00]: Wir benutzen dann noch einen paar weiter, gehen der technische Sachen, wir beispielsweise in den ZDG Metal Compaction, das heißt, wir gucken quasi, wie müssen wir diese einzelnen Tabellen zusammenmörchen und nicht jedes mag quasi alles neu schreiben zu müssen, aber um trotzdem möglichst wenig Tabellen insgesamt zu haben.
[SPEAKER_00]: Am so, dass wir quasi dann ein biometrisches Sequenz haben, an Tabels. [SPEAKER_00]: Das heißt, jeder Tabel muss mindestens doppelt so groß sein, wie die nächste kleinere Tabel. [SPEAKER_00]: Das ist quasi erst mal eine Tabelle, hast die hat zehn Referenzen, denn hast du eine Tabelle, die hat acht Referenzen, dann hast du noch eine Tabelle, die hat zwei Referenzen.
[SPEAKER_00]: Und wenn du dann quasi eine weitere Referenzen zufügen würde, sodass die unterstehenden drei hätte, dann würde es so quasi nach oben hin wecken möchten. [SPEAKER_00]: Ist relativ technisch, aber das erlaubt uns quasi einige Probleme zu lösen, wenn es um Effizienz geht. [SPEAKER_00]: Nen weiteres Problem, was wir außerdem mit Reftabels lösen wollen, ist, dass der Teisysteme erstaunlicherweise relativ komplex sind und vor allem die Art und Weise, wie der Teisystem fahre repräsentiert werden, je nach einer Betriebssystem auch ziemlich unterschiedlich sind.
[SPEAKER_00]: Das heißt, das Punkt geht Slash Raff Slash Hats Slash Mane-Balspielzwizer. [SPEAKER_00]: Das heißt, der Name der Referenz ist in der Taisystem, als Fahrt abgespeichert. [SPEAKER_00]: Funktioniert unter Linungsrelativ gut, wenn es aber beispielsweise in den Windows oder Mac OS hast, wurde in der Taisystem heißt, dass Case-Incensitif ist.
[SPEAKER_00]: Funktioniert es nicht mehr so gut. [SPEAKER_00]: weil der beispielsweise keine zwei Branches haben kannst, wo einfach nur das Kasing unterschiedlich ist. [SPEAKER_00]: Unterliegen uns kannst du das haben. [SPEAKER_00]: Und dem entsprechende kannst du das auch beispielsweise auf GitHub oder GitHub hochpushen.
[SPEAKER_00]: Aber wenn der niemand jemand unter Windows das runterfetschen möchte, dann hat er ein bisschen Problem. [SPEAKER_00]: Weil er hat nicht mehr in seinen Dateisystemen strukturieren kann. [SPEAKER_00]: Und das ist auch ein wesentliches Problem, was mit RafTabels nicht mehr existieren wird, weil dort die Referenzennahmen in den Minierformat gespeichert sind und nicht mehr als Teil des Dateisystems fahrtes.
[SPEAKER_02]: Ich wollte gerade fragen und die Frage hast du mir eigentlich schon beantwortet, mit dem auch bedam letzten Kommentar, ob das etwas ist, was ein Fickler in den aktiven Märkten oder ob das eher so ein Unter der Haube-Thema ist. [SPEAKER_02]: Ganz lange habe ich gedacht, unter der Haube bis zu dieser Case-insensivität.
[SPEAKER_02]: Dabei sagen, okay cool, dass er möglichst ja ein neues Feature auf der anderen Seite frage ich mich gerade, fixet ihr damit Sachen, die in Feisystem eigentlich gar nicht möglich sein sollen. [SPEAKER_02]: So so Case-insensivincentive Falsysteme finde ich ein bisschen schwierig. [SPEAKER_02]: Das nervt mich hierisch.
[SPEAKER_00]: Viel schlimmer ist ja noch Windows muss man sagen, weil unter Windows hast du nicht nur das Problem, dass du kälsen-Sensitive bist, sondern das Windows die auch gar nicht erlaubt, viele verschiedene der Teilnahme überhaupt erst zu erst stellen. [SPEAKER_00]: Ist dann beispielsweise so, was wie kommen eins oder APT?
[SPEAKER_00]: Weil es irgendwann mal zu doszeiten, speziell der Teilnahme waren, die für bestimmte Funktionalität reserviert waren, das heißt, du kannst kein Brandscham, der kommen eins heißt. [SPEAKER_00]: Okay, also also jede Keywords haben wir hier. [SPEAKER_00]: Das muss sich jetzt auch noch nicht richtig.
[SPEAKER_00]: Enttät fs ist ein sehr, sehr interessantes Datei System würde ich insgesamt sagen. [SPEAKER_00]: In der Wesse ist er auch immer noch das Fall System, was noch Windows aktiv genutzt wird oder aktuell? [SPEAKER_00]: So weit, ich weiß ja. [SPEAKER_00]: Ich weiß, dass es mittlerweile auch Möglichkeiten, gibt bestimmte Features in NTFS zu ändern.
[SPEAKER_00]: So dass beispielsweise Reservierte der Teilnahme oder so was nicht mehr existieren, meines Wissens nach, aber ich bin also im Mai im Alltag immer nur Linux, [SPEAKER_02]: Ja, er gut, aber ich meine, die vollsettings werden ja von den meisten nur nicht geändert auf, besonders nicht auf falses Themen, also deswegen, wie es sagen, die kann man halt schon als Stammplatz sitzen.
[SPEAKER_00]: Ja, ja. [SPEAKER_02]: Auf jeden Fall. [SPEAKER_02]: Ein weiterer großer Dritterpunkt, den du in einem Fussentwerk angesprochen hast, waren große Dateien, oder besserer Support für größere Dateien im Ingetriepositorys. [SPEAKER_02]: Und auf Basis meines Wissens nach haben da besonders Leute, die irgendwie spiele entwickeln, [SPEAKER_02]: Weil die natürlich die ganzen Grafikssetz und Kohler generell binary Dateien in gibtere Positionaries.
[SPEAKER_02]: Beinere Dateien kann man ja auch nicht so wirklich gut diffen würde ich mal sagen. [SPEAKER_02]: Also geht bestimmt, wirst du gesagt sagen, aber meines Wissens nach. [SPEAKER_02]: Ich versuche immer latscheinere Files zu verhindern, weil dieses ganze Gehässel mit was nutzt man auch so total geht LFS und Kohle.
[SPEAKER_02]: Das klingt immer wie so ein Placke in der dran, das war immer so ein bisschen so ach. [SPEAKER_02]: Nussertät sein, erklären wir uns mal bitte, was ihr da vorhabbeziehungsweise welches Kernproblem ihr eigentlich jede divisiert habt. [SPEAKER_00]: Also erst mal zu geht LFS, ja, es ist genau das, es ist am Plagen, es ist halt nicht offizierler Bestandteil von geht, sondern es ist komplett extern entwickelt.
[SPEAKER_00]: Und dafür muss man sagen, funktioniert GIT LFS erstaunlich gut. [SPEAKER_00]: Was es nämlich macht, ist, dass das quasi anstatt die einzelnen Binjärtertein wirklich in die Kommitthistorie reinzusprechen und dadurch in dem einzelnen GIT Repository zu speichern, speichert es einfach nur ein Pointer auf diese Datei.
[SPEAKER_00]: Und lete diese Datei dann sieb auf einen separaten LFS zur Wand nach oben. [SPEAKER_00]: So das, dass eigentlich Repository gar nicht mehr deutlich größer wird, durch diese Binärtertein und trotzdem in der Lage ist, zu einem späteren Zeitpunkt sich und die Mann, die großen Dateien runterzuladen, wenn es möchte.
[SPEAKER_00]: Hat aber halt einige Probleme, wie das schon meites ist, ist es halt erst mal den Et-On, das heißt, den Server muss es unterstützen, auch wenn es die Meistenshörber mit Lawade tun, aber wenn du jetzt, wie wir vorhin schon gesagt hatten, wenn du einfach nur eine GIT-Executivebel auf dein eigenen Server umzufliegen hast und dann einfach per SS-Har reingest.
[SPEAKER_00]: Dann wirst du damit kein LFS-Pock bekommen und das ist natürlich nicht so prickend. [SPEAKER_00]: Zu wälzig musst du dann noch Sachen machen wie beispielsweise der LFS-Git-Attivirus fliegen. [SPEAKER_00]: So dass du... und gibt LFS-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S- [SPEAKER_00]: Wenn die Konfiguration nicht stimmt, dann hast du jetzt aus Versehen doch eine Beine und eine Beine Datei in dein Repository, was das Repository für immer größer machen wird.
[SPEAKER_00]: Und wenn es dann aus Versehen mal eben 500 Megawait waren und dann an einem Tag an einem anderen Tag noch mal aus Versehen 500 Megawait und das leppert sich dann über die Zeit, dann hast du halt irgendwann auch wieder einen Repository, da es viele, viele Gigabyte groß ist und du bekommst diese Beine Datei nicht mehr raus aus geht.
[SPEAKER_00]: und dass du die komplette historie einmal komplett neu schreibst und quasi eine Migration machst. [SPEAKER_00]: Und das ist halt super, super Schmerzhaft, so was zu machen. [SPEAKER_00]: Und deswegen ist halt unser Ansatz, dass wir wollen, dass so Tools wie geht LF es gar nicht mehr nötig sind.
[SPEAKER_00]: Sondern dass du stattdessen in der Lage bist, einfach eine Bienerderteil in Getreien zu schmeißen und geht damit umgehen können. [SPEAKER_00]: Dazu gehören es mal ziemlich viele verschiedene Komponenten. [SPEAKER_00]: Es ist nicht ein einiges Projekt und es ist alles getan, sondern da müssen wir in Gits einige Änderungen machen.
[SPEAKER_00]: Das fängt es einerseits an beim Kassplattenformat. [SPEAKER_00]: Das heißt, wie speichern wir überhaupt Objekte? [SPEAKER_00]: Also, dass sie auch effizient gespeichert werden können, auch wenn die einzelnen Datein gigerweitsgroß sind oder dutzende von gigerweitstaweise sogar. [SPEAKER_00]: Geht dann aber auch weiterhin bis die handeln wir sowas überhaupt effizient auf der Serverseite.
[SPEAKER_00]: Wie geschaffen wir, dass wir effizient zum großen Binär Dateins zwischen der Kleinsite und der Serverseite überhaupt. [SPEAKER_00]: Austauschen können, beispielsweise, wenn sich jetzt nur ein Beit oder so was in der in einer sehr großen Biennale Datei genet hat, wird's nicht komplett so eine neue Version am Rüber schieben müssen, sondern du willst im Idealfall quasi nur eine minimale Änderung rüber schieben können und da brauchen wir halt auch noch mal Änderungen in geht selber um quasi das Remote Protokor, also das Video kleint und das Hörver miteinander reden, dass wir das ein bisschen adaptieren können.
[SPEAKER_01]: Aber das ist ja auch, als Grundprobleme grundsätzlich, dass du den DIV-4 bei Benerdaten eigentlich gar nicht machen kannst, oder? [SPEAKER_01]: Also bei den klassischen, bei den meisten Benerdformaten zumindest es ändert sich ja wirklich die gesamte Dateide. [SPEAKER_01]: Das ist ja auch das große Problem bei den Spielern, die halt irgendwelche Schäder oder sonstige Dinge haben, die in der endestore halt ein Pixel und gesamte Benerdatei ändert sich.
[SPEAKER_01]: Also praktisch, ja dann sogar irgendwie DIV-Tools, die DIV-Vereinblickchen könnten in die Benerdatein, damit du es effizient über Timbekomst. [SPEAKER_00]: Stimmt 100% und hier muss man auch sagen, es kommt wieder sehr stark darauf an was für einen Artenpunkt bin er da teilen du hast. [SPEAKER_00]: Es gibt bin er da teilen, da hast du das Problem nicht.
[SPEAKER_00]: Da kannst du quasi einfach ganz vorne irgendwann beitenden und dann würd sich der Rest trotzdem nicht werden. [SPEAKER_00]: Und das ist unser erstes Ziel, erst mal daran zu gehen und quasi zu schaffen, dass solche bin er da teilen, effizient auch übertragen werden können. [SPEAKER_00]: Aber das andere Problem, dass sich dann wirklich die komplette Datei ändert.
[SPEAKER_00]: Da musst du dir in Nährchen und wir anfangen mit Semantischen Diffs zu arbeiten. [SPEAKER_00]: War ansonsten kannst du gar nicht oder ansonsten kein Gid gar nicht effizientenen Diffberechnen. [SPEAKER_00]: Aber das ist dann quasi noch mal ein Problem, was ich erst mal bewusst in die Zukunft schiebe, weil das dann nochmal deutlich komplexer werden wird.
[SPEAKER_01]: Also ihr plant jetzt keine externen Semantischen Diffdules irgendwie ein Bindbar zu machen oder so. [SPEAKER_01]: Es ist so weit geht das Ganze noch nicht, oder? [SPEAKER_00]: Naja, es gibt schon so Port in Git für Semantische Deftools, die du einbinden kannst, es gibt so genannte Differn-Murchstriver, die du in Git haben kannst, die sind aber kleinzeitig.
[SPEAKER_00]: Das heißt du kannst in Git eine Git-Ertibielzerteil, was sie so schreiben, dass du sagst, eine bestimmte Dateibe, was ich mit was eine PNG-Derteil sollen mit einem Image-Defing-Tool githift werden. [SPEAKER_00]: Das ist dann aber, wie gesagt, dass man ein kleinseitiges Fiecher, so dass du quasi, als Endanwender sehen kannst, was hat sich denn das eigentlich geändert in meiner Pienen?
[SPEAKER_00]: Gehde, das sind quasi einen kleiner, bereichende Pienen, Gehde, Teil, um viel geheilertet wird. [SPEAKER_00]: Und jetzt zeigen, dass sie hat sich geändert. [SPEAKER_00]: Endert aber erst mal nichts an dem anderen Problem, dass du quasi immer noch schaffen müssen, irgendwie auch die Objekte, also die Objekte ist, effizient berechnen zu können und auch zwischen kleinen und Serverseite austauschen zu können.
[SPEAKER_01]: Und das Ganze ist auch für geht trainul geplant, oder ist das komplett separatisch Projekt? [SPEAKER_00]: Das ist erst mal eine separatisch Projekt, weil wie ich schonmeite, dass es viele verschiedene Sachen, die wir angehen müssen. [SPEAKER_00]: Und ich habe jetzt seit einen halb Jahren, wenn ich dabei am Arbeiten Nancy Plagbel-Obschirter dabei ist.
[SPEAKER_00]: Am Esquasi die Möglichkeit, dass Beckland wie Objekte gespeichert werden, komplett auszutauschen. [SPEAKER_00]: Wohann ich es quasi konkret arbeite, ist erst meinen ordentliches Interfacing geht zu schaffen. [SPEAKER_00]: Um zu sagen, ja, wenn man in Lähe das abstrahiert, wie wir auf Objekte zugreifen können, sodass wir dann im Nachhinein sagen können, wie Tauschen dieses Lähe ausgängern, anderes Lähe, was wir in den Anderes der Teil vom Attragen können.
[SPEAKER_00]: Und sobald wir diese Möglichkeit haben, haben wir erst, was sie einfacher Möglichkeiten, auch einen Fizienteres Format zu implementieren. [SPEAKER_02]: Ich steh mir gerade die Frage und dies sehr wahrscheinlich sehr simpel gestellt und dort die komplexe unter der Haube. [SPEAKER_02]: Aber wäre es nicht möglich, dass man komplett auf Beinrider teilen oder auf der Teinen größer einen MB oder wirken umschwellen wird, sagt, ab hier, aber in wir nur noch mit Lazy loading, das bedeutet das auch beim [SPEAKER_02]: Klon, Fetch und Co, einfach die Dateien in die Zeit einfach mal gar nicht übertragen werden, sondern die liegen irgendwo auf einem Objects Storage bei euch auf dem Server, oder bei dem vor Ort auf dem Server.
[SPEAKER_02]: Und wenn der Kleint draufzugreift, dann findet das Lazyloading das Fetching statt, weil dann könnte man sagen, kann man reduziert den Netzwerk Bandbreite enormst und die Annahme wäre jetzt hier, dass die großen Beinwilderteilen selten angefasst werden. [SPEAKER_00]: Und das ist auch genau eine der Sachen, eine der großen Projekte, die wir momentan angehen.
[SPEAKER_00]: Und da gehen wir auf wieder ein bisschen zudem eigentlichen Thema, wird jetzt eigentlich im Zentraler, wird es. [SPEAKER_00]: Genau durch solche Probleme. [SPEAKER_00]: Hier größte deine Repositories werden, dass du mehr Muskelteilten bis in Zentraler werden, weil du halt irgendwann quasi den Lotn nicht mehr handeln kannst.
[SPEAKER_00]: Du kannst keine Repositories lokal haben, wie 500 Gigabyte groß sind. [SPEAKER_00]: Es passt bei vielen Entwicklern gar nicht mehr auf die Festplatte auf. [SPEAKER_00]: Und das, was du gerade beschreibst, gibt es tatsächlich schon um geht. [SPEAKER_00]: Das nennt sich erst mal Promiser Remotes bzw.
[SPEAKER_00]: Parcial Clones. [SPEAKER_00]: Das heißt, du kannst sagen, geht Kloen, der ist der Stasch Object Filter. [SPEAKER_00]: Nee, ich glaube, das ist der Stasch Filter, nicht Object Filter. [SPEAKER_00]: Und der kannst du quasi sagen, welche Objekte herausgefiltert werden, bei mir in die Zeit im Klaun.
[SPEAKER_00]: Kann beispielsweise genauso wie die gerade gesagt hast, jeder Blob dartei, die größt als ein Megabyte ist, zur herausgefiltert werden. [SPEAKER_00]: Es heißt, dass ein Gitglon, Däste, Schfilter, Equals, Blob, Kallen, Limit, Gleich, 1M. [SPEAKER_00]: Und dann wird es zu genau so einen Klaun bekommen, wo erst mal alle Objekte, größt als ein Megabyte rausgefiltert worden sind.
[SPEAKER_00]: Und jedes Mal, wenn du dann beispielsweise an anderer Kommit auschext, wo genau so einem Block der Ziffer benötigt wird, dann wird jetzt automatisch diesen Block von dem Remote Fetchen und dann einen Reimen legen. [SPEAKER_00]: Das Problem hier ist allerdings, dass es noch relativ komplex ist und ich würde behaupten, dass die wenigsten von paar Stöckleunzübergs schon mal gehört haben.
[SPEAKER_00]: Und die Frage ist vor allem auch, wie so genau soll dieser Filter jetzt eigentlich aussehen, weil je nach Server kann es ja beispielsweise auch unterschiedlich effektiv sein. [SPEAKER_00]: Der eine Server kann beispielsweise vielleicht ein gewisse Special casing haben für sehr große Biener oder Teilen, so dass die vielleicht irgendwo ganz voranders liegen.
[SPEAKER_00]: Das heißt, der Server weiß eigentlich, was ist der beste Filter für dich? [SPEAKER_00]: Und da gehen wir jetzt an die large object promised dasrandes. [SPEAKER_00]: Es ist ein Fiecher, was wir gerade sind, in gibts, dabei sind in gibts zu implementieren. [SPEAKER_00]: Und die Idee dahinter ist, dass der Server, wenn ein kleinten Fedschland klauen macht.
[SPEAKER_00]: Die Miteilt, guck mal, dass in meine promised und remote, die ich kenne. [SPEAKER_00]: Und das sind die jeweiligen Filter, die in diesem promised und remote dran hängen. [SPEAKER_00]: Du kannst dich jetzt das zu entscheiden, ein von dieser Promesser oder alle von denen zu benutzen. [SPEAKER_00]: Das heißt, du würdest dann auf der Kleinsighten und dann sagen, geht Kloen, Filter, Auto und da wüsste automatisch war sie in den Idealen Filter benutzen, der dann in deine Konfiguration von Gidgespeichheit wird.
[SPEAKER_00]: Und von da ausgehen, wüsste dann immer die Remotes benutzen, die der Server oder die Promesser Remotes benutzen, die der Server, die er genannt hat. [SPEAKER_00]: Das ist noch nicht komplett fertig. [SPEAKER_00]: Die Paarschwicklungs funktionieren. [SPEAKER_00]: Auf die Lodge Object Promissors machen wir es gerade noch so die finalen Schritte.
[SPEAKER_00]: Also das war sie dann auch die Konfiguration wirklich auf der kleinen Seite auch persistiert wird. [SPEAKER_00]: Wenn der Server die sowas entnauzt, mehr der weniger. [SPEAKER_02]: Diese Episode gibt mir ganz komischen Weib, muss ich sagen. [SPEAKER_02]: Auf der einen Seite habe ich gerade ganz kurz gedacht, ich bin an was ganz groß und ran.
[SPEAKER_02]: Also mit das sehr fatriköser an die hat recht, das wird jetzt als Zeteraler und so weiter. [SPEAKER_02]: Ich hoffe, ich bin hier an was ganz groß und ran. [SPEAKER_02]: Für anderen Seite kommt er damit Features und wie ekke. [SPEAKER_02]: Und ich habe gerade so das Gefühl, ich habe keine Ahnung, was geht es.
[SPEAKER_02]: Ich benutze so jeden Tag meine 6, 7, 8 befehle und du haust ja partialtloenskantig, shallow-cloneskantig, bearer-positoris, all die kantig, demartigen kantig, aber das was du gerade erzählst, da bin ich einfach raus. [SPEAKER_02]: Also es ist schon schon faszinierend. [SPEAKER_02]: Aber du gibst ja auch ein gutes Gefühl, nachdem du nämlich gerade gesagt hast, ob geht du aber das schon mit geht so lange und du lernst immer noch irgendwelche Kommante ein Flex oder nicht es kennen.
[SPEAKER_02]: Was ich aber auch interessant fand, dass du gerade zum Beispiel bei den RefTabels tunst und erwähnt hast, jetzt kommst du mit Plagabel Object databases um die Ecke, das gibt mir so ein bisschen, also ich nenne jetzt mal Object Storage Weibs, ja, so Amazon S3 und Co, also es bedeutet, habt ihr dann vielleicht eigene Art Tier Storage als File Backend-Späten hinter den Rannen im Git, und da frage ich mich natürlich, und ich frage ich, ich finde das schön zu sehen, dass [SPEAKER_02]: ziemlich viele Elemente, die, weil sich nicht aus verschiedenen Bereichen kommt, tunst du um's komplett aus der Datenbankwelt, um die Lieds ebenfalls effiziert dazu gestalten, Objects Storage, keine Anung.
[SPEAKER_02]: Du misst alle Datenbanken binden, das ist gerade auch ein. [SPEAKER_02]: Du kannst fast, kannst der Bellen auf Objects Storage legen, oder Tierstorage, ist ja schon eine Ewigkeiten in der Datenbankwelt. [SPEAKER_02]: Da finde ich schon interessant, dass auch sowas mehr oder weniger, ja, [SPEAKER_02]: kleint seitiges lokales und natürlich wie gibt es anminute klar, dass es alles auch server seid ihr hier, aber interessant, interessant wie viel Inspiration nehmt ihr euch denn aus der Datenbankwelt oder aus der ja aus anderen segmenten der Entwicklung informatik.
[SPEAKER_00]: Ich würde sagen zu wenig deutlich zu wenig, eines der wesentlichen Probleme, die wir vor allem hatten, ist das geht relativ lange Zeit ziemlich stark nandweilen seiner Entwicklung. [SPEAKER_00]: Das heißt, ich würde behaupten, wir haben ein bisschen zu lange gesprochen. [SPEAKER_00]: Wir haben quasi gesehen, dass es Kalierungsprobleme gibt.
[SPEAKER_00]: Aber wir haben immer weiter daran rungen geschraubt. [SPEAKER_00]: Unser Lokal ist, ob die man was wir hatten, weiter zu optimieren. [SPEAKER_00]: Hier vielleicht noch mal eine wesentliche Optimierung zu machen in der Art und Weise, wie wir alles handeln, da noch eine kleine Optimierung.
[SPEAKER_00]: Und es hat dann auch oftmals geholfen, die Probleme, die wir dann akut hatten zu beheben. [SPEAKER_00]: Als hat das nicht so wirklich geholfen, wirklich auf die langfristigen Probleme zu handeln zu können. [SPEAKER_00]: war sie mit der wachsenen Größe an Repositives auch weiterhin umgehen zu können, weil mit lokalen Optimieren kommst du halt nur so weit.
[SPEAKER_00]: Und deswegen kommen halt vor allem so eine Sachen wie Rath Tabels und jetzt halt auch Plageable Object der Dabases und da ist natürlich meine Idee auch, ich möchte nicht immer das Rad neu erfinden. [SPEAKER_00]: Ich möchte halt auch einfach mal Technologien benutzen, die schon existieren, wie der schon meinte ist, Blob Storage oder Object Storage, S3.
[SPEAKER_00]: Warum benutzen wir sowas nicht? [SPEAKER_00]: Warum können wir sowas nicht mal eben benutzen? [SPEAKER_00]: Naja, weil Githil dafür ursprünglich nicht Design wurde. [SPEAKER_00]: Es ist halt 20 Jahre alt, und vor 20 Jahren gab es das Zeugs alles noch nicht so wirklich. [SPEAKER_00]: Gleich meine Datenbanken gab es natürlich schon.
[SPEAKER_00]: Und wahrscheinlich gab es auch schon Tumsderns. [SPEAKER_00]: Aber gerade am Anfang wurde er erst mal quasi alles sehr speziell nur vergitteln wiekelt. [SPEAKER_00]: Und da sind wir es halt gerade. [SPEAKER_00]: Das heißt, wir müssen jetzt erst mal aufschließen, quasi mit der Industrie.
[SPEAKER_00]: Und die Möglichkeit zu geben, denn auch aktuelle Trends, vielleicht für Giz zu benutzen. [SPEAKER_00]: Und dadurch besser skalieren zu können. [SPEAKER_01]: Wobei muss er als Datenbankfein nach Einwaffen, es gibt ja auch die Umgekehrtisseite so wie Gidbattler zum Beispiel, die dann Gid als Datenbank verwenden.
[SPEAKER_01]: Also, was die in Metadaten und so weiter haben, speichern die alles, also die bis Brauchung fast Gid, um dort drin dann alle Daten zu sprechen. [SPEAKER_00]: Ich muss sagen, ich freue mich sehr darüber, dass gibt Badler genannt wird, weil ich die Firma super gerne im Markt habe, mit den viel zu tun und auch mit dem Scott habe ich schon regelmäßig über die ganzen thematiken gekwarz und sie gehen halt auch viele neue Wege im Getprojekt und versuchen auch wieder so ein bisschen Innovation reinzubringen.
[SPEAKER_00]: Und ja, man sieht das definitiv, dass viele Projekte auch Getbadler versuchen alle möglichen Meter Daten in jetzt reinzuspalten. [SPEAKER_00]: Und man sieht auch beispielsweise auf der Githmetingliste. [SPEAKER_00]: Komm immer mal wieder, Leute, Rang, die sagen, hier gucken mal, ich will eine Datenbank implementieren.
[SPEAKER_00]: Ingit mal, geht mir schon so viele Sachen. [SPEAKER_00]: Git beispielsweise Bersennierung. [SPEAKER_00]: Und dann brauchen ich mich ja und so viel anderes gar nicht mehr zu kümmern. [SPEAKER_00]: Man muss aber auch dazu sagen, geht es kein universelle Datenbank. [SPEAKER_00]: Du wirst halt Probleme haben, in geht's diese halb mit einer ordentlichen Datenbank.
[SPEAKER_00]: Lösung nicht haben würdest. [SPEAKER_00]: Weil geht's einfach nicht dafür gemacht. [SPEAKER_00]: Es gibt es halt eine sehr, sehr spezielle Datenbank, die für ein ganz konkretes Problem gebaut würde, in z.B. [SPEAKER_00]: Versionskontrollsysteme und Versinierung davon. [SPEAKER_00]: Dementsprechend ist man kommt wahrscheinlich ein bisschen gewissen, gerade auch wirklich voran, wenn man geht als Datenbank benutzen möchte.
[SPEAKER_00]: Aber Ideal ist dafür nicht und ich rate immer jeden davon davon auf wirklich Abstand zu nehmen und vielleicht nur ordentliche Datenbanken zu benutzen für das Problemen lassen lassen möchten. [SPEAKER_00]: Weil sie ansonsten sehr schnell auch an das Kalierungsprobleme ran kommen werden, wenn sie halt so sehr Datenbankspezifische Probleme lösen wollen.
[SPEAKER_01]: Jetzt hast du ganz am Anfang schon gesagt, was wir uns wirklich anschauen sollten ist in der Active Re-Base. [SPEAKER_01]: Wenn du jetzt in die Zukunft blickt, 27 und 20 auf welches Feature freust du dich am meisten, dass dann alle Entwickler sich anschauen müssten? [SPEAKER_00]: Ich hatte es ja schon einmal ganz kurz erwähnt.
[SPEAKER_00]: Gedhistory ist so eines der neuen Tools, die ich sehr interessant finde. [SPEAKER_00]: weil wir mit Gethistory versuchen, die User-Billity so ein bisschen gerade zu ziehen in geht. [SPEAKER_00]: Geht es jetzt ziemlich bekannt dafür, dass das User interface jetzt nicht unbedingt das Gelbe vom I.S.
[SPEAKER_00]: sondern doch viele verschiedene Stellen hat, wo man denkt, könnt ihr natürlich durchaus besser sein, könnt ihr durchaus Konsistenter sein und so weiter. [SPEAKER_00]: Und Gethistory wird es nicht alles auf einmal Konsistent machen, es geht gar nicht so wirklich, weil in einer Geht es halt organisch gewachsen über viele Jahre und mit einem weiteren Kommand, wird man jetzt nicht alles andere Konsistent machen.
[SPEAKER_00]: Aber was hier mit Get History machen wollen, ist halt ein einfaches Toolbereitstein, mit dem du deine Repository History anpassen kannst. [SPEAKER_00]: Das heißt, es wird Sapkommansbereitstein wie beispielsweise ich möchte die Kompetenmessage anpassen. [SPEAKER_00]: Ich möchte einen kompeten ausblitten in zwei.
[SPEAKER_00]: Ich möchte Kompeten Reordern, ich möchte mehrere Kompeten zusammenmergen in eins. [SPEAKER_00]: Und so weiter. [SPEAKER_00]: Und zusätzlich eine weitere Sache, die Gethistory auch anders macht, als get rebase. [SPEAKER_00]: Ist das, die Idee dahinter ist, dass es Steck Branch Brookfluss erlauben soll.
[SPEAKER_00]: Steck Branch ist quasi, dass man mehrere Branches hat, die offen an der Aufbauen, wo man quasi gleichzeitig ist, die alle zu entwickeln. [SPEAKER_00]: Und irgendwann, dann quasi nach und nach die einzelnen Branches, [SPEAKER_00]: abstrengend. [SPEAKER_00]: Das heißt es allerdings, wenn ich es quasi mehrere Branches habe, die offener aufbauen und ich am untersten Branches irgendwie was anpassen, muss sich alle Branches die darauf aufbauen, auch noch mal rebasen, das natürlich super super nervig ist für den Nutzer.
[SPEAKER_00]: Und get History geht quasi einen anderen Weg und sagt, wenn du die CommitMessage von einem Commit im ersten Branches anpasst, wenn automatisch alle anderen Branches auch gerepasst. [SPEAKER_00]: sodass die quasi den neuen Kumbit auch mitbeinhalten. [SPEAKER_00]: Der Nutzer muss sich nicht mehr damit selber auseinandersetzen.
[SPEAKER_00]: Da wird es noch einige weitere Sachen geben, an dem wir arbeiten werden. [SPEAKER_00]: Vor allem sind viele Features da vor ein Jiu-Jitsu. [SPEAKER_00]: Ein bisschen inspiriert, was eine relativ neue Gigcompatie-Blaug-Mandline-Kleint ist. [SPEAKER_00]: heißt, wir wollen beispielsweise über das wie First Class Conflict haben, dass du quasi konflikte auch direkt in der Gitthistorie erst mal abschweichern kannst und direkt weiter machen kannst, sodass du die Konflikte erst in einem späteren Zeitpunkt wirklich beheben kannst.
[SPEAKER_00]: Change IDs werden da unter Umstand auch von Relle Wanzern, wo eine Change-Adiq-Vasenden-Identiffeuer für einen bestimmten Kommit ist, das ich aber nicht ändert. [SPEAKER_00]: Weil wir immer für uns schon gesagt haben, erst mal die Objekten-Nahme, also die Object-Eides, die von dem Hash ausgehen, [SPEAKER_00]: Das heißt aber auch, wenn du den Kommit irgendwann endest, wird sich natürlich den Namen des Objektes auch ändern.
[SPEAKER_00]: Die Change ID allerdings wird konstant bleiben. [SPEAKER_00]: Das du den gleichen Kommit dann über die Change ID Referenzieren kannst, ohne dass ich das irgendwie ändert. [SPEAKER_00]: Das heißt, wenn ich den Beispielsweise umgeschrieben habe, kann ich weiterhin die gleiche Change ID benutzen.
[SPEAKER_01]: Wann werden wir die Githysteree verwenden können? [SPEAKER_00]: 2027-Keräusche gesagt, das sollte er dann halten, geht es früher auch noch in zwei Wochen, kommt die nächste Githylsuren raus, und da ist der erste Stand von Githysteree mit drin. [SPEAKER_00]: Okay, perfekt. [SPEAKER_00]: Das ist ja eine Anzeige.
[SPEAKER_00]: Ich glaube, es ist tatsächlich drei Wochen kennenzwei Wochen. [SPEAKER_00]: Aber auf jeden Fall bald, aber Get History wird Anfangs erst mal sehr eingeschränkt sein. [SPEAKER_00]: Es gibt Anfangs erst mal nur zwei Subcommands sein. [SPEAKER_00]: Das ist einerseits Get History Weward, um halt die CommitMessage um erinnern zu können.
[SPEAKER_00]: Und dann ist es andererseits Get History Split, um einen Commit in Zweikomit aufzusplitten. [SPEAKER_00]: Das ist es erst mal. [SPEAKER_00]: Wir werden in nächsten Release-Zyklus aber weiter daran arbeiten und mehr Kommands implementieren. [SPEAKER_01]: Aber das ist noch der normalen 2er Branche, 2, ganz normale Version.
[SPEAKER_00]: Es ist ja keine Rückwärtsincompatible Änderungen, sondern es ist ja einfach nur ein weiterer Befehlt, der hinzugefügt wird und das kann man ja auch einfach an einem ganz normalen Release machen. [SPEAKER_02]: Rufgang, nicht immer fordern, ja, auch mal machen. [SPEAKER_02]: Ich bin mir sicher, dass wenn du den Patrick Fras, ob der die man eine Stunde Code-Einführung in Gid-Gibt... Im Perfoltes wird sein.
[SPEAKER_02]: In was auch immer, du hast gerade gesagt, Paul war deine erste Programmiersprache und du bist fast Fluent drin. [SPEAKER_02]: Also, wir haben würde ich sagen, du bist willkommen als nur, weil ich hätte das etzimboll, ja. [SPEAKER_02]: Als Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid-Gid- [SPEAKER_00]: Wir haben immer noch mal sagen, in einer Stunde kommt man dann nicht allzu, weil da es die Git-Kopas dann doch ein bisschen zu kompliziert und komplex.
[SPEAKER_02]: Ja gut, also ich würde dem Wolfi schon erwarten, dass der dann immer Klau-Kot-Kot-Gruber jagged und sagt, ich kleme immer ein bisschen die Grundfeile hier von der Kot-Base und dass da ja dann für die Stunde für Git mit gezielfrag auf die Zukunft. [SPEAKER_01]: Jetzt haben wir gedacht, wir schaffen der Episode ohne dem Wort, irgendwas mit AI, jetzt hast du es wieder versaut an die.
[SPEAKER_01]: Nee, ich hab's nicht versaut. [SPEAKER_02]: Ich motiviere dich jetzt endlich mal zu geht zu kontypulten. [SPEAKER_02]: Damit wenn du mich getestet, wie ich schneller bekomme, können. [SPEAKER_02]: Jeder an der immer sagt, ich werde mir das am Wochenende einmal anziehen. [SPEAKER_02]: So ist das jetzt nicht auf.
[SPEAKER_02]: Welches Wochenende ist dann andersach. [SPEAKER_02]: Das lustige ist und wie komm jetzt auch zum Ende dieser Episode. [SPEAKER_02]: Das lustige ist der Patrick und der Wolfgang und nicht. [SPEAKER_02]: Wir hatten im Vorgespräch. [SPEAKER_02]: So darüber gesprochen. [SPEAKER_02]: Also man, wir haben noch gar keine Episode zum Einstieg zu geht, was es geht eigentlich, wie funktioniert geht unter der Haube, wie man so eigentlich da ein eigenes Getre-Pository mit fünf Schäbel fehlen und so temategen und was es eigentlich gibt, was passiert.
[SPEAKER_02]: Aber ja, nee, haben wir den Patrick gleich hier, da kann man ja keine geht Basis vollgemacht, dann lassen wir ein bisschen tiefer gehen und jetzt komme ich aus dieser Episode aus und fühle mich wie ein totaler Anfänger. [SPEAKER_02]: Ich hab das Gefühl, das war so, die geht Basis vollgefühl mich. Aber wann denn und ich hab mich auch immer gefragt?
[SPEAKER_02]: Warum hat Git als Command-Line Parameter bei manchen befehlen, prozelanderen? [SPEAKER_02]: Was ist das? [SPEAKER_02]: Und jetzt habe ich es verstanden. [SPEAKER_02]: Ich habe immer noch ein bisschen Git-Internalsbuch mit Plumber und Post-Larm mit dem Felschupfuhl und so weiter zu lesen.
[SPEAKER_02]: Wahnsinn. [SPEAKER_02]: Das ist auf jeden Fall etwas, was ich nicht mehr vergessen werde. [SPEAKER_02]: Und ein paar Regeln, vielen, vielen Dank. [SPEAKER_02]: Ich denke, wir haben auch ein paar gute Themen auf der Saison, weil die meisten Leute, glaube ich, gar nicht so auf dem Schieren, haben.
[SPEAKER_02]: Ich würde sagen ja 99, weil sie nicht wie viel Prozent der Leute arbeiten kleinseitig. [SPEAKER_02]: Vielleicht hosset der ein oder andere vielleicht ein Fortsch, aber ich glaube, mit den ganzen Themen über die wir gesprochen haben, kommen die meisten dann auch nicht in Berührung, wenn man lasst, die ganze Sache nicht als meine professionelle Ambietrohretnern sehr großen Stille.
[SPEAKER_02]: Warric, vielen, liebe'n Dank, dass du die Zeit genommen hast, mit uns über Gitze sprechen, einzelne Lieblingsthemen. [SPEAKER_02]: Und wir haben natürlich auch in den Shownodes, ätliche Links, Vergraben, unter anderem auch zu deinem Vostellen-Torg, er wollen Gitvose Next Decade, wo, ja, ich würde fast sagen, ziemlich viele oder fast alle der Themen, wie wir heute besprochen haben, auch Anklang finden, vielleicht nicht die Diskussion über zentrale Repositories, aber noch gut.
[SPEAKER_02]: Ja, vielen Dank. [SPEAKER_02]: Hast du noch einen letzten Satz für unsere Hörin und Hörin? [SPEAKER_00]: Ich glaube, das wesentliche, was ich gerne noch mitgeben möchte, ist, dass geht's sich nach wie vor verändert. [SPEAKER_00]: Dann viele, widersche meint, dass viele Leute sagen, ich bin jetzt meine fünf Befehle und ansonsten ändert sich ja einen Gett absolut gar nichts.
[SPEAKER_00]: Stimmt aber nicht so ganz. [SPEAKER_00]: Wir arbeiten daran viele Sachen effizientermaßen machen neue Use-Cases zu erlauben und geht es auf jeden Fall nicht eingestockt und nicht komplett eingerostet, sondern es gibt Fortschritt. [SPEAKER_02]: Super, das, äh, ich werde das ab dieser Folge das Change Lock vermehrt, lesen, das habe ich nur mich vorher zumindest nicht so gemacht, wie ich es tun sollte glaube ich.
[SPEAKER_00]: Ich kann nur sagen vor sich, denn der offizielle Change Lock vom Getprojekt ist relativ technisch. [SPEAKER_00]: Es ist meistens leichter die Blockpost von Getleppern getab zu lesen, weil die im bisseln tiefer Greinen steigen in die einzelnen Themen und auch so ein bisschen Kontext geben.
[SPEAKER_02]: Das ist doch mal ein Wunderfall-Lock-Tip für neue Leseschauf. [SPEAKER_02]: Patrick, vielen Dank an alle anderen. [SPEAKER_02]: Ihr wisst, wo Ihr uns findet, falls Ihr Feedback-Truser vorgehabt oder Feedback auch direkt an Patrick. [SPEAKER_02]: Schickt uns das einfach, wie Leitnerstätsel gehen, weiter.
[SPEAKER_02]: Ansonsten würde ich sagen, wir hören uns nächste Woche wieder. [SPEAKER_00]: Oh, just... Ciao! [UNKNOWN]: Ciao!