Esteban's ChangeLog week of 17 July 2017

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Esteban's ChangeLog week of 17 July 2017

EstebanLM
Hello!

This is my weekly ChangeLog, from 17 July 2017 to 23 July 2017.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=17/7/2017&to=23/7/2017

ChangeLog
=========

20 July 2017:
-------------

*    I'm fixing the Pharo7 build process to finally get to the point where we can use easily the Iceberg-based
    process. We have two remaining problems:
   
   
    . Since we use plain filetree on the bootstrap process, we do not have version information of packages.
    . Also because of that (and because Iceberg uses metadataless format), we do not have correct timestamps.
   
    So, today (last two days, in fact), I fixed point 1, by adding a Pharo +hidden+ repository to iceberg and
    setting the package ancestors with correct version info. This way, all comparissons are fine :)
   
    Process is kind of complex to explain here, but basically we replace the +cypress.1+ info with a correct
    version with a commit reference.
   

19 July 2017:
-------------

*    I released [Iceberg v0.5.3](https://github.com/pharo-vcs/iceberg/releases/tag/v0.5.3)
   
    I needed this because the load/merge/pull times for large projects were innaceptable, mainly
    because after doing the pull into the local workingcopy, it was scanning all packages to see
    what changed and load them. This naive approach was ok for most of the projects, but those with
    many packages (like Pharo itself) were taking ages to perform a merge.
   
    Now we do it as the sync: we figure out packages that changed between your installed version and
    the upcoming version and we merge just that.
   
    Also, I fixed some other important issues:
   
    * +#isAncestorOf:+ was scanning all commits.
   
    Again, this worked for small projects. Big ones (as Pharo) were not scaling.
   
    * I created "system repository" concept.
   
    This is because Pharo7 will be dispatched with a Pharo repository but no local checkout. Then you
    will see an invalid project in iceberg window. This is not good because most of the times users
    will not care about it, but it will be annoying :)
   
    Now, if you are a Pharo developer, you can add to your startup actions this script:
   
    ----
    Iceberg showSystemRepositories: true.
    IceRepository registry
    detect: [ :each | each name = 'pharo' ]
    ifFound: [ :each | each location: '/path/to/your/location/of/pharo-project/pharo' asFileReference ].
    ----
   
    with this, you will have always access to your Pharo repository.
   

17 July 2017:
-------------

*    I just cameback from a week off. I released a patch version of [Iceberg (0.5.2)](https://github.com/pharo-vcs/iceberg/tree/v0.5.2),
    mostly to fix an override problem, but incorporating some other contributions.
   

cheers!
Esteban