Migrating to github 2

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

Migrating to github 2

BrunoBB
Dale,

About a year ago we had a conversation on github migration. Now i have a stable version of my application i want to migrate the code to github.

Back then the step were these: (are these steps still correct to migrate to github ?)
(the step 2. is refering to the gemstone host or the windows tode client ?
in which machine perform the file copy and git init?)

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
_______________________________________________
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github 2

GLASS mailing list
Hello Bruno,

There are some adjustments to the process ... in-lined below

On 07/11/2016 09:14 AM, BrunoBB via Glass wrote:

> Dale,
>
> About a year ago we had a conversation on github migration. Now i have a
> stable version of my application i want to migrate the code to github.
>
> Back then the step were these: (are these steps still correct to migrate to
> github ?)
> (the step 2. is refering to the gemstone host or the windows tode client ?
> in which machine perform the file copy and git init?)
>
> 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
This has changed - in fact I think the previous discussion was probably
based upon gsDevKitHome. For GsDevKit_home, I've settled on
$GS_HOME/shared/repos as the standard location for git repositories:

      mkdir $GS_HOME/shared/repos/OrbeonPersistenceLayer
      mkdir $GS_HOME/shared/repos/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
So the filetree path will change here as well:

   mc copy Orbeon_Persistence_API-BrunoBB-0.039 http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI filetree://$GS_HOME/shared/repos/OrbeonPersistenceLayer/repository

   mc copy Orbeon_Persistence-BrunoBB-0.019 http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI filetree://$GS_HOME/shared/repos/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
path change here, again:

   mr add filetree://$GS_HOME/shared/repos/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
path again:

   project entry --baseline=OrbeonPersistenceLayer --repo=filetree://$GS_HOME/shared/repos/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
For GsDevKit_home I would an additional optional step where you would
add a $GS_HOME/sys/local/gsdevkit_bin/cloneUpdate script. I've attached
a copy of the script.

If you install the script in $GS_HOME/sys/local/gsdevkit_bin it will be
called whenever you execute `$GS_HOME/bin/updateGsDevKit -s` ... I've
found this particularly convenient if I have multiple GsDevKit_home
installations (work computer and home laptop) that I want to keep
up-to-date ... It also makes more sense when you get to the point where
you have multiple projects like Seaside and your own project so that you
can update the git repos using a script instead of manually ...

>
>
> ... 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/18
> [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
> _______________________________________________
>
>
and I think that should be it ... let me know if you have problems ..
I've updated the gist[2] with the changed paths

We have an open issue for GsDevKit_home[1] that I will add this email
trail to ...

[1] https://github.com/GsDevKit/GsDevKit_home/issues/91
[2] https://gist.github.com/dalehenrich/001ab961bd599b3efac1

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

cloneUpdate (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Migrating to github 2

GLASS mailing list
I just noticed a mistake (the gist has been updated with the correction) ...

   project entry --baseline=OrbeonPersistenceLayer
--repo=filetree://$GS_HOME/shared/repos/OrbeonPersistenceLayer/repository /sys/stone/projects


should be

   project entry --baseline=OrbeonPersistenceLayer
--repo=filetree://$GS_HOME/shared/repos/OrbeonPersistenceLayer/repository /sys/local/server/projects


Using /sys/local/server/projects means that the project entry is shared
by all stones ... and `project load OrbeonPersistenceLayer` can be used
to load Orbeon into new stones ... Use /sys/stone/projects if you want
the project entry to be "private" to the stone -- I do this if I am
doing "dangerous experiments" with a project and want to isolate the
changes I'm saving in the git repository to just one stone ... when I'm
finished with the experiments, I update the shared repository and remove
the stone-specific project entry ...

Dale

On 07/11/2016 11:25 AM, Dale Henrichs wrote:

> Hello Bruno,
>
> There are some adjustments to the process ... in-lined below
>
> On 07/11/2016 09:14 AM, BrunoBB via Glass wrote:
>> Dale,
>>
>> About a year ago we had a conversation on github migration. Now i have a
>> stable version of my application i want to migrate the code to github.
>>
>> Back then the step were these: (are these steps still correct to
>> migrate to
>> github ?)
>> (the step 2. is refering to the gemstone host or the windows tode
>> client ?
>> in which machine perform the file copy and git init?)
>>
>> 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
> This has changed - in fact I think the previous discussion was
> probably based upon gsDevKitHome. For GsDevKit_home, I've settled on
> $GS_HOME/shared/repos as the standard location for git repositories:
>
>      mkdir $GS_HOME/shared/repos/OrbeonPersistenceLayer
>      mkdir $GS_HOME/shared/repos/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
> So the filetree path will change here as well:
>
>   mc copy Orbeon_Persistence_API-BrunoBB-0.039
> http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI 
> filetree://$GS_HOME/shared/repos/OrbeonPersistenceLayer/repository
>
>   mc copy Orbeon_Persistence-BrunoBB-0.019
> http://ss3.gemtalksystems.com/ss/OrbeonPersistenceAPI 
> filetree://$GS_HOME/shared/repos/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
> path change here, again:
>
>   mr add
> filetree://$GS_HOME/shared/repos/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
> path again:
>
>   project entry --baseline=OrbeonPersistenceLayer
> --repo=filetree://$GS_HOME/shared/repos/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
> For GsDevKit_home I would an additional optional step where you would
> add a $GS_HOME/sys/local/gsdevkit_bin/cloneUpdate script. I've
> attached a copy of the script.
>
> If you install the script in $GS_HOME/sys/local/gsdevkit_bin it will
> be called whenever you execute `$GS_HOME/bin/updateGsDevKit -s` ...
> I've found this particularly convenient if I have multiple
> GsDevKit_home installations (work computer and home laptop) that I
> want to keep up-to-date ... It also makes more sense when you get to
> the point where you have multiple projects like Seaside and your own
> project so that you can update the git repos using a script instead of
> manually ...
>>
>>
>> ... 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/18
>> [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
>> _______________________________________________
>>
>>
> and I think that should be it ... let me know if you have problems ..
> I've updated the gist[2] with the changed paths
>
> We have an open issue for GsDevKit_home[1] that I will add this email
> trail to ...
>
> [1] https://github.com/GsDevKit/GsDevKit_home/issues/91
> [2] 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 2

BrunoBB
Dale,

Thanks for the detailed answer.

I was able to upload one of my projects to github (pretty cool !!!).

For now i will be doing some experiment maybe i come back with some question.

It is a very good work what you have made !!!   :)

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

Re: Migrating to github 2

GLASS mailing list
Thanks!

I'm glad that you are able to get started with GitHub!

Dale

On 07/12/2016 09:13 AM, BrunoBB via Glass wrote:

> Dale,
>
> Thanks for the detailed answer.
>
> I was able to upload one of my projects to github (pretty cool !!!).
>
> For now i will be doing some experiment maybe i come back with some
> question.
>
> It is a very good work what you have made !!!   :)
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: http://forum.world.st/Migrating-to-github-2-tp4906038p4906313.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