On Fri, Jul 22, 2016 at 04:11:32PM +0200, Peter Uhnak wrote: > On Fri, Jul 22, 2016 at 09:14:25PM +0800, Ben Coman 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)... > > > > This would depend a bit on how you installed the project to start with. > > If you installed it with gitfiletree/remote git repo, then you can follow > what you've just posted, because it's the same. > > However if you installed it via the github:// protocol (or it was > automatically pulled in via some other project's BaselineOf or > ConfigurationOf), > then it's a bit of pain, because you can't just pull in another project with > the same baseline (Metacello it thinks it's a different project). > > Luckily, you should be able to explicitly permit the conflict: > > Metacello new > baseline: 'MyProject'; > repository: 'gitfiletree://wherever'; > onConflict: [:ex | ex allow ]; > load
Oh, and after this you would follow the same approach. Let's hope IceBerg streamlines this. > > We should be documenting these things somewhere… > > Peter