On Sun, Sep 10, 2017 at 5:06 PM, Esteban Lorenzano <estebanlm@gmail.com> wrote:

On 10 Sep 2017, at 10:56, Henrik-Nergaard <draagren@outlook.com> wrote:

Everyone who used filetree with metadata can tell it is super annoying and
destroys the complete experience.
There has been a fix for this on the issue tracker for some time:
https://pharo.fogbugz.com/f/cases/20251/Write-out-filetree-metadata-in-order

that���s not related. Timestamp conflicts are related two different users touching exactly same part of source: conflict guaranteed, no matter the order.��

Just a random idea, how about each time writing timestamps to��
a different file name "timestamps.$HashOfClassSourceFile"
Then git would never complain of a conflict(??). ��

I haven't thought that through a lot.�� I guess with a git merge you end up with two "timestamps" files with different stamps for the same method so its unclear which to use - so the timestamps file might include the hash of the method source, so regardless of the mechanism to merge the ClassSourceFile, you can work back to the timestamp.

For example... ��
Morph class>>announcer ��{
�� �� �� �� #sourceHash : '264011013dab93d02fb5c0f0f68eaa64063bc750',
#category : #accessing,
#timestamp : ' 8/31/2017 05:26:11'
}

where...
(SHA1 new hashMessage: '[

^ announcer ifNil: [ announcer := Announcer new ].
]') hex �� " ��==> '264011013dab93d02fb5c0f0f68eaa64063bc750' ��"


Maybe a lot of holes in the idea, but I thought it worth stimulating a few neurons out there.
cheers -ben��


btw, Tonel export order is deterministic and it will always output same data in same way.

Esteban