Migrating to github

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

Migrating to github

BrunoBB
Hi,

I'm trying to migrate my packages from SS3 to Github.

As far as i read it i have to create a project entry (Git) to save my packages locally and commit all changes to local disk and the push these changes into Git. Is this right ?

The following command:
  project entry --git=projectHome --repo=$GS_HOME /home/persistence-api

Answer an error:
Topez ERROR: a TodeCommandError occurred (error 121000), Unknown option: git

The command:
project entry --git=https://github.com/brunobuzzi/OrbeonPersistenceLayer --repo=$GS_HOME /home/persistence-api
Topez ERROR: a TodeCommandError occurred (error 121000), Unknown option: git

Answer the same error...

I have seen the Dale video several time but it is about load project to ss3 and not to git.

Does tode create the file structure automatically in the Git server ?
I mean right now there is nothing in the code section in the Github.
https://github.com/brunobuzzi/OrbeonPersistenceLayer is uninitialized i think.

If i can do any progress i will post it here :)

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list
Bruno,

I just want to mention that I'm composing a response ... it's just
taking a while:)

Dale

On 08/24/2015 06:12 PM, BrunoBB via Glass wrote:

> Hi,
>
> I'm trying to migrate my packages from SS3 to Github.
>
> As far as i read it i have to create a project entry (Git) to save my
> packages locally and commit all changes to local disk and the push these
> changes into Git. Is this right ?
>
> The following command:
>    project entry --git=projectHome --repo=$GS_HOME /home/persistence-api
>
> Answer an error:
> Topez ERROR: a TodeCommandError occurred (error 121000), Unknown option: git
>
> The command:
> project entry --git=https://github.com/brunobuzzi/OrbeonPersistenceLayer
> --repo=$GS_HOME /home/persistence-api
> Topez ERROR: a TodeCommandError occurred (error 121000), Unknown option: git
>
> Answer the same error...
>
> I have seen the Dale video several time but it is about load project to ss3
> and not to git.
>
> Does tode create the file structure automatically in the Git server ?
> I mean right now there is nothing in the code section in the Github.
> https://github.com/brunobuzzi/OrbeonPersistenceLayer is uninitialized i
> think.
>
> If i can do any progress i will post it here :)
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/Migrating-to-github-tp4845407.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

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

Re: Migrating to github

BrunoBB
In reply to this post by BrunoBB
Dale,

Thanks very much !!!

Take any time you want i have lot of documentation to do in my git project and lot of refactoring to do ;)

When finish anyone will be able to store Orbeon Forms (a Java application) natively in GemStone/S.
http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/persistence-api

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list
Looks good .... I'll want to include a project entry for Orbeon in
GsDevKitHome when you're ready!

Dale

On 08/25/2015 02:24 PM, BrunoBB via Glass wrote:

> Dale,
>
> Thanks very much !!!
>
> Take any time you want i have lot of documentation to do in my git project
> and lot of refactoring to do ;)
>
> When finish anyone will be able to store Orbeon Forms (a Java application)
> natively in GemStone/S.
> http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/persistence-api
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/Migrating-to-github-tp4845407p4845765.html
> Sent from the GLASS mailing list archive at Nabble.com.
> _______________________________________________
> Glass mailing list
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

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

Re: Migrating to github

BrunoBB
Dale,

Excellent !

I think in three or four weeks the project will be finished. I will post it here when finished.

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list
In reply to this post by BrunoBB


On 08/24/2015 06:12 PM, BrunoBB via Glass wrote:
> Hi,
>
> I'm trying to migrate my packages from SS3 to Github.
How exciting!

Before we  get into the details of doing anything with tODE I am curious
if you are interested in preserving your entire project (mcz package)
history in git or is it sufficient to switch your current project state
to git ...

It _is_ possible to create a git repository from an mcz repository in
such a way that the mcz history is reflected in the git commit history.
Several folks have tackled this with good results and if you are
interested in doing this I can track down the information ... It is
important to consider this at an early stage ... for me it has been
sufficient to just do new development in git ...
> As far as i read it i have to create a project entry (Git) to save my
> packages locally and commit all changes to local disk and the push these
> changes into Git. Is this right ?
Yes this is the proper model.
> The following command:
>    project entry --git=projectHome --repo=$GS_HOME /home/persistence-api
>
> Answer an error:
> Topez ERROR: a TodeCommandError occurred (error 121000), Unknown option: git
This is (obviously) a bug in tODE (and I have just submitted a bug
report[1]), but also a miscommunication on my part. Improving the man
page for the `project` family of commands is still on my todo list:)

On the `man project entry` page I mention that there are two types of
projects:

   "There are two basic types of project entry: Git and Metacello"

But I do not further distinguish when you should use one type over the
other. A "Git" project is intended to refer to a "pure git project" or a
project that does not have any smalltalk code ... For storing smalltalk
code (your use case) you want to use a "Metacello" project.

So for loading/managing a project with tODE you will use either `project
--config` or `project --baseline`, which do work in tODE.

With that said, since you are moving to git from ss3, I recommend that
you create a baseline. It is straightforward to convert a
ConfigurationOf to a a BaselineOf, see the section on "Create
Baseline"[1] in the "Getting Started with GitHub" doc[3] for Metacello.  
Feel free to ask questions ... Paul Debruicker is working on a utility
for automatically converting a ConfgirationOf to a BaselineOf - so he
can chime in ...

Unfortunately I don't have a `create new project` or a `convert new
project` command written, but these are the basic steps (assuming you
are NOT preserving the entire mcz history in git; assuming that you are
using a BaselineOf - which you will create) ... (The following commands
are based on using the latest commit in the dev branch of tODE and
GsDevKitHome  ... and if you aren't already using the dev branches ping
for additional instructions):

1. create GitHub project (done:
https://github.com/brunobuzzi/OrbeonPersistenceLayer)
2. create a local git repository (using `git init` in an empty directory
called
     OrbeonPersistenceLayer). In the dev branch of GsDevKitHome, the
place to put shared
     git repositories is $GS_HOME/tode/sys/local/git (using bash):

     mkdir $GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer
     mkdir $GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer/repository

3. copy each of the active packages from the SS3 repo to your local git
repo:

     mc copy Orbeon_Persistence_API-BrunoBB-0.039
http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI 
filetree://$GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer/repository

     mc copy Orbeon_Persistence-BrunoBB-0.019
http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI 
filetree://$GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer/repository

4. create a BaselineOfOrbeonPersistenceLayer class:

     cls create BaselineOfOrbeonPersistenceLayer BaselineOf
BaselineOfOrbeonPersistenceLayer
     cls protocol --add=BaselineOfOrbeonPersistenceLayer baseline
     browse class BaselineOfOrbeonPersistenceLayer

5. add a baseline: method to BaselineOfOrbeonPersistenceLayer that looks
something like the following (no tODE command - sorry:):

     baseline: spec
       <baseline>
       spec
         for: #'common'
         do: [
           spec
             package: 'Orbeon_Persistence';
             package: 'Orbeon_Persistence_API' with: [ spec requires:
'Orbeon_Persistence' ];
             yourself.
           spec
             group: 'default' with: #('Core');
             group: 'Core' with: #('Orbeon_Persistence_API');
             yourself ].

6. create a BaselineOfOrbeonPersistenceLayer package

     mc create BaselineOfOrbeonPersistenceLayer

7. associate the filetree repo with the new package:

     mr add
filetree://$GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer/repository
BaselineOfOrbeonPersistenceLayer

8. save the baseline to the repo:

     mc commit BaselineOfOrbeonPersistenceLayer `initial baseline and
packages`

9. Create the project entry:

     project entry --baseline=OrbeonPersistenceLayer
--repo=filetree://$GS_HOME/tode/sys/local/git/OrbeonPersistenceLayer/repository
/sys/stone/projects

10. Load the project (testing your baseline):

     project load OrbeonPersistenceLayer

11. Write the new baseline to the filetree repository and do a git commit:

     project commit --git --message=`initial commit for project packages
and baseline` OrbeonPersistenceLayer
     project list

12. Hook up your local git repo to your github repo something like the
following (follow github instructions to get it exactly right):

     git remote add origin
[hidden email]:brunobuzzi/OrbeonPersistenceLayer.git
     git push origin master


... and I think that's it... Let me know how things work for you. I've
create a gist on github[4] with all of the tode comands extracted out
(source code is in middle) for easy copy/paste.



Dale

[1] https://github.com/dalehenrich/tode/issues/188
[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
[4] https://gist.github.com/dalehenrich/001ab961bd599b3efac1
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

BrunoBB
Dale,

I will give a try to all but..

Reading https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md

It mention: Currently GemStone2.4

Does this work with GemStone 3.2.1 ?

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list


On 8/26/15 11:06 AM, BrunoBB via Glass wrote:

> Dale,
>
> I will give a try to all but..
>
> Reading
> https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md
>
> It mention: Currently GemStone2.4
>
> Does this work with GemStone 3.2.1 ?
>
Overall the Getting Started with GitHub doc is bit dated, but the
information in the "Create Baseline" section is current enough:) for
application to all GemStone versions ...

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

Re: Migrating to github

BrunoBB
Dale,

Slowly migrating to github. I have updated the version of the packages to the standart:
[package]-[initials].[branch].[count].mcz where branch is optional.

Now i'm creating the BaselineOf for all of my projects, and it seems that there's a lof of changes.
I think http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf is out of date.

The project Orbeon depends on XMLParser
The old configuration was:
baseline122: spec
        <version: '1.022-baseline'>
 
        spec for: #common do: [
        spec blessing: #baseline.
                spec repository: 'http://ss3.gemtalksystems.com/ss/Orbeon'.
                spec project: 'XMLSupport' with: [
                        spec className: 'ConfigurationOfXMLSupport';
                                versionString: '1.2.2.1';
                                loads: #('Core');
                                file: 'ConfigurationOfXMLSupport';
                                repository: 'http://www.squeaksource.com/XMLSupport'].
                spec
                        package: 'Orbeon-BrunoBB' with: [spec requires: 'XMLSupport'].
        ].
The newone i write is:
baseline: spec
        <baseline>
 
        spec for: #common do: [
                spec package: 'Orbeon'.
                spec
                        group: 'default' with: #('Core');
                        group: 'Core' with: #('Orbeon');
                        yourself.
        ].

Where i can add the dependency on XMLParser or this has been stripped from Baselines and neet to be placed in ConfigurationOf.

In https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#create-baseline 
There is not mention of spec project:XXX with: []

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list


On 09/10/2015 01:43 PM, BrunoBB via Glass wrote:

> Dale,
>
> Slowly migrating to github. I have updated the version of the packages to
> the standart:
> [package]-[initials].[branch].[count].mcz where branch is optional.
>
> Now i'm creating the BaselineOf for all of my projects, and it seems that
> there's a lof of changes.
> I think
> http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf
> is out of date.
>
> The project Orbeon depends on XMLParser
> The old configuration was:
> baseline122: spec
> <version: '1.022-baseline'>
>  
> spec for: #common do: [
>          spec blessing: #baseline.
> spec repository: 'http://ss3.gemtalksystems.com/ss/Orbeon'.
> spec project: 'XMLSupport' with: [
> spec className: 'ConfigurationOfXMLSupport';
> versionString: '1.2.2.1';
> loads: #('Core');
> file: 'ConfigurationOfXMLSupport';
> repository: 'http://www.squeaksource.com/XMLSupport'].
> spec
> package: 'Orbeon-BrunoBB' with: [spec requires: 'XMLSupport'].
> ].
> The newone i write is:
> baseline: spec
> <baseline>
>  
> spec for: #common do: [
> spec package: 'Orbeon'.
> spec
> group: 'default' with: #('Core');
> group: 'Core' with: #('Orbeon');
> yourself.
> ].
>
> Where i can add the dependency on XMLParser or this has been stripped from
> Baselines and neet to be placed in ConfigurationOf.
>
> In
> https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#create-baseline
> There is not mention of spec project:XXX with: []
I apologize for taking so long to respond ...

The rule of thumb for building a new baseline from a baseline in an
existing ConfigurationOf is that you really only need to:

   1. change the name of the method
   2. switch the pragma to `<baseline>`
   3. remove the blessing: and repository:  messages at the project level

So your new basline: would look like this:

baseline: spec
  <baseline>

   spec
     for: #'common'
     do: [
       spec repository: 'http://ss3.gemtalksystems.com/ss/Orbeon'.
       spec
         project: 'XMLSupport'
         with: [
           spec
             className: 'ConfigurationOfXMLSupport';
             versionString: '1.2.2.1';
             loads: #('Core');
             file: 'ConfigurationOfXMLSupport';
             repository: 'http://www.squeaksource.com/XMLSupport' ].
       spec package: 'Orbeon-BrunoBB' with: [ spec requires:
'XMLSupport' ] ]

now with the latest Metacello you have the option of changing your
project spec to be a little less vebose and your spec would look like
the following:

baseline: spec
  <baseline>

   spec
     for: #'common'
     do: [
       spec repository: 'http://ss3.gemtalksystems.com/ss/Orbeon'.
       spec
         configuration: 'XMLSupport'
         with: [
           spec
             versionString: '1.2.2.1';
             loads: #('Core');
             repository: 'http://www.squeaksource.com/XMLSupport' ].
       spec package: 'Orbeon-BrunoBB' with: [ spec requires:
'XMLSupport' ] ]

I will add a small section to the doc[1] with this information.

Dale

[1]
https://github.com/dalehenrich/metacello-work/blob/master/docs/GettingStartedWithGitHub.md#create-baseline 

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

Re: Migrating to github

BrunoBB
In reply to this post by GLASS mailing list
Dale,

(The following commands are based on using the latest commit in the dev branch of tODE and
GsDevKitHome  ... and if you aren't already using the dev branches ping for additional instructions):

How i use or switch to dev branch ?

Executing tODE>>tODE Update>>devKit
tode 1 > script --script=updateTode
Topez ERROR: ZdcPluginMissing: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

It is possible to download the tODE client only (dev brach) ?

The GemStone server is doing ok so i only need to update tODE client :)

Regards,
Bruno
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github

GLASS mailing list


On 09/20/2015 07:28 PM, BrunoBB via Glass wrote:
> Dale,
>
> (The following commands are based on using the latest commit in the dev
> branch of tODE and
> GsDevKitHome  ... and if you aren't already using the dev branches ping for
> additional instructions):
>
> How i use or switch to dev branch ?
You should probably go over the installation instructions[1], since
there are some EARLY ADOPTER instructions that you need to follow ...

Be aware that I am planning a restructuring of the gsDevKitHome
directory/project structure ... while the functionality will be the same
I _am_ changing the names of the scripts and moving directory
hierarchies around ... I expect to be done with this phase in a week or
two - so if you don't want to be bothered again with a change, you might
wait a bit - I will have instructions for moving from the old to the new
structure, but change isn't always fun...

[1]
https://github.com/GsDevKit/gsDevKitHome/tree/dev#open-source-development-kit-for-gemstones-64-bit-
>
> Executing tODE>>tODE Update>>devKit
> tode 1 > script --script=updateTode
> Topez ERROR: ZdcPluginMissing: SSL/TLS plugin initailization failed (VM
> plugin missing ? OS libraries missing ?)
I've seen this happen off and on and it seems that if you guit your
pharo image and restart you will be able to load ... although I have
also seen issues that occur when running fresh headless images .... I am
suspicious that from an interactive pharo vm, tODE may have introduced
this problem[2], whereas in the headless images, it just seems to be
Pharo3.0 instability - Pharo 4.0 won't be a priority until I release the
work on GsDevKit_home and tODE ...

[2] https://github.com/dalehenrich/tode/issues/210
>
> It is possible to download the tODE client only (dev brach) ?
>
> The GemStone server is doing ok so i only need to update tODE client :)

Actually, this is exactly what my new restructuring is aimed at ....
with the restructuring I plan to make it much easier to manage a variety
of client/tode options without bringing along the entire stone/tode
structure ...

If this is what you really want to do, then I would think you should
hold off a bit and when I finish the restructuring you can volunteer to
take it for a spin ... I said earlier that it would be a week or two,
but unless I get interrupted with something in the meantime, I really
expect to be done by the end of the week ...

Dale

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

Re: Migrating to github

BrunoBB
Dale,

Ok, i will wait until the restructuring is done.

No problem to be a volunteer to test it (glad to help) :)

I will want until the announcement...

Regards,
Bruno