[squeak-dev] How to get a Trunk image

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

Re: [squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Colin Putney




On 2009-09-07, at 4:47 PM, Andreas Raab <[hidden email]> wrote:


The reason why there is currently no unique update number associated with the trunk is only because nobody thus far has made a proposal as to how it should be defined. If anyone has a proposal for what to use, please make suggestions.

Well, the obvious way would be to create a Squeak package with no code, but with dependencies on all the packages in the trunk. Then you save a new verison of Squeak at each "stable" point in the evolution of the underlying packages. Voilà, a unique number that represents the state of all the code in the trunk. Not sure if there would be scaling issue with that many dependencies, but it's worth a try.

Colin   


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Andreas.Raab
Colin Putney wrote:

> On 2009-09-07, at 4:47 PM, Andreas Raab <[hidden email]
> <mailto:[hidden email]>> wrote:
>> The reason why there is currently no unique update number associated
>> with the trunk is only because nobody thus far has made a proposal as
>> to how it should be defined. If anyone has a proposal for what to use,
>> please make suggestions.
>
> Well, the obvious way would be to create a Squeak package with no code,
> but with dependencies on all the packages in the trunk. Then you save a
> new verison of Squeak at each "stable" point in the evolution of the
> underlying packages. Voilà, a unique number that represents the state of
> all the code in the trunk. Not sure if there would be scaling issue with
> that many dependencies, but it's worth a try.

Yes, that is equivalent to having a configuration map for every update.
Unfortunately it means that every single update consists of two package
commits; one for the contents and one for the meta package (or config map).

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Colin Putney

On 7-Sep-09, at 11:11 PM, Andreas Raab wrote:

> Yes, that is equivalent to having a configuration map for every  
> update. Unfortunately it means that every single update consists of  
> two package commits; one for the contents and one for the meta  
> package (or config map).

Right, dependencies and configuration maps are equivalent, and so far  
we've been using config maps. An oversight on my part.

But it doesn't (necessarily) mean a commit of the config map for each  
package commit. Every time you make changes that span several packages  
(and I've seen quite a few of these in the commit messages), you can  
roll them into one config map commit. Or to reduce the overhead  
further, you could roll groups of unrelated changes into the same  
config map. What's the optimal tradeoff between overhead to create a  
new config map and the size of the delta between successive config maps?

I suppose we *already* have a unique config map number that describes  
the state of the image. Maybe we just need to increase it's resolution  
a bit? Or just start using it as is?

Colin



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Bert Freudenberg

On 08.09.2009, at 08:51, Colin Putney wrote:

>
> On 7-Sep-09, at 11:11 PM, Andreas Raab wrote:
>
>> Yes, that is equivalent to having a configuration map for every  
>> update. Unfortunately it means that every single update consists of  
>> two package commits; one for the contents and one for the meta  
>> package (or config map).
>
> Right, dependencies and configuration maps are equivalent, and so  
> far we've been using config maps. An oversight on my part.
>
> But it doesn't (necessarily) mean a commit of the config map for  
> each package commit. Every time you make changes that span several  
> packages (and I've seen quite a few of these in the commit  
> messages), you can roll them into one config map commit. Or to  
> reduce the overhead further, you could roll groups of unrelated  
> changes into the same config map. What's the optimal tradeoff  
> between overhead to create a new config map and the size of the  
> delta between successive config maps?
>
> I suppose we *already* have a unique config map number that  
> describes the state of the image. Maybe we just need to increase  
> it's resolution a bit? Or just start using it as is?


Actually, the server would know the number of all commits ever done to  
the trunk repo, simply by counting all the versions it has. That would  
be a monotonically increasing number, not quite unlike a subversion  
revision number. It may have to be a bit fancier than that to account  
for deleted versions, but not much I would guess?

warning: hand-waving and thinking aloud ahead

To make it more like a subversion revision what would be needed is  
getting back to a particular commit, that is, there would have to be a  
way to get from a revision number to the versions associated with it.  
This could be done by updating a config map whenever something is  
committed and saving it under that revision number. The config map  
would be "virtual" and simply record all the latest packages in the  
repo without respect to load order, because the server has no way of  
knowing that. This would rely on the repo usage as trunk, otherwise it  
would not be sufficient to just record the latest versions, but all  
versions would have to be associated with a revision number. Actually,  
that might be even simpler - put the revision number in the meta data  
for each submitted version. Voila. Then sorting by this number would  
give the exact sequence of trunk commits. Or ... we actually *do* have  
such an ordering already, in the upload time stamp. Wonder if it gets  
updated when moving a package between repositories ... in any case,  
old versions of the repo could simply be accessed by going to http://
s.s.o/trunk/123 which would filter out all versions after revision 123.

Or is this all silly talk? Entirely possible ;)

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Göran Krampe
In reply to this post by Eliot Miranda-2
Hi!

Eliot Miranda wrote:

> David,
>
>     for me the crucial advantage a ChangeSet has is in not defining the
> rest of the package.  Currently I'm trying to e port the latest version
> of the closure compiler from Qwaq to Squeak and Pharo.  As you can see
> from the recent commits this cuts across 6 packages, all of which
> contain distro-specific code.  With ChangeSet based tools there is the
> (admittedly slim and still arduous) possibility of producing a single
> linear sequence of changes which could correctly update both Squeak and
> Pharo.  But using packages I can't do better than a painful integration
> process that produces 16 packages.  I like Monticello but in this case,
> complex code updates with ordering constraints that overlap packages,
> ChangeSets (assuming similar levels of tool support) would be much better.

Just as an *obvious* note in all this: Deltas!

One of the primary goals of Deltas (the Delta part of DeltaStreams) is
to fully replace Changesets. Deltas are IMHO strictly better than
Changesets but give you the same advantages and much, much more.

Also, a Delta is an *ordered list* of changes instead of a Set which
means that a single crafted Delta can do the same as you do now with a
controlled series of Changesets. And yes, we do allow doits in Deltas,
but in a carefully *explicitly marked* way. I will post in an hour on
that sub-subject to get some feedback on the approach we are taking.

regards, Göran


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: 3.10.2 Forever ? (was Re: How to get a Trunk image)

Andreas.Raab
In reply to this post by Bert Freudenberg
Bert Freudenberg wrote:

> Actually, the server would know the number of all commits ever done to
> the trunk repo, simply by counting all the versions it has. That would
> be a monotonically increasing number, not quite unlike a subversion
> revision number. It may have to be a bit fancier than that to account
> for deleted versions, but not much I would guess?
>
> warning: hand-waving and thinking aloud ahead
>
> To make it more like a subversion revision what would be needed is
> getting back to a particular commit, that is, there would have to be a
> way to get from a revision number to the versions associated with it.
> This could be done by updating a config map whenever something is
> committed and saving it under that revision number. The config map would
> be "virtual" and simply record all the latest packages in the repo
> without respect to load order, because the server has no way of knowing
> that. This would rely on the repo usage as trunk, otherwise it would not
> be sufficient to just record the latest versions, but all versions would
> have to be associated with a revision number. Actually, that might be
> even simpler - put the revision number in the meta data for each
> submitted version. Voila. Then sorting by this number would give the
> exact sequence of trunk commits. Or ... we actually *do* have such an
> ordering already, in the upload time stamp. Wonder if it gets updated
> when moving a package between repositories ... in any case, old versions
> of the repo could simply be accessed by going to http://s.s.o/trunk/123 
> which would filter out all versions after revision 123.
>
> Or is this all silly talk? Entirely possible ;)

I think that's a great idea. If there were an automatically generated
config map that gets updated on every commits in a repository it would
definitely help solve a lot of problems.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: How to get a Trunk image

Andreas.Raab
In reply to this post by Damien Cassou-3
For the records: You can now download a current trunk image at
http://ftp.squeak.org/trunk (the version is current as of today).

Cheers,
   - Andreas

Damien Cassou wrote:
> Hi,
>
> I would like to get the latest development version of Squeak (based on
> the trunk?). Where can I find an image or how can I update an old
> image?
>
> Bye
>


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: How to get a Trunk image

Casey Ransberger
Hmm. When I try to load updates from this image, things go wrong. When I load updates into the image I've been working with, thing are groovy. 

I've noticed that this image seems to be using the old font system. Also, when I do:

TextMorph useNewEditors: true

... to enable the Cuis editors I get the unknown selector menu.

Is this image really up to date?

On Sat, Sep 12, 2009 at 4:27 PM, Andreas Raab <[hidden email]> wrote:
For the records: You can now download a current trunk image at http://ftp.squeak.org/trunk (the version is current as of today).

Cheers,
 - Andreas


Damien Cassou wrote:
Hi,

I would like to get the latest development version of Squeak (based on
the trunk?). Where can I find an image or how can I update an old
image?

Bye






--
Ron


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: How to get a Trunk image

Andreas.Raab
Ronald Spengler wrote:
> Hmm. When I try to load updates from this image, things go wrong.

What happens?

> I've noticed that this image seems to be using the old font system.

Just in the old workspaces (I didn't actually try to make this pretty
and I don't think we have a proper ReleaseBuilder script yet for setting
things up).

> Also, when I do:
>
> TextMorph useNewEditors: true
>
> ... to enable the Cuis editors I get the unknown selector menu.

Works here.

> Is this image really up to date?

As far as I can tell, yes. I just downloaded it again and it updates
fine and everything behaves as it should.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: How to get a Trunk image

Casey Ransberger
I was getting MNU inside Graphics-ar.63. Weirdly, I was able to consistently reproduce the issue last night, but naturally today I could not. The only thing I did differently was nuke the 'sm' and 'universetmp' directories. Do things in these get loaded automatically at startup? If so, it may have been my mistake.

I'm kicking myself for not getting a stack. Poor form.

Sorry for the bother!

On Sun, Sep 13, 2009 at 12:36 AM, Andreas Raab <[hidden email]> wrote:
Ronald Spengler wrote:
Hmm. When I try to load updates from this image, things go wrong.

What happens?


I've noticed that this image seems to be using the old font system.

Just in the old workspaces (I didn't actually try to make this pretty and I don't think we have a proper ReleaseBuilder script yet for setting things up).


Also, when I do:

TextMorph useNewEditors: true

... to enable the Cuis editors I get the unknown selector menu.

Works here.


Is this image really up to date?

As far as I can tell, yes. I just downloaded it again and it updates fine and everything behaves as it should.

Cheers,
 - Andreas




--
Ron


12