[Glass] Moving from .mcz files to git - help

Reg Krock via Glass glass at lists.gemtalksystems.com
Mon May 15 19:36:09 PDT 2017


Hi Dale,

It worked. Thanks for all of the links and the script.

I had to sort some of my own code and that took a while.

Then I did not notice that it was a ‘back quote’ surrounding the list of packages. Once I figured that out everything worked.

Very much appreciated.

Reg

> On 13 May2017, at 2:46 PM, Dale Henrichs via Glass <glass at lists.gemtalksystems.com> wrote:
> 
> 
> 
> On 5/12/17 1:21 PM, Reg Krock via Glass wrote:
>> Hi,
>> 
>> I was able to successfully load the .mcz files into the 3.3.3 server with your help.
>> 
>> Now the issue is how to go forward since I do not have an already defined metacello for my project (ConfigurationOfMyProject).
> Stef and Mariano have written a very good introduction to Metacello[1], then read the "Create Baseline" section[2] in the Getting Started with Github doc[3]. You need to use a BaselineOf with github projects. The BaselineOf describes package load order and project dependencies.
>> 
>> 1) Can I have a local copy of git while still interacting with GitHub?
> Yes. First you probably want to review the Github WorkFlow[4] which will give you an overview of working with local git clones and Github. If you are not familiar with git I recommend looking at this site[5] to get an overview and then google any git questions you have ... git-scm.com[6] has a good getting started section for git as well as complete documentation.
>> 2) What hints/directions do you have about setting up gitfiletree, and other needed pieces. I have watched your video on creating a project but there are still some pieces missing.
>> 
> I assume that you are using GsDevKIt_home and tODE. GsDevKit_home provides a standard directory structure for stones and shared resources like shared git repositories for projects.
> 
> $GS_HOME/shared/repos is the directory where all shared git projects are found and you will locate your local project git repositories there as well.
> 
> If you didn't have any existing packages and were starting a project from scratch, the `project new` command would create your baseline, a package, a project entry and a git repository for your project[9].
> 
> You have a couple of existing mcz packages .... instead of giving you a list of tode commands to execute, I decided to write a tode script (attached... copy the attached newProject.ston file to $GS_HOME/sys/local/server/home) that you can run ... it performs all of the major steps done by the `project new` command but takes a list of existing/loaded packages and a project name:
> 
>  /home/newProject -h                                                              # display script man page
>  /home/newProject --packages=`Package-1 Package-2` Foo # create project Foo
> 
> At the end the script brings up a `project list` and you should see your project listed at the top of the list ...
> 
> I encourage you to look at the script (`edit /home/newProject`) to see what can be done in a tode shell script. Create your own with `touch sh <script-name>`) ... Scripts are very convenient for storing and sharing scripts between different stones ... By default scripts created in /home are local to the stone only, but you can move a script to /sys/local/server/home (`mv <script-name> /sys/local/server/home`) and it will be available to all stones ...
> 
> At this point, you have a project entry in a shared location ($GS_HOME/sys/local/server/projects) so if you want to load your project into a new stone, you only need to do the following:
> 
>  project load Foo
> 
> or use 'load' menu item in `project list` or create a stone with the project loaded:
> 
>  createStone -f -l Foo foo_334 3.3.4
> 
> When you make modifications to the packages or baseline, you can review the changes you've made using the 'changes' menu item in the project list or commit your changes to the git repository using the 'save' menu item in the project list.
> 
> Finally, I suggest that you create a /home/go script (`touch tpz /home/go`) to setup your environment at login. Open browsers, class lists, tests, etc. At the moment the go file is not automatically executed. I've attached one of my own `go` files as an example. After opening the shell window, I run `./go` to set things up ... or if the windows get too cluttered, I do a `close` then `./go` to get back to a clean starting point.
> 
> Hope this helps,
> 
> Dale
> 
> [1] http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf
> [2] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#create-baseline
> [3] https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#getting-started-with-github
> [4] https://guides.github.com/introduction/flow/index.html
> [5] https://rogerdudler.github.io/git-guide/
> [6] https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
> [7] https://github.com/GsDevKit/GsDevKit_home#open-source-development-kit-for-gemstones-64-bit-
> [8] https://github.com/GsDevKit/GsDevKit_home/tree/gh-pages
> [9] https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/projectsInTode.md#creating-a-new-project
> <newProject.ston><go.txt>_______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass



More information about the Glass mailing list