Changes file - how important?

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

Changes file - how important?

Frank Shearar-3
Hi,

How important is the changes file, really? I don't mean in terms of
recovering from crashes, because I use my changes file all the time.

I mean, if a changes file is not present, does everything still work?
I ask, because SmalltalkImage >> #logChange: specifically protects
against a missing changes file (in the sense that it does nothing if
(Sources at: 2) == nil). However, if you start up an image with no
changes file, there's a big fat modal dialog warning about the missing
file, but clicking through results in what looks - at first glance at
least - like a normally functioning image.

If a changes file is _desirable_ but not _necessary_, could we remove
the dialog (or do something different for -headless images, like
dumping a warning to stderr)? Or simply start a new changes file if
one's missing?

The concrete problem I'm trying to work around is with the CI test
script. Running the test means modifying the changes file and Jenkins
really does not like that. If the changes file were not necessary I
could simply not keep it under version control.

Sometimes, I don't _care_ about recovering from a crash.

frank

Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Bob Arning-2
There is a preference to control the warning:

warnIfNoChangesFile

Cheers,
Bob

On 8/1/12 8:00 AM, Frank Shearar wrote:
Hi,

How important is the changes file, really? I don't mean in terms of
recovering from crashes, because I use my changes file all the time.

I mean, if a changes file is not present, does everything still work?
I ask, because SmalltalkImage >> #logChange: specifically protects
against a missing changes file (in the sense that it does nothing if
(Sources at: 2) == nil). However, if you start up an image with no
changes file, there's a big fat modal dialog warning about the missing
file, but clicking through results in what looks - at first glance at
least - like a normally functioning image.

If a changes file is _desirable_ but not _necessary_, could we remove
the dialog (or do something different for -headless images, like
dumping a warning to stderr)? Or simply start a new changes file if
one's missing?

The concrete problem I'm trying to work around is with the CI test
script. Running the test means modifying the changes file and Jenkins
really does not like that. If the changes file were not necessary I
could simply not keep it under version control.

Sometimes, I don't _care_ about recovering from a crash.

frank





Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

David T. Lewis
In reply to this post by Frank Shearar-3
On Wed, Aug 01, 2012 at 01:00:32PM +0100, Frank Shearar wrote:

> Hi,
>
> How important is the changes file, really? I don't mean in terms of
> recovering from crashes, because I use my changes file all the time.
>
> I mean, if a changes file is not present, does everything still work?
> I ask, because SmalltalkImage >> #logChange: specifically protects
> against a missing changes file (in the sense that it does nothing if
> (Sources at: 2) == nil). However, if you start up an image with no
> changes file, there's a big fat modal dialog warning about the missing
> file, but clicking through results in what looks - at first glance at
> least - like a normally functioning image.
>
> If a changes file is _desirable_ but not _necessary_, could we remove
> the dialog (or do something different for -headless images, like
> dumping a warning to stderr)? Or simply start a new changes file if
> one's missing?
>
> The concrete problem I'm trying to work around is with the CI test
> script. Running the test means modifying the changes file and Jenkins
> really does not like that. If the changes file were not necessary I
> could simply not keep it under version control.
>
> Sometimes, I don't _care_ about recovering from a crash.

You can symlink the changes file to /dev/null and all of the changes
will go into the bit bucket:

  $ rm myImage.changes
  $ ln -s /dev/null myImage.changes
  $ squeak myImage

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Frank Shearar-3
On 1 August 2012 13:35, David T. Lewis <[hidden email]> wrote:

> On Wed, Aug 01, 2012 at 01:00:32PM +0100, Frank Shearar wrote:
>> Hi,
>>
>> How important is the changes file, really? I don't mean in terms of
>> recovering from crashes, because I use my changes file all the time.
>>
>> I mean, if a changes file is not present, does everything still work?
>> I ask, because SmalltalkImage >> #logChange: specifically protects
>> against a missing changes file (in the sense that it does nothing if
>> (Sources at: 2) == nil). However, if you start up an image with no
>> changes file, there's a big fat modal dialog warning about the missing
>> file, but clicking through results in what looks - at first glance at
>> least - like a normally functioning image.
>>
>> If a changes file is _desirable_ but not _necessary_, could we remove
>> the dialog (or do something different for -headless images, like
>> dumping a warning to stderr)? Or simply start a new changes file if
>> one's missing?
>>
>> The concrete problem I'm trying to work around is with the CI test
>> script. Running the test means modifying the changes file and Jenkins
>> really does not like that. If the changes file were not necessary I
>> could simply not keep it under version control.
>>
>> Sometimes, I don't _care_ about recovering from a crash.
>
> You can symlink the changes file to /dev/null and all of the changes
> will go into the bit bucket:
>
>   $ rm myImage.changes
>   $ ln -s /dev/null myImage.changes
>   $ squeak myImage

Ah, yes of course. That's the natural thing to do! Pity I didn't think
of it, but oh well!

Thanks!

frank

> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Sean P. DeNigris
Administrator
In reply to this post by Frank Shearar-3
Frank Shearar-3 wrote
If the changes file were not necessary I
could simply not keep it under version control.
Pharo uses wget to download things like the image/changes/sources [1] [2].

HTH,
Sean

[1] https://ci.lille.inria.fr/pharo/job/Scripts-download/ws/pharo-shell-scripts/fetchPharo20.sh/*view*/
[2] https://ci.lille.inria.fr/pharo/job/Scripts-download/ws/download.sh/*view*/
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Frank Shearar-3
On 1 August 2012 14:14, Sean P. DeNigris <[hidden email]> wrote:
>
> Frank Shearar-3 wrote
>>
>> If the changes file were not necessary I
>> could simply not keep it under version control.
>>
>
> Pharo uses wget to download things like the image/changes/sources [1] [2].

Sure. But doing that right now means you use git to get a shell to
download an artifact, which seems... a bit busy. Right now we can
check out the CI environment in its entirety. I guess the current
squeak-ci also helps with bandwidth usage, if that's an issue: you'll
only download a new image once in a while. I don't know if that's a
significant argument either way :)

frank

Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Bert Freudenberg

On 01.08.2012, at 06:24, Frank Shearar wrote:

> On 1 August 2012 14:14, Sean P. DeNigris <[hidden email]> wrote:
>>
>> Frank Shearar-3 wrote
>>>
>>> If the changes file were not necessary I
>>> could simply not keep it under version control.
>>>
>>
>> Pharo uses wget to download things like the image/changes/sources [1] [2].
>
> Sure. But doing that right now means you use git to get a shell to
> download an artifact, which seems... a bit busy. Right now we can
> check out the CI environment in its entirety. I guess the current
> squeak-ci also helps with bandwidth usage, if that's an issue: you'll
> only download a new image once in a while. I don't know if that's a
> significant argument either way :)
>
> frank


IMHO the tests should be as close to real-world usage as possible. You don't need a changes file for running, but for developing you do. I think putting a hard git reset into the build script is the right way to deal with this. Alternatively it could copy the image+changes to a temp location and run from there.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Frank Shearar-3
On 1 August 2012 17:29, Bert Freudenberg <[hidden email]> wrote:

>
> On 01.08.2012, at 06:24, Frank Shearar wrote:
>
>> On 1 August 2012 14:14, Sean P. DeNigris <[hidden email]> wrote:
>>>
>>> Frank Shearar-3 wrote
>>>>
>>>> If the changes file were not necessary I
>>>> could simply not keep it under version control.
>>>>
>>>
>>> Pharo uses wget to download things like the image/changes/sources [1] [2].
>>
>> Sure. But doing that right now means you use git to get a shell to
>> download an artifact, which seems... a bit busy. Right now we can
>> check out the CI environment in its entirety. I guess the current
>> squeak-ci also helps with bandwidth usage, if that's an issue: you'll
>> only download a new image once in a while. I don't know if that's a
>> significant argument either way :)
>>
>> frank
>
>
> IMHO the tests should be as close to real-world usage as possible. You don't need a changes file for running, but for developing you do. I think putting a hard git reset into the build script is the right way to deal with this. Alternatively it could copy the image+changes to a temp location and run from there.

The latter is the only feasible option of the two: Jenkins has very
particular ideas about things, and doing a hard reset in the build
script be too late.

I'm just waiting for Chris Cunnington to chown a few files and I'll
take another run at the problem.

Oh, and it occurs to me belatedly that I _do_ need the changes file...
for tests that check that, for instance, changes are actually stored
there. Not that we have any of those, but when we do...

frank

> - Bert -
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Changes file - how important?

Levente Uzonyi-2
In reply to this post by Frank Shearar-3
On Wed, 1 Aug 2012, Frank Shearar wrote:

> Hi,
>
> How important is the changes file, really? I don't mean in terms of
> recovering from crashes, because I use my changes file all the time.
>
> I mean, if a changes file is not present, does everything still work?
> I ask, because SmalltalkImage >> #logChange: specifically protects
> against a missing changes file (in the sense that it does nothing if
> (Sources at: 2) == nil). However, if you start up an image with no
> changes file, there's a big fat modal dialog warning about the missing
> file, but clicking through results in what looks - at first glance at
> least - like a normally functioning image.
>
> If a changes file is _desirable_ but not _necessary_, could we remove
> the dialog (or do something different for -headless images, like
> dumping a warning to stderr)? Or simply start a new changes file if
> one's missing?
>
> The concrete problem I'm trying to work around is with the CI test
> script. Running the test means modifying the changes file and Jenkins
> really does not like that. If the changes file were not necessary I
> could simply not keep it under version control.

In some cases the changes file is not necessary, but the absence of the
real changes file will make the system behave differently, especially
while running the compiler tests.


Levente

>
> Sometimes, I don't _care_ about recovering from a crash.
>
> frank
>
>