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