So far coding solo with git and filetree has been painless and straightforward for me, I use github for public and gitlab for private projects. I do not use configurations other than copy pasting one for adding my project in Package browser. I do not use versioner because a simple copy paste is enough. I do not use iceberg I prefer my favourite git client "gitup". My experience has been both simpler, easier and far more reliable than working with the pharo vcs and smalltalkhub. But I was already familiar with git because I was already an experienced python coder , and still am, way before working with Pharo. I have made a tutorial about Pharo and git that can be viewed here. Its with sourcetree not gitup because gitup is only available for macos and I wanted to make a tutorial that would work on all 3 major desktop OSes. https://www.youtube.com/watch?v=n2WNYDtO0cE On Thu, May 11, 2017 at 9:56 PM Thierry Goubier <thierry.goubier@gmail.com> wrote:
Le 11/05/2017 à 20:52, Stephane Ducasse a écrit :
Joachim
many people are using Pharo to develop ***COMPLEX*** Pharo applications and it works. They use monticello and metacello and it works. So you do not have to have Github to make great software in Pharo.
Now in addition many people are using github to build complex applications with github.
And people have been building complex applications with Monticello, Metacello and Github...
Thierry
Stef
On Thu, May 11, 2017 at 9:54 AM, Norbert Hartl <norbert@hartl.name <mailto:norbert@hartl.name>> wrote:
Am 11.05.2017 um 08:54 schrieb jtuchel@objektfabrik.de <mailto:jtuchel@objektfabrik.de>:
Hi Norbert,
thanks for your explanations. So it seems liek I should start by using Pharo6 and load Iceberg and just take a look.
Yes, iceberg has still some issues but is usable and it will evolve quickly. If you are the brave type of guy you can start with pharo6 64bits ;)
Norbert
Joachim
Am 10.05.17 um 10:34 schrieb Norbert Hartl:
Hi Joachim,
I think your timing is quite good. We had some changes in the last years and it is getting better now. Before we had only monticello. Monticello is a zip container that contains a version number in the filename and prior version pointer inside the repository. Regarding dependencies there was nothing that was used widely. Then Metacello appeared and solved the problem by providing dependency management and versioning of dependencies. Dependency management works good, the integrated versioning has issues. Especially when you look at a system like git you can see that versioning is solved there. Filetree is needed because git and other vcs systems are file based so you need to layout your code in files (how quaint!) To make a long story short: The best thing to use is git with Metacello Baselines. Filetree is used to store code. Versioning you do with git tags that can be used in Baselines. Now we have a decent UI (iceberg) that supports the most needed workflow items. We have a UI for the dependency management as well (versionner) but it sadly targets ConfigurationOfs and not BaselineOfs. That needs to be changed.
my 2 cents,
Norbert
Am 10.05.2017 um 07:56 schrieb Joachim Tuchel <jtuchel@objektfabrik.de <mailto:jtuchel@objektfabrik.de>>:
Hi guys,
please forgive me if this mail is a sign of ignorance. I am not a regular Pharo user and one of the reasons for this is that I didn't like most of the source management tools around Monticello. Coming from an envy background, it feels like not being ready for prime time. Of course you guys have been proving you can work with these tools quite well, but still I'd be interested in using Pharo in a pure git-based environment, as it most closely resembles some of the most-beloved features of envy.
Over the years there was a lot of work and discussion on filetree, gitfiletree, iceberg, cypress and maybe quite a few other projects that sounded promising and interesting. But I must admit I lost track of what was really done and how far things went in the last years.
So are there any pointers to info material that I could look at to see what the current status of source control in Pharo 5 and Pharo 6 is and/or will be soon?
I am mostly interested in these topics:
* git only - no monticello meta info any more - possible? * tools like merge/diff, committing from within the image * dependencies within my own project as well as dependencies on external code in - possibly multiple - external
repositories
* what is the current "most official" source repository for open source code? * best practices for managing complex projects and keeping old versions reproducible at any time * tutorial for git newbies in a Pharo context? (Like, how do I start with a new packege - create folder first and do git init, or start in the image and push into repo later? as I said: beginners' stuff)
Thanks for pointers and help
Joachim
--
Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de <
D-71640 Ludwigsburg
http://joachimtuchel.wordpress.com
<http://joachimtuchel.wordpress.com/> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1