From 553d8b8552ff66ecba82ba49472ca187e821ea71 Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Mon, 15 Jun 2015 08:56:18 +0000 Subject: [PATCH] Fossil timeline stores all parents info. --- repository/Grafoscopio/FossilTimeline.class.st | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/repository/Grafoscopio/FossilTimeline.class.st b/repository/Grafoscopio/FossilTimeline.class.st index 811e6a3..1391605 100644 --- a/repository/Grafoscopio/FossilTimeline.class.st +++ b/repository/Grafoscopio/FossilTimeline.class.st @@ -38,12 +38,12 @@ FossilTimeline >> commits: anObject [ FossilTimeline >> importFromUrl: aJsonFileUrl [ "Imports all commits stored in aJsonFileUrl and converts them in a collection of FossilCommit objects" - | commitsDict | + | commitsDict parents i | "Extracting data" commitsDict := ((NeoJSONReader fromString: (aJsonFileUrl asUrl retrieveContents asString)) at: 'payload') at: 'timeline'. - "Transforming the data" + "Adding all commits except the first one who has no parents" self commits: (commitsDict collect: [:commit | FossilCommit new uuid: (commit at: 'uuid'); @@ -51,8 +51,13 @@ FossilTimeline >> importFromUrl: aJsonFileUrl [ timestamp: (commit at: 'timestamp'); user: (commit at: 'user'); comment: (commit at: 'comment'); - "parents: (commit at: 'parents');" tags: (commit at: 'tags')]). + "Adding parents for all commits except the first one who has no parents" + parents := commitsDict allButLast collect: [:each | (each at: 'parents')]. + i := 0. + self commits allButLastDo: [:commit | + i := i + 1. + commit parents: (parents at: i)] ] { #category : #'as yet unclassified' }