<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-06-07 16:45 GMT+02:00 Esteban Lorenzano <span dir="ltr"><<a href="mailto:estebanlm@gmail.com" target="_blank">estebanlm@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br><div style="overflow-wrap: break-word;"><br><div><blockquote type="cite"><div>On 7 Jun 2017, at 15:15, Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmai<wbr>l.com</a>> wrote:</div><br class="gmail-m_-3915654541088853328m_2416585979958534157Apple-interchange-newline"><div><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-06-07 14:32 GMT+02:00 Esteban Lorenzano <span dir="ltr"><<a href="mailto:estebanlm@gmail.com" target="_blank">estebanlm@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hi Dave, list<br>
<br>
I want to commit some changes to OSProcessPlugin.<br>
Can I have rights to that repository?<br>
<br>
thanks,<br>
Esteban<br>
<br>
ps: I need to insist in the necessity of having all VM plugins (the “official” ones: those who are compiled with the osvm builds) in the same place. Otherwise this is a horrible (and irreproducible) process.<br>
<br>
</blockquote></div><br></div><div class="gmail_extra">Hi Esteban,<br></div><div class="gmail_extra">why not reproducible?<br></div><div class="gmail_extra">Isn't it manageable with a Monticello Configuration Map (.mcm) as David suggested, or a Metacello ConfigurationOf... for being more pharo-to-date?<br></div></div>
</div></blockquote><br></div><div>because is a pain to maintain, and having different repository services makes you needing to thrust in different providers status, and then if you want to work offline you need to take a copy of each repository which are dispersed all around the world.</div></div></blockquote><div><br></div><div>The  location are relatively stable so far (one move from <a href="http://www.squeacksource.com" target="_blank">www.squeaksource.com</a> to <a href="http://source.squeak.org" target="_blank">source.squeak.org</a> for VMMaker a few years ago).<br> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div>I just lost 3 hours of my life trying to figure out which version of OSProcessPlugin was the correct one, then looking for the correct repository, etc. </div><div>This wouldn’t happened if all used plugins are maintained together. </div><div><br></div></div></blockquote><div>... Nor if you would use either a mcm or Metacello configuration.<br><br><div>Speaking of repository map, I just checked the status of Pharo 6, and it does not look more simple:<br><br> <img src="cid:ii_15c83e11c0588f60" alt="Images intégrées 1" height="412" width="367"><br></div><div><br></div></div><div>Naming branches and tagging stability is a different problem than repository location.<br><br></div><div>For OSProcess, there are only two branches (interpreter and oscog/spur), and history is quite linear (just bug fixes). So the policy is: load latest, run regression tests, revert only if something goes wrong. <br><br></div><div>It's true that in MC, explicitely naming branches is optional, but we can...<br>It's just a convention (like naming master trunk cog or anything else is just a convention in git). I'm not sure we really need it yet for plugins, new features are scarce.<br><br></div><div>The main difference is not about branches, it's more about integration of tools, issues/wiki/PR/CI.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div></div><div>btw (advocating for the way I would like to have things) this wouldn’t even be necessary if all packages needed would be versioned along the platform sources, using filetree format… then having the clone of your desired version you would be sure to have also the correct VMMaker AND plugin versions… but I know this way of sorting things is too much to ask, so I would be happy if all packages are *at least* in the same place.</div><div><br></div><div>Esteban</div><div><br></div></div></blockquote><div><br><div>For having worked a bit on the pharo-vm two years ago, the workflow was horrible.<br><br>We had the workspace provided by image state - which is like a mixture of working copy (dirty with unpublished changes) + staging area (cherry picking thru MC GUI), eventually with branches/stach saved in package-cache, or in other MC repositories.<br><br>This was concurrencing the working copy on disk, which was often out of sync, and conflicting.<br><br>Branches in MC repositories had to be synced manually with git branches (I used my own Smalltalkhub repository for my own experiments with many feature branches, plus 
official VMMaker repo which I regularly tried to merge, plus pharo VM 
github repo).<br><br>Each pull request was rotting immediately due to MC metadata and incomprehensible policy of ignoring the merge tool provided by Thierry Goubier (which was working quite smoothly).<br>And there were bugs introduced by pharo in MC, plus bugs of file names too long, and I probably forget other annoyances.<br><br></div><div>So it was a nice experiment for learning, but clearly not mature.<br></div><div><br></div><div>Shifting entirely to git would reduce the complications a bit. and I promise I will test the new git-based-in-image-version-control-tools provided by Pharo and help getting closer to your ideal world.<br>But what about the status of image changes? Or is the image a pseudo file system?<br>Anyway, you know it will take time to reach the maturity and smoothness of MC. MC rocks (at least in Squeak).<br><br> </div></div><div>Stability of tools apart, for OSProcessPlugin, we have a different case: the manager wants to 
control integration of change requests. How is it going to work with a 
single repository? Or is it something you want to change too?</div></div><br></div></div>