No I did it from a freshly donwloaded image. Pharo7.0-32bit-70f3b57.zip

On Fri, Jun 30, 2017 at 9:47 AM, Pavel Krivanek
<pavel.kriva...@gmail.com> wrote:
> The script in section "Use already created clone" is supposed to be used by
> a fresh Pharo 7 image. Maybe you are trying it on an image that already has
> the repository set? Even if I tried to use the name 'pharo' instead of
> 'myFork', the scripts work.
>
> Cheers,
> -- Pavel
>
>
> 2017-06-30 9:34 GMT+02:00 Stephane Ducasse <stepharo.s...@gmail.com>:
>>
>> Hi pavel
>>
>> Since I want to reuse my clone. I tried the following. But I have no
>> idea about the name of my fork so I put the one of my fork = pharo and
>> it seems that this is what should be done.
>>
>> Now when I execute this script I get
>>
>> 'You already have an Iceberg repository
>>
>> So hat should I do?
>>
>>
>>
>> Use already created clone
>> =====================
>>
>>
>> repository := IceRepositoryCreator new
>> location: ('pharo-core' asFileReference);
>> subdirectory:'src';
>> createRepository.
>> repository register.
>>
>> fork := repository remotes detect: [ :remote | remote remoteName = #pharo
>> ].
>> repository pushRemote: fork.
>> repository pullRemote: repository origin.
>>
>> repository checkoutBranch: 'development'.
>> repository backend pullFrom: repository origin.
>> repository push.
>>
>> repository checkoutBranch: (SystemVersion current commitHash).
>>
>> On Mon, Jun 26, 2017 at 1:14 PM, Pavel Krivanek
>> <pavel.kriva...@gmail.com> wrote:
>> > Hi,
>> >
>> > this mail describes how to start to send pull requests to Pharo 7 Github
>> > repository from Pharo 7.
>> >
>> > Preparations
>> > =====================
>> >
>> > - you need to have a Github account and set SSH keys. See
>> > https://help.github.com/articles/connecting-to-github-with-ssh/
>> > - create own pharo-project/pharo repository fork. Go to
>> > https://github.com/pharo-project/pharo, click on "Fork" button and
>> > follow
>> > the instructions
>> >
>> > Get Pharo 7 image
>> > =====================
>> >
>> > The CI jobs for the Pharo 7 defelopment are currently not fully set and
>> > we
>> > still do not publish Pharo 7 image to files.pharo.org so you cannot get
>> > it
>> > using zero-conf scripts. But we have a provisional CI job that
>> > bootstraps
>> > the Pharo 7 image.
>> >
>> > https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bit/
>> >
>> > There download a file named like Pharo7.0-32bit-hash.zip and decompress
>> > it.
>> > Unlike Pharo 6 images, the archive contains three files. Image, changes
>> > and
>> > sources. In Pharo 7 you have the sources file for every bootstrapped
>> > version. It has a commit hash in the name and it cannot be shared
>> > between
>> > different Pharo 7 imges, however it can be shared between images that
>> > were
>> > created as snapshots with the same bootstrapped image as ancestor.
>> >
>> > Create local clone
>> > =====================
>> >
>> > You need a local clone of the Pharo repository. Because it contains a
>> > lot of
>> > small files, it is not a good idea to have own clone for every image.
>> > You
>> > can have only one and share them between images. But because of some
>> > current
>> > Monticello constraints you need to have the clone placed in the image
>> > directory in a folder with name 'pharo-core'.
>> >
>> > In this step we will clone the Pharo repository from pharo-project/pharo
>> > Github repository and add your fork as default pull target. We will
>> > update
>> > your fork repository to contain all latest commits from the Pharo
>> > repository
>> > in the branch named 'development'. For latest stable version (Pharo 6)
>> > we
>> > use the master branch.
>> > In the end we will checkout the repository to a particular commit from
>> > which
>> > the downloaded Pharo 7 image was bootstrapped. Imagine that you have a
>> > Pharo
>> > 7 image that is several days old and the development branch has already
>> > some
>> > commits that change code. If you would take this older image, checkout
>> > to
>> > the development branch and then do your commit, your would revert all
>> > changes done in not-loaded commits. The other option is to update your
>> > image
>> > to correspond to the repository latest commit which requires packages
>> > reloading.
>> > If you checkout to a particular commit, you are in detached HEAD state.
>> > In
>> > this state you cannot do commits directly. You need to firstly create
>> > new a
>> > new branch which we will do anyway.
>> >
>> > Evaluate the following code. This functionality will be later direct
>> > part of
>> > Iceberg UI. Do not forget to change the user name.
>> >
>> > username := 'YOUR-USER-NAME'.
>> > repository := IceRepositoryCreator new
>> > url: 'g...@github.com:pharo-project/pharo.git';
>> > location: ('pharo-core' asFileReference ensureCreateDirectory);
>> > subdirectory:'src';
>> > createRepository.
>> > repository checkoutBranch: 'development'.
>> > repository register.
>> >
>> > fork := (IceRemote name: 'myFork' url: ('g...@github.com:{1}/pharo.git'
>> > format: {username})).
>> > repository addRemote: fork.
>> > repository pushRemote: fork.
>> > repository pullRemote: repository origin.
>> >
>> > "update fork"
>> > repository backend pullFrom: repository origin. "use this low-level form
>> > to
>> > prevent packages reloading"
>> > repository push.
>> >
>> > "checkout to the commit from which the image was bootstrapped"
>> > repository checkoutBranch: (SystemVersion current commitHash).
>> >
>> > Use already created clone
>> > =====================
>> >
>> > This is alternative to the previous step. Let's suppose that you already
>> > have your local clone. You take some Pharo 7 image and you want to
>> > create
>> > commits. Then you need to create a symlink or move/copy the repository
>> > into
>> > your image directory. Remember, it must be named pharo-core (we do not
>> > use
>> > the name 'pharo' to avoid collision with VM executable).
>> >
>> > In this step we will register an existing Pharo repository clone, set
>> > your
>> > fork as the push target, update your fork and then switch to the
>> > particular
>> > commit.
>> >
>> > repository := IceRepositoryCreator new
>> > location: ('pharo-core' asFileReference);
>> > subdirectory:'src';
>> > createRepository.
>> > repository register.
>> >
>> > fork := repository remotes detect: [ :remote | remote remoteName =
>> > #myFork
>> > ].
>> > repository pushRemote: fork.
>> > repository pullRemote: repository origin.
>> >
>> > repository checkoutBranch: 'development'.
>> > repository backend pullFrom: repository origin.
>> > repository push.
>> >
>> > repository checkoutBranch: (SystemVersion current commitHash).
>> >
>> > Issue processing
>> > =====================
>> >
>> > - create new case on FogBugz to get the issue number
>> > - open Iceberg and from the context menu on the 'pharo' repository do:
>> > Pharo
>> > - Create new branch from FogBugz issue, enter the issue ID and it will
>> > fill
>> > the full branch name for you
>> > - create your changes (you can do it before the creation of the branch
>> > too)
>> > - commit and push your changes in Iceberg, this way you will commit your
>> > branch to your fork repository. Remember that the Iceberg commit window
>> > has
>> > two buttons, one for local commit, the second for commit with immediate
>> > push. They can be very long because they contain the full branch (issue)
>> > name
>> > - in Iceberg in the 'pharo' repository context menu do: Pharo - Create
>> > pull
>> > request, fill your
>> > - fill your Github credentials
>> > - leave the PR title, comment is not required, check the pull request
>> > head
>> > and base. The base MUST be pharo-project/pharo development. Create the
>> > pull
>> > requests
>> > - go to https://github.com/pharo-project/pharo/pulls, check your pull
>> > requests and put URL of it into the issue record on FogBugz (as a
>> > comment).
>> > Resolve the issue as Fix review needed
>> >
>> > Cheers,
>> > -- Pavel
>> >
>>
>

Reply via email to