On 14 April 2018 at 01:55, Guillermo Polito <guillermopol...@gmail.com> wrote:
> > > On Fri, Apr 13, 2018 at 7:34 PM, Ben Coman <b...@openinworld.com> wrote: > >> >> >> On 14 April 2018 at 01:10, Guillermo Polito <guillermopol...@gmail.com> >> wrote: >> >>> >>> >>> On Fri, Apr 13, 2018 at 5:57 PM, Ben Coman <b...@openinworld.com> wrote: >>> >>>> >>>> >>>> On 13 April 2018 at 23:15, Alistair Grant <akgrant0...@gmail.com> >>>> wrote: >>>> >>>>> On 13 April 2018 at 17:07, Cyril Ferlicot <cyril.ferli...@gmail.com> >>>>> wrote: >>>>> > >>>>> > >>>>> > On ven. 13 avr. 2018 at 17:03, Guillermo Polito < >>>>> guillermopol...@gmail.com> wrote: >>>>> >> >>>>> >> >>>>> >> The thing is that the best way to do it is to clone your own >>>>> fork... And each one has her/his one. >>>>> >>>> >>>> I know, but momentarily forgot while trying to work on my first Issue >>>> with the new UI. >>>> However I discovered something cool... >>>> >>>> I had directly cloned "g...@github.com:pharo-project/pharo.git" >>>> successfully brought that "Up to date" >>>> then in the "Working copy of pharo" window, clicked <New Issue> and >>>> filled in details, >>>> made my code change, >>>> then clicked <Commit> >>>> then clicked <Push> bringing me to a window titled "Push >>>> pharo/21686-.../21686..." >>>> where the only option to "Push to remote: " was "origin >>>> (g...@github.com:pharo-project/pharo.git)" >>>> and clicking <Push> of course produced an error "LGit_GIT_EEOF: ERROR: >>>> Permission to pharo-project/pharo.git denied to bencoman." >>>> Fair enough! >>>> >>> >>> Have to gracefully manage that error. Could you open an issue? >>> >>> >>>> >>>> But then...!!! >>>> Back in the "Repositories" window, >>>> "pharo" > right-click > Repository > Add Remote >>>> Remote name = bencoman >>>> Remote URL = g...@github.com:pharo-project/pharo.git >>>> And back in the "Working copy of pharo" window >>>> clicked <Push> bringing again me to a window titled "Push >>>> pharo/21686-.../21686..." >>>> but now I had an extra option "bencoman <g...@github.com:bencoman/pharo >>>> .git>" >>>> and selecting that and clicking <Push> worked!!!! >>>> >>>> https://github.com/bencoman/pharo/tree/21686-Setting-backgro >>>> und-images-doesnt-work-on-Pharo-70 >>>> >>> >>> Esteban is working on adding the add remote to the pull/push windows >>> >>> https://github.com/pharo-vcs/iceberg/issues/624 >>> >>> so you will have less clicks to do there ;) >>> >>> >>>> >>>> >>>> Now the key thing here is that I **didn't** have to first >>>> synchronise github.com:bencoman/pharo.git with github.com: >>>> pharo-project/pharo.git >>>> and remember to clone github.com: bencoman/pharo.git . >>>> I just pushed to my repo **after-the-fact**. >>>> >>>> I haven't submitted many fixes lately to get familiar with Iceberg, >>>> and maybe I missed something in the old workflow, >>>> but previously it seemed that my pharo github repo needed to be up to >>>> date, >>>> and I must clone from there. >>>> >>> >>> Well, it depends. >>> >>> Scenario 1) If you're not planning to reuse your clone, you don't need >>> to care about synchronize. >>> - just reclone pharo from pharo >>> - add your fork as remote >>> - you're set >>> >>> Scenario 2) If you want to reuse your clone you may not synchronize them. >>> - pull from pharo from time to time >>> - start a new branch from the current commit >>> - you're set >>> >>> But then, there is people that may want/need to have some other >>> workflow. For example: >>> - I start from scenario 1 >>> - make a branch >>> - commit some work >>> - tomorrow I come back and I download a new image >>> * a couple of integrations may have happened in between!! >>> * but I want to continue working in my branch >>> >>> Then the scenario could be solved as: >>> - fetch from pharo >>> - if you're in detached mode, just use the merge image into branch >>> action and select your branch >>> - or if you want to do it manually: >>> - checkout your branch in your image without loading packages >>> - merge pharo/development into your branch >>> - continue working >>> >>> Now, what I would like is that we detect such "common rough scenarios" >>> and discuss how we could have a better UI support for them. >>> Maybe we need as a part of the Pharo plugin a wizard that takes you >>> through the "synchronize my image again please"? >>> Or could it be solved with some strategy that is general enough to be >>> reused in any repository? >>> >>> >>>> >>>> The new UI is intuitive and made it east to clone from pharo-project, >>>> make fix the push to bencoman. >>>> I worked this out from just a small bit of trial & error. >>>> >>>> >>>> One request... >>>> In attached snapshot where the remotes show "origin", >>>> please consider showing that as "pharo-project" >>>> The term "origin" is useful for generic documentation and for examples, >>>> but there is *nothing* special about that label from a git perspective. >>>> A remote is a remote is a remote. >>>> >>> >>> Well that's mostly a libgit thing. It does it by default I think when >>> you clone, and I'm pretty sure that a lot of people would be against >>> breaking such default because that's how git works also. >>> >> >> Its not "the" way git works. Its just the "default". >> Any name can be used to refer to the upstream repo. >> i.e... >> --origin <name> >> Instead of using the remote name origin to keep track of the >> upstream repository, use <name>. >> https://git-scm.com/docs/git-clone >> > > I know it's the default name git gives by default :). But changing that > may confuse people that are used to git also... > So I'm just thinking what would be the less surprising thing for most of > the people > > https://en.wikipedia.org/wiki/Principle_of_least_astonishment > I agree with the principle. btw its really nice how easy it is to choose which remote to push to. cheers -ben