Hey Cyril - before I raise a bug, I've tried running that script on CodeParadise and first off, its missing a declaration for respository (although I think you can execute and get away with it).
I also hit an error that it assume that every package of your project is loaded - so it probably needs a comment caveat to explain that you shoujld have loaded every project before running it (or we correct the internal code that makes that assumption).
But having run it - I'm a bit confused what should happen? I was expecting dirty projects that I would then commit (having made a branch to submit a PR on) - however no packages appear dirty and so there is nothing to commit? I guess I'm a bit confused what #forInternalStoreFileOut: on: does ? Is it writing something out to disk - and if so, what do we do with that in pharo - or are we expected to do something on the terminal? If so - the instructions don't make that very clear?
To be honest I was expecting something that caused something that cause a comment change that would cause every package to force a commit in the iceberg browser?
Can you clarify a bit more please?
Tim
On Mon, 13 May 2024, at 10:45 AM, Cyril FERLICOT-DELBECQUE via Pharo-users wrote:
Hi,
Here are some additional notes to what was already answered.
If you want to convert all the files of a repository at once to avoid
to have multiple PR with format changes you can use this script and
commit the resulting files:
| projectName |
projectName := 'Spec2'.
repository := IceRepository repositories detect: [ :repo | repo name =
projectName ].
repository workingCopy packages do: [ :pkg |
IceLibgitTonelWriter forInternalStoreFileOut: pkg latestVersion
mcVersion on: repository ]
Also, if you work on a project both in p12 and p11, you can avoid the
ping pong by fixing a version of tonel in the properties file. The file
to update is the .properties that is in the source folder and it should
look like this:
{
#format : #tonel,
#version: #'1.0'
}
P12 will take into account the tonel version asked and use it. In
previous version of Pharo, this additional line will be ignored and
Tonel v1 will be used.
With both of those options it should be possible to reduce the pain of
the format update.
Have a nice day
--
Cyril Ferlicot-Delbecque
https://ferlicot.fr
On Sunday, May 12th, 2024 at 12:21 PM, Tim Mackinnon tim@testit.works wrote:
Asking this here as it didn’t get much traction on Discord - but with the move to P12, the category format in Tonel has changed from a symbol to a string e.g. { #category : #examples } vs { #category : 'examples' } - this causes mega noise when submitting tiny PR's - how is everyone else handling this? Should projects resave every project module to get the new format while people are out of the pool? Or is there a way to force the old format on specific projects until they can be upgraded ?
It seems like a change whose consequences need some attention ?
What are others doing?
Tim
Answering my own question - it writes out file to the disk outside of Iceberg's knowledge - so you have to open a terminal and:
git commit -a -m "Update tonel formal to V3"
git push
I 've submitted a PR to improve the instructions in the open docs repo.
On Thu, 16 May 2024, at 12:09 AM, Tim Mackinnon wrote:
Hey Cyril - before I raise a bug, I've tried running that script on
CodeParadise and first off, its missing a declaration for respository
(although I think you can execute and get away with it).
I also hit an error that it assume that every package of your project
is loaded - so it probably needs a comment caveat to explain that you
shoujld have loaded every project before running it (or we correct the
internal code that makes that assumption).
But having run it - I'm a bit confused what should happen? I was
expecting dirty projects that I would then commit (having made a branch
to submit a PR on) - however no packages appear dirty and so there is
nothing to commit? I guess I'm a bit confused what
#forInternalStoreFileOut: on: does ? Is it writing something out to
disk - and if so, what do we do with that in pharo - or are we expected
to do something on the terminal? If so - the instructions don't make
that very clear?
To be honest I was expecting something that caused something that cause
a comment change that would cause every package to force a commit in
the iceberg browser?
Can you clarify a bit more please?
Tim
On Mon, 13 May 2024, at 10:45 AM, Cyril FERLICOT-DELBECQUE via
Pharo-users wrote:
Hi,
Here are some additional notes to what was already answered.
If you want to convert all the files of a repository at once to avoid
to have multiple PR with format changes you can use this script and
commit the resulting files:| projectName |
projectName := 'Spec2'.
repository := IceRepository repositories detect: [ :repo | repo name =
projectName ].
repository workingCopy packages do: [ :pkg |
IceLibgitTonelWriter forInternalStoreFileOut: pkg latestVersion
mcVersion on: repository ]Also, if you work on a project both in p12 and p11, you can avoid the
ping pong by fixing a version of tonel in the properties file. The file
to update is the .properties that is in the source folder and it should
look like this:{
#format : #tonel,
#version: #'1.0'
}P12 will take into account the tonel version asked and use it. In
previous version of Pharo, this additional line will be ignored and
Tonel v1 will be used.With both of those options it should be possible to reduce the pain of
the format update.Have a nice day
--
Cyril Ferlicot-Delbecque
https://ferlicot.frOn Sunday, May 12th, 2024 at 12:21 PM, Tim Mackinnon tim@testit.works wrote:
Asking this here as it didn’t get much traction on Discord - but with the move to P12, the category format in Tonel has changed from a symbol to a string e.g. { #category : #examples } vs { #category : 'examples' } - this causes mega noise when submitting tiny PR's - how is everyone else handling this? Should projects resave every project module to get the new format while people are out of the pool? Or is there a way to force the old format on specific projects until they can be upgraded ?
It seems like a change whose consequences need some attention ?
What are others doing?
Tim