Git support

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Git support

GLASS mailing list
Ciao,

        i do some test with GsDevKit and all work fine.

        Thanks Dale......

        Questions:

        1) i can install the git interface into a Pharo x.y image  ?

                ( for replicate the git support found into Tode into standard Pharo image )
       
               
        2) what is the last version of GsDevKit i can download and the relative Glass version ?

        3) there's a documentation about the Tode philosophy for understand how use it ?
               
                Create new database? Import - manage the same package into more database ?........  ????


        Thanks,

                Dario
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Git support

GLASS mailing list


On 02/19/2016 12:45 PM, Trussardi Dario Romano via Glass wrote:

> Ciao,
>
> i do some test with GsDevKit and all work fine.
>
> Thanks Dale......
>
> Questions:
>
> 1) i can install the git interface into a Pharo x.y image  ?
>
> ( for replicate the git support found into Tode into standard Pharo image )
I'm afraid that the code can't just be installed ... I think that the
TDGitTool class could be ported to Pharo and I would be willing to help
in that effort, but this would only get you a Smalltalk API and there'd
still be work in getting it part of a Pharo-style GUI ...
>
>
> 2) what is the last version of GsDevKit i can download and the relative Glass version ?
Are you asking about https://github.com/GsDevKit/GsDevKit or
https://github.com/GsDevKit/GsDevKit_home and
https://github.com/glassdb/glass?

I recommend that you always use the latest commit on the master branch
of https://github.com/GsDevKit/GsDevKit_home and you should always be
able to run:

   $GS_HOME/bin/updateGsDevKit -g

to get the latest commit for GsDevKit_home. I send mail to this list
when I've made significant changes that need something more than
`updateGsDevKit -g` to work with.

The same caveat goes for GLASS (https://github.com/glassdb/glass) it
should always be safe to load the latest commit on the master branch. To
know if you're using the lastest version of GLASS, you can look at the
"network graph"[3] and see the SHA of the latest commit on the master
branch and if that doesn't match what you see in the project list, you
can do a `Git >> pull` on the `project list` menu for GLASS1 and then
`load` the project to get the update ... if you haven't upated a stone
with the lastest version from the local clone, the project will be red
in the `project list` --- this means that there is a difference between
the code in the clone and in your image --- your image will work fine
and you only need to update when you want to ... the red is just
reminder that there is a difference or skew between the versions.

Nothing is ever committed to the master branch of these two projects
without having passed the travis tests([1] and [2]).



[1] https://travis-ci.org/GsDevKit/GsDevKit_home/branches
[2] https://travis-ci.org/glassdb/glass/branches
[3] https://github.com/glassdb/glass/network

>
> 3) there's a documentation about the Tode philosophy for understand how use it ?
>
> Create new database? Import - manage the same package into more database ?........  ????
>
Not quite yet ... it is pretty much the second or third item on the
documentation to do list, but I can give you some short answers.

Create a new database?
---------------------------------

When you run createStone, the stone will be created with the current
checkout versions in each clone. So new stones will be built with the
latest version of all of the code that you're using.

Manage the same package in more than one database?
--------------------------------------------------------------------------

I recommend that you use the 'project list` `save` menu item for a
project (or the `project commit` command line command --- same
functionality) as this saves all dirty packages associated with a the
project and then does a `git commit` and updates the SHA in the `project
list` for that project.

If you are sharing a project amongst several stones, once you've done a
commit to the shared git clone (or done a `pull` or otherwise change the
SHA of the clone) the fact `project list` will turn the project red in
other stone's so that you will know that there is `version skew`. The
`skew diff` menu item will show you the changes between the two commits
and you can judge whether you want to update your stone (`project load`
or `load` menu item) or defer the update til a later date ...

If you want to make changes to a shared git repository, but you want to
isolate those changes from all of the stones currently using the clone,
you can arrange to clone a version of the git repository that is
"private" to the stone and you can make changes without it showing up on
the "radar" for other stones ...

------
Go ahead and ask additional questions ...

Dale
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass