External tools are now part of this repo, but as a separate package.

This commit is contained in:
Offray Vladimir Luna Cárdenas 2015-06-19 07:08:43 +00:00 committed by SantiagoBragagnolo
parent 513f27413b
commit f8d00fb9d6
4 changed files with 237 additions and 0 deletions

View 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-Fossil'
}

View 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-Fossil'
}
{ #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
]

View File

@ -0,0 +1,74 @@
"
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-Fossil'
}
{ #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'.
"Adding all commits except the first one who has no parents"
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');
tags: (commit at: 'tags')]).
"Adding parents for all commits except the first one who has no parents"
self commits allButLastDo: [:commit |
commit parents: (
"Seach for every parent in the commitsDict and adding it as parent to the commit properties"
commits select: [:each | each uuid = (((commitsDict at: 1) at: 'parents') at: 1)])]
]
{ #category : #'as yet unclassified' }
FossilTimeline >> initialize [
"comment stating purpose of message"
super initialize
]
{ #category : #accessing }
FossilTimeline >> parentsFor: aCommit [
"Returns the elements which are parents for aCommit"
^ self commits select: [:commit | commit uuid = (aCommit parents at: 1)]
]

View File

@ -0,0 +1 @@
Package { #name : #'Grafoscopio-ExternalTools' }