Glad you asked ... I'm going full bore on development of the project.
I've got a Sample project[1] up on GitHub where I showcase the current thinking on overall project structure. I've published a gist, that shows the current thinking on the directory structure for a project[2], another gist that shows examples of the Metacello scripting API[3], and yet another gist lists my basic assumptions about using git for Smalltalk source management[5].
I have been using github as the repository of record for the development of this project. I've pushed the Metacello repository[6] up to github and have been actively using it, and I encourage you to follow the project if you are interested in watching the detailed progress:).
The filetree project[7] is where the Monticello package to disk mappings is being managed. To bootstrap my work follow the instructions in this gist[8]. Note that the working projects metacello and filetree use a different structure than the one that I'm proposing (the repository directory is the root of the Monticello repository).
I think it would be very interesting if you and Frank used github to put together your demo. The HEAD of the Sample project cannot be loaded using filetree as I munged it to show off what I would like the structure to be, but there are earlier versions of of the project (in particular I've used a tag to mark the version that can be loaded and played with:
"download version of 1.2 the sample project, i.e., download from github, but don't load Sample project"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:1.2/repository';
get.
"load version 1.2 of the sample project, i.e., download from github and load sample project code into image"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:1.2/repository';
load.
We could collaborate on a set of gists for the demo and I can provide patches that fix any bugs you might hit ... perhaps you should fork the metacello, sample and filetree projects?
You can also show off cloning of the sample repository, where you can save your work to the git repository then commit and push your work back up to your github fork ...
I have not hooked up the git work of Max Leske and Camillo Bruni, so you need to sue the command line for doing the git operations ...
Dale
[1] https://github.com/dalehenrich/sample
[2] https://gist.github.com/1892114
[3] https://gist.github.com/1892052
[4] https://github.com/dalehenrich/sample/blob/master/Sample.source/README.md
[5] https://gist.github.com/1893955
[6] https://github.com/dalehenrich/metacello
[7] https://github.com/dalehenrich/filetree
[8] https://gist.github.com/1894011
I'll keep an eye on the mailing list over the weekend and will help with any issues that might pop up ...
Dale
----- Original Message -----
| From: "Nick Ager" <nick...@gmail.com>
| To: "Metacello" <meta...@googlegroups.com>
The bootstrapping instructions for filetree/metacello are here[1].
You'll want to use the following scripting expressions to work with the Sample repository:
"download version of 1.2 the sample project, i.e., download from github, but don't load Sample project"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:1.2/repository';
get.
"load version 1.2 of the sample project, i.e., download from github and load sample project code into image"
Metacello new
project: 'Sample';
repository: 'github://dalehenrich/sample:1.2/repository';
load.
These expressions specify version 1.2 which is the version of the sample project whose structure matches the structure that filetree is able to load.
The HEAD of the master branch is where I've been trying out alternate directory structures and I haven't bothered to keep the reader alive ... I'm waiting until we have a good idea of which direction we are heading:) before writing too much more code.
Sebastian tried the instructions out yesterday, so it should work out of the box ... I've been using Pharo1.3 ...
Dale
[1] https://gist.github.com/1894011
----- Original Message -----
| From: "Nick Ager" <nick...@gmail.com>
| To: "Metacello" <meta...@googlegroups.com>
Thanks for the effort and the report ....
I guess at some level I'm not surprised. When folks are happy with what they have, they see no reason to change and frankly there is no reason to change. This projects is aimed at the folks who aren't happy...
If I haven't been clear before my plan is to "seamlessly integrate" git/svn/github support into Metacello. This means:
If a project is managed on github, I won't have to install
gith to be able to LOAD the code
If I want to participate in the development of a project managed
on github I will have to install and use git
If I want to use a project managed on SqueakSource as part of
my project managed on github, I can do so
One of the reasons that I want to preserve the package ancestry is that I expect that folks will want to try out git/github and I don't want them to be locked into git/github once they've made the move.
git is an odd beast that takes a while to get used to (like Smalltalk:) and it isn't for the feint of heart, although there are a ton of resources on the web for using git/github. Stackoverflow has
13842 questions on git
2254 questions on github
384 questions on smalltalk
So the feint of heart will be able to learn to use git/github if they want to.
Thanks again,
Dale
----- Original Message -----
| From: "Nick Ager" <nick...@gmail.com>
| To: "Metacello" <meta...@googlegroups.com>