The metadata are lost because of the metadata-less FileTree format. In
FileTree the method metadata are not stored in the method file but in a
class specific file. All methods metadata in one file. If you use FileTree
with metadata, it causes a lot of needless changes and conflicts.

So we have no methods metadata because the repository does not contain them.

However the real question is if we need them in the form we had them until
now because they are flattened as soon as a new changes file (release) is
created and it stores only information about the last person who touched
the method, not about the author nor wider history.

What we need to do is to export older versions to the Pharo Git repository
and take method history information from the VCS. Do not try to duplicate
VCS behavior with the changes file because the purpose of changes file is
different.

Cheers,
-- Pavel




2017-07-10 10:15 GMT+02:00 Guillermo Polito <guillermopol...@gmail.com>:

>
>
> On Sun, Jul 9, 2017 at 10:10 PM, Henrik Nergaard <draag...@outlook.com>
> wrote:
>
>> Hi,
>>
>> I had a look at the Pharo 7.0 today and see metadata for methods (Author
>> and timestamp) has been removed*, what is the reason for this?
>>
>> Having the ability to find methods created around the same time and/or by
>> author is quite useful when fixing bugs in the core libraries.
>>
>> There is also quite a lot of history that is lost as well with this
>> change (I am always impressed when I stumble upon methods over 15-20 years
>> old!).
>>
>>
>>
>> Could this be reverted, please?
>>
>> [*] all methods have a stamp, but it is the same for all with only a
>> timestamp from the bootstrap(?).
>>
>>
> Hi Henrik,
>
> I'm sorry about that, it's probably a side effect of the bootstrap. We may
> have to track down the cause, so if you can help, it's most welcome :). For
> that I can explain you the process as it is today:
>
>  1st) We previously exported all code from Pharo to FileTree (Metadataless
> I think). This step is not done anymore.
>  2nd) We bootstrap from the packages on FileTree by first compiling
> methods without metadata.
>
>  3rd) We export all bootstrap packages from filetree to MCZ
>
> https://github.com/pharo-project/pharo/blob/development/bootstrap/src/
> Pharo30Bootstrap.package/PBBootstrap.class/instance/
> exportAllPackagesIntoMcz.st
>
>  4th) Once the first image is ready (without source code nor meta-data) we
> install monticello and we reload all mcz files
>         This regenerates the source code and should load all metadata in
> mczs
>
> https://github.com/pharo-project/pharo/blob/development/bootstrap/scripts/
> 02-monticello-bootstrap/02-bootstrapMonticello.st
>
> So either it is that the metadata is lost in Filetree because it is
> metadataless, or it is lost in the intermediate conversion to mcz, or in
> the loading.
>
> Guille
>
>
>>
>>
>> Best regards,
>>
>> Henrik
>>
>>
>
>
> --
>
>
>
> Guille Polito
>
>
> Research Engineer
>
> French National Center for Scientific Research - *http://www.cnrs.fr*
> <http://www.cnrs.fr>
>
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>

Reply via email to