On Fri, Apr 13, 2018 at 7:34 PM, Ben Coman <btc@openinworld.com> wrote:On 14 April 2018 at 01:10, Guillermo Polito <guillermopolito@gmail.com> wrote:On Fri, Apr 13, 2018 at 5:57 PM, Ben Coman <btc@openinworld.com> wrote:On 13 April 2018 at 23:15, Alistair Grant <akgrant0710@gmail.com> wrote:On 13 April 2018 at 17:07, Cyril Ferlicot <cyril.ferlicot@gmail.com> wrote:
>
>
> On ven. 13 avr. 2018 at 17:03, Guillermo Polito <guillermopolito@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 "git@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 (git@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 =��git@github.com:pharo-project/pharo.git And back in the��"Working copy of pharo" windowclicked <Push>�� bringing again me to a window titled "Push pharo/21686-.../21686..."but now I had an extra option "bencoman <git@github.com:bencoman/pharo.git>" and selecting that and clicking�� <Push> worked!!!!Esteban is working on adding the add remote to the pull/push windowsso 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 setScenario 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 setBut 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 workingNow, 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>.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