In Iceberg you currently can:

1) Download a project using metacello github:// protocol
2) Use Iceberg to make it "writable" (i.e. transform it to an Iceberg
repository, pointing to the same remote repository), this is just one step.
3) Commit and push using the new repo, etc.

What it is not done yet is the integration with github (or whatever)
fork/pr capabilities, it is in the roadmap but not just now because those
are not standard git operations, so it will involve communicating directly
to the github rest api (and others, we will not be attached to git nor
github).

So you should add two extra steps which are forking and pull requesting
from outside Pharo (or requesting access to the respository to commit right
there).

This should be a normal flow for contributing to a tool you are using,
right now is partially supported to be done from a git(hub) repository, I
intend to extend it to be done also from tools installed from smalltalkhub,
etc. Should be the same thing.


About the discussion between commits and PRs... I've seen both models
working right, I think that both have their advantages and I would like to
build tools to support both schemas. Personally, I prefer to give people
the possibility to commit, but even so I am used to work with PRs, because
it really helps the code review. Yes you can have your own branch, and I
can see the changes introduced by any commit, but usually is a PR that
moves people towards looking to the code, and I think that it is a nice
model that works well in practice.
In other projects, you have to fork, commit there, then PR, if two people
want to work together in an issue is not obvious how to do it... it adds
more bureaucracy, it might be necessary for a large project like Pharo, but
normally I prefer to avoid it.

On Fri, Jul 22, 2016 at 4:42 PM, Esteban Lorenzano <esteba...@gmail.com>
wrote:

> Hi,
>
> This flow is taken into account in the new iceberg... I cannot go into
> details because I'm still on holidays (and no internet) until Monday... And
> Nico is also taking some days.
> Anyway, yes... We had this flow in mind (and others, of course) when we
> worked in the use cases we want to support.
>
> Cheers,
> Esteban
>
> > On 22 Jul 2016, at 15:14, Ben Coman <b...@openinworld.com> wrote:
> >
> >> On Fri, Jul 22, 2016 at 3:11 PM, Peter Uhnak <i.uh...@gmail.com> wrote:
> >>> On Fri, Jul 22, 2016 at 11:55:46AM +0800, Ben Coman wrote:
> >>> I'm not sure what the roadmap is for git integration, but just a use
> case
> >>> that occurs to me while I work "a bit with git" for the first time from
> >>> Pharo.
> >>>
> >>> I install a project via a Baseline from git and makes a small
> improvement.
> >>> What is the easiest way to contribute back?  I can't push back to the
> >>> personal repo I downloaded from, so the easiest thing would be a single
> >>> menu item to:
> >>> 1. Fork original repository
> >>> 2. Push current in-Image code to a new branch in that fork.
> >>>
> >>> Maybe even...
> >>> 3. Issue a pull request to the original repository.
> >>
> >> This is indeed the idiomatic way to contribute on GitHub.
> >>
> >> 1. fork
> >> 2. install _your fork_ with gitfiletree/remote git repo
> >> 3. make an improvement (you can use master branch, since it's your
> repo, but that's a detail)
> >> 4. issue a pull request
> >
> > That is how you do it if you *already* know you want to be contribute
> > to an application or package. But what if I was just planning to *use*
> > an application or package, only later I ended up tracing down a bug to
> > that application and fixed it.  What is the *easiest* for me to push
> > to my personal github account from where I make the Pull Request.
> > Something like this [1] from within Pharo (disclaimer, I've not
> > performed these action before, I had to hunt a bit to find it as an
> > example)...
> >
> > [1] https://gist.github.com/jagregory/710671
> >
> >> Maybe IceBerg (https://github.com/npasserini/iceberg) could have some
> nice interface for this eventually.
> >
> > Thanks for the link.  This will be interesting to watch.
> >
> > cheers -ben
> >
>
>

Reply via email to