Am 07.12.2004 um 18:14 schrieb Klaus Füller:
Ich habe inzwischen fast 10 Images herumliegen, in denen ich editiere; in jedem Image gibt es mehrere Projekte, ... kurz: Ich blicke nicht mehr durch!
Wie macht das der Profi?
Ich habe fuer jede Sache an der ich arbeite ein eigenes Image. Diese baue ich auch in unregelmaessigen abstaenden komplett neu, auch um zu ueberpruefen, dass auch wirklich alles reproduzierbar ist.
(Ich mache aber eher komische Sachen, die ich durchaus nicht in anderen images sehen will, da sie zu stark ins system eingreifen)
| Einerseits will ich wild herumprobieren (vielleicht dafür ein gesondertes Image?) ...
Fuer experimente nehme ich immer ein neues image.
andererseits entsteht blitzschnell aus dem Herumprobieren etwas, das sinnvoll verwendbar ist. Wie kann ich das in ein sauberes "Produktions"-Image bekommen, ohne überflüssigen Ballast mitzuschleppen?
Du kannst die Interessanten Inhalte speichern, und dann im "stabilen" image laden. Das funktioniert mit typischen eToy sachen ueber das speichern von projekten, bei Smalltalk-Code wuerde ich entweder changesets oder Monticello verwenden.
Wie unterscheidet sich eigentlich das fileOut einer Klasse (oder einer Kategorie) vom Abspeichern eines Projekts?
Wenn Du ein Project speicherst, dann werden alle *Objekte* des Projektes direkt auf die platte geschrieben. Zusaetzlich wird noch das changeset gespeichert, das so heisst wie das Projekt.
Changesets: Das system schreibt alle aenderungen mit, die Du an den Klassen und Methoden vornimmst. Einmal landen diese im .changes file als immerwaerendes LOG (das ist ganz praktisch, denn man kann so nach einem crash alle aenderungen am code wiederherstellen). Zum anderen werden die aenderungen im aktuellen changeset mitgeschrieben.
menu-->open--> simple changesorter.
Das ist das tool, das alle changesets anzeigt, man kann neue erstellen und changes in dateien schreiben. Wenn man das macht, erstellt das System eine .cs datei. Diese enthaelt Smalltalk code, der alle die Aenderungen abspielt, die im changeset gespeichert waren.
Changesets haben vor- und nachteile. z.B. ist das arbeiten mit changesets in einem Team nicht sehr einfach. Es wurden dafuer andere Tools entwickelt, das aktuell am meisten verwendete ist 'Monticello', ein Quellcode-Versionierungs-Sytem (sowas wie CVS, das vielleicht jemand von anderen sprachen kennt. MC verfolgt andere Ansaetze, loest aber das gleiche Problem).
Wo finde ich eine Zusammenfassende Dokumentation zur Arbeit mit ChangeSets?
Gute Frage... das ist wieder das Problem der Dukumentation. Ich habe jetzt eine registierte Version von SnapzPro, damit kann man schoen filme erstellen, waerend man irgendwas z.B. mit Squeak macht... vielleicht komme ich mal dazu, fuer solche sachen kurze video - howtos zu machen.
Marcus