This seemed a fairly easy change so I can keep honing my contributing skills.
I came up with this About text for the tool. Below is a screenshot on how it looks: Here's the text: Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand. Metacello is a package management system that declares dependencies between those packages in configuration classes. Monticello is our SCM system that groups code into packages. For a tutorial video on how to use Versionner: |
Hi Sergio,
It is great that you want to contribute ! Have you seen http://pharo.org/contribute and more specifically http://pharo.org/contribute-propose-fix ? It is a bit of work to get started, but once you have everything set up and understand the process, the next contribution will go much faster! Sven > On 02 May 2015, at 16:34, Sergio Fedi <[hidden email]> wrote: > > This seemed a fairly easy change so I can keep honing my contributing skills. > > I came up with this About text for the tool. > > Below is a screenshot on how it looks: > > <About_text_of_Versionner.png> > > > Here's the text: > > Versionner is a GUI for Metacello that allows you to use a nice (but limited, as are most GUI tools) tool instead of writing configs by hand. > > Metacello is a package management system that declares dependencies between > those packages in configuration classes. > > Monticello is our SCM system that groups code into packages. > > For a tutorial video on how to use Versionner: > https://youtu.be/cFRJDuWL-Q0 > |
Look good Sergio. Per Sven's comments, I think its worth you opening an issue for this and a submitting it as a slice to be integrated. cheers -ben On Sat, May 2, 2015 at 11:15 PM, Sven Van Caekenberghe <[hidden email]> wrote: Hi Sergio, |
Except, can someone advise, is Versioneer Slice based or Configuration based? cheers -ben On Sun, May 3, 2015 at 12:14 AM, Ben Coman <[hidden email]> wrote:
|
In reply to this post by Sergio Fedi
superb! You start to understand the difference between Pharo and others. You can get a real impact on your system. Stef
|
|
Ok, I added the case, submited the Slice and Resolved the case.
The final text is this: Versionner is tool for creating configurations. A Configuration determines the dependencies between packages. More precisely, the dependency between a version of a package and a particular version of a required package. This tool is a GUI for Metacello that allows you to use a nice (but limited) tool instead of writing configurations by hand. Metacello is a package management system that declares dependencies between those packages in configuration classes. Monticello is our SCM system that groups code into packages. For a tutorial video on how to use Versionner: I hope I didn't make any mistakes. Cheers. |
Administrator
|
In reply to this post by Ben Coman
There is ConfigurationOfVersionner in the image...
Cheers,
Sean |
There is ConfigurationOfVersionner in the image... Sorry, I don't understand. What does it mean? Is there something wrong I did? |
Administrator
|
It was in response to Ben's question: "is Versioneer Slice based or Configuration based?". We have two kinds of external projects in Pharo: - Traditional model: projects that, while technically external, have been adopted (cough... forked) by Pharo core so that we were free to evolve. This seemed to be the only way before we had really good tools because trying to keep everything in sync required massive effort. These can be considered core packages and are committed via the slice process. The projects are sometimes synced with the main project at irregular intervals. - Shiny new model: we have been starting to experiment with keeping projects (e.g. Rubric, TxText) in their own repos and loading improvements via Metacello configurations. While historically this was impractical, now fogbugz issues can specify configurations and their versions to be picked up by CI, and Esteban has just made a tool [1] to create those versions easily (i.e. almost automatically). Writing this, it seems a bit complicated, but actually it seems we are moving toward a very streamlined place. It's just that this moment is the transition. [1] http://forum.world.st/ANN-Screencast-on-Versionner-Part-2-td4823221.html
Cheers,
Sean |
Administrator
|
After reviewing your fix, your case is especially complicated - you have edited one of each type of project! Spec, which has been forked, and Versionner, which is externally maintained. You may have to open another issue for the Spec changes. In fact, I think we should have a discussion because you extended the extremely ugly SystemWindow logic (not blaming you, you didn't create it!) into Spec: (self model respondsTo: #aboutTitle) ifTrue: [^self model aboutTitle]. ^(self model respondsTo: #toolName) ifTrue: [self model toolName] ifFalse: [self model class name]. The Versionner about text proposal is more straightforward. I copied your package into the PharoExtras/Versionner repo (I actually made some edits to the text as I think that Metacello and Monticello should be described elsewhere in their own context). The next step would be to create a configuration to pick up these changes, but I guess the Spec question would have to be resolved first... Please don't be discouraged! By chance, you stepped into the absolute the worst-case scenario. Thankfully, many issues are much easier to integrate :)
Cheers,
Sean |
On Mon, May 4, 2015 at 11:32 AM, Sean P. DeNigris <[hidden email]> wrote: Sean P. DeNigris wrote This is one reason newcomers are valuable. For any system you work with for a while, you unconciously step over the wobbly stones in the path without noticing them. cheers -ben |
2015-05-04 8:15 GMT+02:00 Ben Coman <[hidden email]>:
I changed the issue title Improving the About information (WindowModel) and added Improving the About information (VersionnerSpecBrowser) So, that we have now two bug entries, one for the change in specs about window title handling and one for the change in Versionner. Who can move and commit sergios change to the versionner repro? |
Administrator
|
I already copied Versionner-Spec-Browser to the Versionner repo but I didn't make a new config version because I think it depends on the Spec change and so that has to be resolved first...
Cheers,
Sean |
> On 04 May 2015, at 12:53, Sean P. DeNigris <[hidden email]> wrote: > > Nicolai Hess wrote >> Who can move and commit sergios change to the versionner repro? > > I already copied Versionner-Spec-Browser to the Versionner repo but I didn't > make a new config version because I think it depends on the Spec change and > so that has to be resolved first… can you open an issue? (new versionner version), dependent on the Spec changes issue? Esteban > > > > ----- > Cheers, > Sean > -- > View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p4824209.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. > |
In reply to this post by Sean P. DeNigris
> After reviewing your fix, your case is especially complicated - you have > edited one of each type of project! Spec, which has been forked, and > Versionner, which is externally maintained. You may have to open another > issue for the Spec changes. In fact, I think we should have a discussion > because you extended the extremely ugly SystemWindow logic (not blaming you, > you didn't create it!) into Spec: > (self model respondsTo: #aboutTitle) > ifTrue: [^self model aboutTitle]. > ^(self model respondsTo: #toolName) > ifTrue: [self model toolName] > ifFalse: [self model class name]. I hate so much such kind of design.... > > The Versionner about text proposal is more straightforward. I copied your > package into the PharoExtras/Versionner repo (I actually made some edits to > the text as I think that Metacello and Monticello should be described > elsewhere in their own context). The next step would be to create a > configuration to pick up these changes, but I guess the Spec question would > have to be resolved first... > > Please don't be discouraged! By chance, you stepped into the absolute the > worst-case scenario. Thankfully, many issues are much easier to integrate :) > > > > ----- > Cheers, > Sean > -- > View this message in context: http://forum.world.st/Improving-the-About-Text-of-Versionner-tp4823759p4824130.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. > > |
Administrator
|
In reply to this post by EstebanLM
I added 15480 as a dependency of 15482 and put 15482 on hold for the moment.
Cheers,
Sean |
Wow! Look what I stirred up! Ok, I *vaguely* understand the two configuration schemes. I do understand how I touched two projects that are mantained differently and the problems in that. I'm not sure what to learn from all of this (I know I didn't do anything wrong) About the design issues. I cringed when I saw that code, that's why I wanted to model the About information in an object, but that would be a lot more change and without knowing all the classes involved. That's why I asked in another mail what to do after a Case is resolved, about further work. Ok then, now I have no idea if I should be doing anything else about this Case. For now I'm going to keep reading how this issue evolves and if I have to do something, just tell me. PS: I'm not discouraged at all, I know the difficulties of projects of this size. Thanks everyone for the patience and encouragement. |
> On 05 May 2015, at 01:03, Sergio Fedi <[hidden email]> wrote: > > > Wow! Look what I stirred up! > > Ok, I *vaguely* understand the two configuration schemes. > > I do understand how I touched two projects that are mantained differently and the problems in that. > > I'm not sure what to learn from all of this (I know I didn't do anything wrong) > > Yes, the situation is not nice… already Slices are complex, and the “some (undefined) projects work differently” setup is a mess. But we will improve it! Marcus |
Free forum by Nabble | Edit this page |