A new class for external tools, starting with Fossil-SCM :-) and its timeline visualization (which is still pending).
This commit is contained in:
parent
83685cb9fe
commit
264193be5e
29
repository/Grafoscopio/FossilBranch.class.st
Normal file
29
repository/Grafoscopio/FossilBranch.class.st
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
"
|
||||||
|
I store all the commits under a branch name in a timeline for a fossil repository
|
||||||
|
|
||||||
|
Public API and Key Messages
|
||||||
|
|
||||||
|
- message one
|
||||||
|
- message two
|
||||||
|
- what is the way to create instances is a plus.
|
||||||
|
|
||||||
|
One simple example is simply gorgeous.
|
||||||
|
|
||||||
|
Internal Representation and Key Implementation Points.
|
||||||
|
|
||||||
|
Instance Variables
|
||||||
|
commits: <Object>
|
||||||
|
name: <Object>
|
||||||
|
|
||||||
|
|
||||||
|
Implementation Points
|
||||||
|
"
|
||||||
|
Class {
|
||||||
|
#name : #FossilBranch,
|
||||||
|
#superclass : #Object,
|
||||||
|
#instVars : [
|
||||||
|
'name',
|
||||||
|
'commits'
|
||||||
|
],
|
||||||
|
#category : #'Grafoscopio-ExternalTools'
|
||||||
|
}
|
133
repository/Grafoscopio/FossilCommit.class.st
Normal file
133
repository/Grafoscopio/FossilCommit.class.st
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
"
|
||||||
|
I'm FossilCommit the representation of a commit in the history of a fossil repository.
|
||||||
|
|
||||||
|
I store the data of a single fossil commit, to help in the interaction with external fossil repositories and the
|
||||||
|
internal smalltalk objects. I was created to facilitate graphical representation of fossil repositorires inside Roassal.
|
||||||
|
|
||||||
|
For the Collaborators Part: State my main collaborators and one line about how I interact with them.
|
||||||
|
|
||||||
|
Public API and Key Messages
|
||||||
|
|
||||||
|
- message one
|
||||||
|
- message two
|
||||||
|
- what is the way to create instances is a plus.
|
||||||
|
|
||||||
|
One simple example is simply gorgeous.
|
||||||
|
|
||||||
|
Internal Representation and Key Implementation Points.
|
||||||
|
|
||||||
|
Instance Variables
|
||||||
|
comment: <Object>
|
||||||
|
isLeaf: <Object>
|
||||||
|
parents: <Object>
|
||||||
|
tags: <Object>
|
||||||
|
timestamp: <Object>
|
||||||
|
type: <Object>
|
||||||
|
user: <Object>
|
||||||
|
uuid: <Object>
|
||||||
|
|
||||||
|
|
||||||
|
Implementation Points
|
||||||
|
"
|
||||||
|
Class {
|
||||||
|
#name : #FossilCommit,
|
||||||
|
#superclass : #Object,
|
||||||
|
#instVars : [
|
||||||
|
'isLeaf',
|
||||||
|
'type',
|
||||||
|
'timestamp',
|
||||||
|
'user',
|
||||||
|
'uuid',
|
||||||
|
'comment',
|
||||||
|
'parents',
|
||||||
|
'tags'
|
||||||
|
],
|
||||||
|
#category : #'Grafoscopio-ExternalTools'
|
||||||
|
}
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> comment [
|
||||||
|
^ comment
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> comment: anObject [
|
||||||
|
comment := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #initializing }
|
||||||
|
FossilCommit >> initialize [
|
||||||
|
"Creates an empty commit"
|
||||||
|
|
||||||
|
super initialize.
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> isLeaf [
|
||||||
|
^ isLeaf
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> isLeaf: anObject [
|
||||||
|
isLeaf := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> parents [
|
||||||
|
^ parents
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> parents: anObject [
|
||||||
|
parents := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> tags [
|
||||||
|
^ tags
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> tags: anObject [
|
||||||
|
tags := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> timestamp [
|
||||||
|
^ timestamp
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> timestamp: anObject [
|
||||||
|
timestamp := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> type [
|
||||||
|
^ type
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> type: anObject [
|
||||||
|
type := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> user [
|
||||||
|
^ user
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> user: anObject [
|
||||||
|
user := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> uuid [
|
||||||
|
^ uuid
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilCommit >> uuid: anObject [
|
||||||
|
uuid := anObject
|
||||||
|
]
|
63
repository/Grafoscopio/FossilTimeline.class.st
Normal file
63
repository/Grafoscopio/FossilTimeline.class.st
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
"
|
||||||
|
I store all commits in a fossil timeline.
|
||||||
|
|
||||||
|
- message one
|
||||||
|
- message two
|
||||||
|
- what is the way to create instances is a plus.
|
||||||
|
|
||||||
|
One simple example is simply gorgeous.
|
||||||
|
|
||||||
|
Internal Representation and Key Implementation Points.
|
||||||
|
|
||||||
|
Instance Variables
|
||||||
|
commits: <Object>
|
||||||
|
|
||||||
|
|
||||||
|
Implementation Points
|
||||||
|
"
|
||||||
|
Class {
|
||||||
|
#name : #FossilTimeline,
|
||||||
|
#superclass : #Object,
|
||||||
|
#instVars : [
|
||||||
|
'commits'
|
||||||
|
],
|
||||||
|
#category : #'Grafoscopio-ExternalTools'
|
||||||
|
}
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilTimeline >> commits [
|
||||||
|
^ commits
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
FossilTimeline >> commits: anObject [
|
||||||
|
commits := anObject
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'as yet unclassified' }
|
||||||
|
FossilTimeline >> importFromUrl: aJsonFileUrl [
|
||||||
|
"Imports all commits stored in aJsonFileUrl and converts them in a collection of FossilCommit objects"
|
||||||
|
|
||||||
|
| commitsDict |
|
||||||
|
|
||||||
|
"Extracting data"
|
||||||
|
commitsDict := ((NeoJSONReader fromString: (aJsonFileUrl asUrl retrieveContents asString)) at: 'payload') at: 'timeline'.
|
||||||
|
|
||||||
|
"Transforming the data"
|
||||||
|
self commits: (commitsDict collect: [:commit |
|
||||||
|
FossilCommit new
|
||||||
|
uuid: (commit at: 'uuid');
|
||||||
|
type: (commit at: 'type');
|
||||||
|
timestamp: (commit at: 'timestamp');
|
||||||
|
user: (commit at: 'user');
|
||||||
|
comment: (commit at: 'comment');
|
||||||
|
"parents: (commit at: 'parents');"
|
||||||
|
tags: (commit at: 'tags')]).
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'as yet unclassified' }
|
||||||
|
FossilTimeline >> initialize [
|
||||||
|
"comment stating purpose of message"
|
||||||
|
|
||||||
|
super initialize
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user