Ich bin ein Anfänger bei Pharo, und ich habe von Monticello und Metacello erfahren.
Soweit ich weiß, bedeutet Pharo, dass er nicht dateibasiert ist, dass man gängige Quellcodeverwaltungstools wie Git nicht direkt verwenden kann. Dennoch sehe ich einige Pharo-Repositories auf Github, wie zum Beispiel dieses .
Ist es möglich, die Cello-Versionierung auf Git zu sichern? Wie würde ein solcher Workflow aussehen?
Willkommen zu Pharo und ich hoffe, Sie genießen Ihren Aufenthalt und finden es sehr produktiv und lustig:)
Es ist möglich, weil Sie zuerst die Möglichkeit haben, Ihren Code in eine Datei zu exportieren, indem Sie eine Fileout-Aktion ausführen, und Sie können das Gegenteil auch tun, indem Sie Ihren Code mit einem File zurück in Pharo importieren. Das Problem ist, dass die Dateiauslagerung pro Klasse ziemlich viel Handarbeit erfordert. Aber ich habe diesen Ansatz ausprobiert und arbeite mit Git und GitHub.
Natürlich werden Sie schnell die Generierung von Dateien automatisieren wollen und hier kommt filetree zum Einsatz. Es bremst nicht nur Klassen, sondern sogar Ihre Methoden (Klasse und Instanz) in Dateien. Alles ist gut organisiert in einem einzigen Ordner, wobei jede Klasse ihren eigenen Unterordner und jede Methode ihre eigene st-Datei erhält, die eine normale Textdatei ist, wie man es von jeder Quellcodedatei erwartet.
gitfiletree, dass Damien erwähnt, ist im Grunde ein Client für Git wie magit ist für Emacs oder Smartgit. Es erlaubt Ihnen, monticello gui zu verwenden, um Ihre Git-Commits zu tun, obwohl Sie noch ein Terminal benötigen, um zu drücken. Der Nachteil von gitfiletree ist, dass es für Windows nicht funktioniert, da der OSProcess, mit dem Pharo eine Befehlszeilenanwendung aufrufen kann (was git wirklich ist), für Windows gerade nicht funktioniert, aber es ist nur eine Frage der Zeit.
Wenn Sie git bereits für das Terminal kennen und benutzen, brauchen Sie sowieso kein gitfiletree und alles, was Sie brauchen, wenn Sie Dateibaum sind.
Es ist nicht schwer per se für einen Anfänger, aber es könnte eine Herausforderung sein, aber im Gegensatz zu Damien würde ich nicht besonders entmutigen, wenn du bereits mit Git und GitHub vertraut bist.
Weitere Informationen finden Sie im Pharo für das Enterprise Book im Kapitel Git for Pharo
Ich benutze Gitfiletree in Macos, für mein Projekt Ephestos . Bis jetzt läuft es gut und ich habe wenig Grund, wieder in Smalltalkhub zu wechseln.
Es ist in der Tat möglich, git von Monticello zu verwenden, um Ihren Quellcode zu versionieren: Die Werkzeuge sind der Dateitreiber filetree, gitfiletree und gitfiletree. Dennoch sind diese Tools nicht für jedermanns Nutzung bereit. Es gibt keinen gut etablierten Workflow. Daher rate ich Ihnen als Anfänger von Pharo dringend davon ab, eines dieser Tools noch zu verwenden.
Tags und Links git smalltalk pharo version-control