[Glass] Early access update: PR #13

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Mon Oct 26 14:06:43 PDT 2015


perfect .. so when you see a project highlighted in red and the pattern 
`sha ^ sha[branch-name]` in the second field, that means that you have 
"version skew" between the SHA of the git commit that you have loaded in 
the image and the SHA of the git commit that is on disk ...

This happens when you load tODE into your image and then checkout a 
different commit in your git repository:
   explicit checkout or a checkout by another stone sharing repo
   pull request from a remote
   commit to the git repo from a different stone sharing repo

In this case when you run an updateGsDevKit with the `-t` option, the 
shared tODE repsository ($GS_HOME/shared/repos/tode) is updated via a 
`git pull` ... In the mail when I suggest using the `-t` option I 
probably mentioned doing a `todeUpdate <stone-name>` which would cause 
you stone to have the latest version of tODE loaded using `project load 
Tode`. When you load tODE, the project list is updated with the latest SHA.

With Tode red (and not dirty no leading `*`) it is safe to go ahead and 
to a `project load Tode` ... and when you do that, it is likely that the 
new `project new` command will also be loaded.

I don't update stones automatically via, because there is no way to know 
what you are using a stone for ... but since you know what you are 
doing, you can use the todeUpdate script on all of your stones after 
you've done an `updateGsDevKit -t` ... or you can wait until you bring 
up a stone and notice that projects are red and do the load then ...

If the project (Tode in this case) has been modified and is read, you 
might be interested in thinking about things before loading because 
`project load Tode` does not load over dirty packages and you run the 
risk of not having code loaded that should have been ....

You can use the `revert` menu item to load over the modified packages (a 
`project revert` is coming) and then do a `project load Tode`.

You might want to look at the code that is coming in before making a 
decision in which case you use the `skew diff` menu item to see the 
differences between the two commits (SHAs) ... the diff will be a "file 
diff" since the differences might only be in a documentation file ...

If you decide that you want to merge you current changes into the new 
version, you can use the `skew save` menu item that will walk through 
the steps to safely merge your changes into the incoming version and 
create a new version .... I plan to add an additional option called 
`skew clone` which will copy the git repo into a directory associated 
only with the stone 
($GS_HOME/server/stones/<stone-name>/git/<project-name>) and checkout 
the SHA that you have loaded ... then you can do the merge yourself or 
not as you please without being affected by updates to the shared git 
repositories ....

Dale

On 10/26/2015 01:19 PM, Jon Paynter wrote:
> alt+shift+P (tode client is running under windows) gives me this:
>
> *aTDMetacelloProjectBrowser*
> --------------------
> |FileTree|            263ef78 [gemstone2.4] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/filetree/repository
> |GLASS1|              208b331 [master] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/glass/repository
> Gofer                 1.0.5.4 [release] 
> http://seaside.gemtalksystems.com/ss/metacello
> |Grease|              b674ad0 [master] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/Grease/repository
> |Metacello|           22cca92 [master] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/metacello-work/repository
> |RB|                  d6639e0 [dev] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/rb/repository
> |Ston|                25aace1 [gemstone] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/ston/repository
> |Tode|                b8c9e14 ^ 166f67d [master] 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/tode/repository
> *GsDevKit_home         ae34dcf [master]            $GS_HOME*
> _GsApplicationTools github://GsDevKit/gsApplicationTools:master/repository
> |PharoCompatibility| 
> filetree:///home/gemstone/GsDevKit_home/shared/repos/PharoCompatibility/repository
> Seaside3 github://GsDevKit/Seaside31:3.1.?/repository
> SIXX github://glassdb/SIXX:master/repository
> |XMLSupport|          1.2.2.1 
> http://seaside.gemtalksystems.com/ss/MetacelloRepository
> ZincHTTPComponents github://GsDevKit/zinc:2.4.3.?/repository
> _
> ... with formatting & colors updated to match what is displayed in the 
> tode window.
>
> On Mon, Oct 26, 2015 at 1:04 PM, Dale Henrichs 
> <dale.henrichs at gemtalksystems.com 
> <mailto:dale.henrichs at gemtalksystems.com>> wrote:
>
>
>
>     On 10/26/2015 11:48 AM, Jon Paynter wrote:
>>     Great to hear there is a special command for this.
>>
>>     I tried to use the cmd from tode client and im getting an error:
>>     tode 1 > project new --class RouteEvents
>>     Topez ERROR: a TodeCommandError occurred (error 121000), Unknown
>>     sub command 'new' for command 'project'
>>
>>     Im running the todeClient on my local PC (windows7) and gemstone
>>     on a VM (ubuntu 12).  both copies of GsDevKit_home are on the
>>     same commit:
>>     $ git log -n1
>>     commit ae34dcffa14e96cb03a60f41833ce20188ad141a
>>     Merge: 39af1cf 989ae1d
>>     Author: Dale Henrichs <dale.henrichs at gemtalksystems.com
>>     <mailto:dale.henrichs at gemtalksystems.com>>
>>     Date:   Sat Oct 24 19:00:54 2015 -0700
>>
>>         Merge pull request #13 from GsDevKit/dev
>>
>>         Early Access - new project support
>>
>>     I ran "updateGsDevKit -g -t -i" on both client and server.
>>     Server update completed with no errors.
>>     The client update gave an error:
>>     ...finished downloadSmalltalkClient
>>     create gsDevKitCommandLine.image image using
>>     /d/gitvob/GsDevKit_home/sys/default
>>     /pharo/windows/gsDevKitCommandLineLoad.st
>>     cat: /d/gitvob/GsDevKit_home/shared/pharo/stderr: No such file or
>>     directory
>>
>>     so I created the missing file and re-ran
>>         touch /d/gitvob/GsDevKit_home/shared/pharo/stderr
>>         updateGsDevKit -g -t -i
>>     and it completed without errors.
>>
>>     Lastly the |Tode| entry in the project list shows up in red -- I
>>     take it to mean there is some problem with the Tode project but I
>>     dont know enough to tell what.
>>
>>     Let me know if you need any more info.
>>
>
>     Most likely you do not have the latest version of tODE loaded in
>     your stone ... the red is likely indicative, but please provide
>     with me with a ALT/CMD-SHIFT-P from the project list window, so I
>     can verify what is wrong - and explain what the red means (if it
>     is what I think it is) ...
>
>     Dale
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151026/1148ffdf/attachment.html>


More information about the Glass mailing list