Only Baseline Loading

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

Only Baseline Loading

Sean DeNigris
I can't quite figure out a reproducible case, but sometimes when I do a load script like the following, only the baseline gets loaded and re-running doesn't help. 

[ EpMonitor current disable.
Metacello new
baseline: 'ComputerWorld';
repository: 'github://seandenigris/Computer-World';
onConflict: [ :ex | 
ex projectName = 'XMLParser'
ifTrue: [ ex useLoaded ] ];
load.
EpMonitor current enable

] fork

NB. the fork is because I'm running in GT (on top of P8) and Bloc notifications don't show otherwise.

Here's the transcript:
Fetched -> BaselineOfComputerWorld-CompatibleUserName.1605807023 --- [hidden email]:seandenigris/ComputerWorld.git[master] --- [hidden email]:seandenigris/ComputerWorld.git[master]
Loaded -> BaselineOfComputerWorld-CompatibleUserName.1605807023 --- [hidden email]:seandenigris/ComputerWorld.git[master] --- [hidden email]:seandenigris/ComputerWorld.git[master]
Loading baseline of BaselineOfComputerWorld...

How do I debug this?


--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/00408dce-9f14-4119-9023-8e193f015aa8n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Only Baseline Loading

Dale Henrichs-3

Sean,

Without looking closely or thinking hard .... the leading cause of a "second load failure" is when you are using a metadataless repository without having defined the "metadataless" project class MetacelloCypressBaselineProject in your baseline with the #projectClass method like the following:

projectClass
	Smalltalk at: #'MetacelloCypressBaselineProject' ifPresent: [ :cl | ^ cl ].
	^ super projectClass

For standard Monticello repositories, packages are not loaded unless the version of the package is later than the version of the currently loaded package ... when using metadataless repositories the version of the package is always 1, so the first load succeeds and subsequent loads do not succeed ...

Dale

On 11/19/20 9:44 AM, Sean DeNigris wrote:
I can't quite figure out a reproducible case, but sometimes when I do a load script like the following, only the baseline gets loaded and re-running doesn't help. 

[ EpMonitor current disable.
Metacello new
baseline: 'ComputerWorld';
repository: 'github://seandenigris/Computer-World';
onConflict: [ :ex | 
ex projectName = 'XMLParser'
ifTrue: [ ex useLoaded ] ];
load.
EpMonitor current enable

] fork

NB. the fork is because I'm running in GT (on top of P8) and Bloc notifications don't show otherwise.

Here's the transcript:
Fetched -> BaselineOfComputerWorld-CompatibleUserName.1605807023 --- [hidden email][master] --- [hidden email][master]
Loaded -> BaselineOfComputerWorld-CompatibleUserName.1605807023 --- [hidden email][master] --- [hidden email][master]
Loading baseline of BaselineOfComputerWorld...

How do I debug this?


--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/00408dce-9f14-4119-9023-8e193f015aa8n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/8a127e42-e702-4d69-4f6d-4b7f1657e1f5%40gemtalksystems.com.
Reply | Threaded
Open this post in threaded view
|

Re: Only Baseline Loading

Sean DeNigris
Finally coming back to this (since it just bit me again lol)...

 the leading cause of a "second load failure" is...

I think I explained poorly. The problem is on the first load. I just tried the second time to see if that would help. 

On 11/19/20 9:44 AM, Sean DeNigris wrote:

I can't quite figure out a reproducible case, but sometimes when I do a load script like the following, only the baseline gets loaded and re-running doesn't help. 

[ EpMonitor current disable.
Metacello new
baseline: 'ComputerWorld';
repository: 'github://seandenigris/Computer-World';
onConflict: [ :ex | 
ex projectName = 'XMLParser'
ifTrue: [ ex useLoaded ] ];
load.
EpMonitor current enable

] fork
Tudor discovered something weird: if the conflict block is replaced by "onConflictUseLoaded;", the load succeeds, loading all baselines and other packages. However, with the first version above with the block, only baselines are loaded, no other packages. Does that tell you anything about the cause?
 

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/02d984cf-ea6b-4a01-b712-14d98c44c19an%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Only Baseline Loading

Dale Henrichs-3
Sean,
This does sound like pretty bizarre behavior ... and on the first load? ... Anyway, my next go to is to look at the Transcript output for the load, to see if there are any clues there ...

Hmmm, looking at the load expression, I am curious what happens if the the projectName XMLParser, because as the code stands now I'm not completely sure what happens ... I'd be inclined to send an explicit message in the ifFalse: case ... and at a minimum, log the projects for which you are having conflicts and that combined with the full Transcript log might give me/us a clue ...

Dale

On Feb 24 2021, at 6:11 pm, Sean DeNigris <[hidden email]> wrote:
Finally coming back to this (since it just bit me again lol)...
 the leading cause of a "second load failure" is...
I think I explained poorly. The problem is on the first load. I just tried the second time to see if that would help. 
On 11/19/20 9:44 AM, Sean DeNigris wrote:
I can't quite figure out a reproducible case, but sometimes when I do a load script like the following, only the baseline gets loaded and re-running doesn't help. 

[ EpMonitor current disable.
Metacello new
baseline: 'ComputerWorld';
repository: 'github://seandenigris/Computer-World';
onConflict: [ :ex | 
ex projectName = 'XMLParser'
ifTrue: [ ex useLoaded ] ];
load.
EpMonitor current enable

] fork
Tudor discovered something weird: if the conflict block is replaced by "onConflictUseLoaded;", the load succeeds, loading all baselines and other packages. However, with the first version above with the block, only baselines are loaded, no other packages. Does that tell you anything about the cause?
 

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/BBFD0E9D-419B-46F5-A750-A8C411B576AC%40getmailspring.com.
Reply | Threaded
Open this post in threaded view
|

Re: Only Baseline Loading

Sean DeNigris
On Thursday, February 25, 2021 at 12:44:39 PM UTC-5 Dale wrote:
I'd be inclined to send an explicit message in the ifFalse: case

Yes! The following worked:
Metacello new
baseline: 'ComputerWorld';
repository: 'github://seandenigris/Computer-World';
onConflict: [ :ex | 
ex projectName = 'XMLParser'
ifTrue: [ ex useLoaded ]
ifFalse: [ ex useLoaded ] "adding this makes it work :)" ];
load

Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/metacello/d92410e1-e92b-4207-9fdc-ce2eab3e5ee2n%40googlegroups.com.