SquareBracketAssociates / PharoByExample9

The version of Pharo by Example for Pharo 90

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some questions to the Chapter 7

mr-Serg opened this issue · comments

It seems to be strange to talk about GitHub as for a first time while we have been talking about it in the chapter 5. It would be nice to refer a reader to the matherial of chapter 5. The Figure 7-4 looks like the Figure 5-7, and the 7-4 caption is the clone of the caption 5-7. Why we need to create a repository "MyCoolProjectWithPharo" while we have LOGame uncommited?

I do not now is it important or not, I nave tried to execute every step from the chapter and my scenario of repairing was different from the described one: another colors of project's name in the Iceberg top pane, I never received automaticly "Details of metadata commit" (Figure 7-13 at p. 85) - I have to commit to receive it, I saw ".git" folder in the project and others.

p. 87 Figure 7-17. After commiting the project get status "not published" in Iceberg - not "Up to date". The last one will be after pushing. And "Up to date" is the Working copy only.

p. 88 Section 7.6 What if I did not create a remote repository?
This is an unfair play! We have to say to a reader, that Iceberg CAN'T create a repository on GitHub! Reader must create it himself BEFORE adding to the local repository (as in Chapter 5).

Figure 7-19 is very-very similar to the Fig. 5-8.

"You can access this (Repository) browser through the associated menu item or the icon." - the explanation is unclear because the menu item we can get in the Iceberg top pane, but the icon is in enother window - in the Working copy browser.

"Figure 7-21 shows the Repository browser on our project." - should be Figure 7-20

p. 91 Loading Baseline using Iceberg - the explanation is totally unclear. "you can use the Metacello menu item in Iceberg, seen when action-clicking the name of your repository." But, if I have a new image of Pharo, I have not any project, so how can I do action-click on the missing project? May be I need to clone existing project from GitHub first?

p. 91-92 Scripting the load - I did not manage to download the repository by executing the script: every time I get the "Could not resolve..." error

I'm sorry but I will not be able to address all your points because they just draw down my energy. I feel like Pharo is killing my fun.
To me this chapter can be read in isolation from the rest of the book and I do not want to have it bound to any other chapters.

So I will check your comments but only address the minimum that can make the book better as it is now.
I cannot always work on books that are basically obsolete from the current version.

It seems to be strange to talk about GitHub as for a first time while we have been talking about it in the chapter 5. It would be nice to refer a reader to the matherial of chapter 5.
=> no and I do not see why this is the why time that we talke about github.

The Figure 7-4 looks like the Figure 5-7, and the 7-4 caption is the clone of the caption 5-7.
=> This is because the chapter is written to be read in isolation

Why we need to create a repository "MyCoolProjectWithPharo" while we have LOGame uncommited?
=> This is because the chapter is written to be read in isolation. I do not know why you would have LOGame uncommited. At the en d of the chapter First Application we mentioned to save the code with git and iceberg.

I do not now is it important or not, I nave tried to execute every step from the chapter and my scenario of repairing was different from the described one: another colors of project's name in the Iceberg top pane, I never received automaticly "Details of metadata commit" (Figure 7-13 at p. 85) - I have to commit to receive it, I saw ".git" folder in the project and others.

=> I will check this.

I added "If you commit at this point the project, " Iceberg will show you the exact structure of your project as shown in Figure @metadatasrc2.

p. 88 Section 7.6 What if I did not create a remote repository?
This is an unfair play! We have to say to a reader, that Iceberg CAN'T create a repository on GitHub! Reader must create it himself BEFORE adding to the local repository (as in Chapter 5).

=> No
If you do not have a repo then you cannot push remote but you can version locally.

A remote is just the same as a local repo. Just that it is on another machine or on the cloud!

I added: "We started by creating a remote repository on GitHub. Then we asked Iceberg to add a project by cloning it from GitHub. Now this is not the only order to proceed. You can create a local repository and version your code there and then once you create a remote repository on any Git platform, you will be able to push your code there. Now this is not the taks of Iceberg to create remote repository by registering to hosting platforms. Iceberge manages your code on Git and this is enough.

So let us see how do we do this the other way around, publishing our local project without a pre-existing remote repository. This is actually quite simple, so let's give it a whirl."

p. 87 Figure 7-17. After commiting the project get status "not published" in Iceberg - not "Up to date". The last one will be after pushing. And "Up to date" is the Working copy only.

This is strange because I redid everything on a new image and a new project and I got it as I mentioned.

In my pdf

"Figure 1-20 shows the Repository browser on our project."
Shows the correct picture.

p. 91 Loading Baseline using Iceberg - the explanation is totally unclear. "you can use the Metacello menu item in Iceberg, seen when action-clicking the name of your repository." But, if I have a new image of Pharo, I have not any project, so how can I do action-click on the missing project? May be I need to clone existing project from GitHub first?

=> Yes you cannot load a baseline of project that do you did not clone.
You can do that via a script. I will add a note.

I added

To load a project interactively, you can use the ""Metacello"" menu item in Iceberg, seen when action-clicking the name of your repository. It lets you load a Baseline and execute it to load the project's packages. This way you are sure that all the required sub-projects are loaded.

"Pay attention that the project you want to load should be already available in Iceberg (by adding its repository and Iceberg cannot guess where your project is located so it cannot magically guess it).
Now if you just want to load the code and you do not care to have the project managed by Iceberg
you can use a script as hereafter."

"p. 91-92 Scripting the load - I did not manage to download the repository by executing the script: every time I get the "Could not resolve..." error"

You probably get a problem with you connexion or your git configuration.
In that case, you should check if you can load the code using pure git from the command line (eg. git pull). And then you try the baseline. Or it means that your baseline is bogus.