Support for GrafoscopioNode remote location in Fossil, for getting estimated creation of Grafoscopio notebooks/nodes.
This commit is contained in:
parent
51ad735e0e
commit
006b8c6663
@ -15,7 +15,8 @@ Class {
|
|||||||
'edited',
|
'edited',
|
||||||
'headers',
|
'headers',
|
||||||
'key',
|
'key',
|
||||||
'output'
|
'output',
|
||||||
|
'remoteLocations'
|
||||||
],
|
],
|
||||||
#category : #MiniDocs
|
#category : #MiniDocs
|
||||||
}
|
}
|
||||||
@ -26,6 +27,11 @@ GrafoscopioNode class >> fromFile: aFileReference [
|
|||||||
^ (STON fromString: aFileReference contents) first parent
|
^ (STON fromString: aFileReference contents) first parent
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
GrafoscopioNode >> addRemoteLocation: anURL [
|
||||||
|
self remoteLocations add: anURL
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #accessing }
|
{ #category : #accessing }
|
||||||
GrafoscopioNode >> ancestors [
|
GrafoscopioNode >> ancestors [
|
||||||
"I return a collection of all the nodes wich are ancestors of the receiver node"
|
"I return a collection of all the nodes wich are ancestors of the receiver node"
|
||||||
@ -115,12 +121,25 @@ GrafoscopioNode >> earliestCreationDate [
|
|||||||
|
|
||||||
self nodesWithCreationDates ifNotEmpty: [
|
self nodesWithCreationDates ifNotEmpty: [
|
||||||
earliest := self nodesWithCreationDates first created]
|
earliest := self nodesWithCreationDates first created]
|
||||||
ifEmpty: [ earliest := self ].
|
ifEmpty: [ earliest := self earliestRepositoryTimestamp].
|
||||||
self nodesWithCreationDates do: [:node |
|
self nodesWithCreationDates do: [:node |
|
||||||
node created <= earliest ifTrue: [ earliest := node created ] ].
|
node created <= earliest ifTrue: [ earliest := node created ] ].
|
||||||
^ earliest
|
^ earliest
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
GrafoscopioNode >> earliestRepositoryTimestamp [
|
||||||
|
| remote fossilHost docSegments repo |
|
||||||
|
remote := self remoteLocations first asUrl.
|
||||||
|
fossilHost := 'https://mutabit.com/repos.fossil'.
|
||||||
|
(remote asString includesSubstring: fossilHost) ifFalse: [ ^ false ].
|
||||||
|
docSegments := remote segments copyFrom: 5 to: remote segments size.
|
||||||
|
repo := FossilRepo new
|
||||||
|
remote: (remote scheme, '://', remote host, '/', remote segments first, '/', remote segments second).
|
||||||
|
^ repo
|
||||||
|
firstCheckinFor: ('/' join: docSegments)
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #accessing }
|
{ #category : #accessing }
|
||||||
GrafoscopioNode >> edited [
|
GrafoscopioNode >> edited [
|
||||||
^ edited ifNotNil: [^ edited asDateAndTime ]
|
^ edited ifNotNil: [^ edited asDateAndTime ]
|
||||||
@ -245,6 +264,11 @@ GrafoscopioNode >> printOn: aStream [
|
|||||||
nextPutAll: '( ', self header, ' )'
|
nextPutAll: '( ', self header, ' )'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #accessing }
|
||||||
|
GrafoscopioNode >> remoteLocations [
|
||||||
|
^ remoteLocations ifNil: [ remoteLocations := OrderedCollection new]
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #accessing }
|
{ #category : #accessing }
|
||||||
GrafoscopioNode >> root [
|
GrafoscopioNode >> root [
|
||||||
self level = 0 ifTrue: [ ^ self ].
|
self level = 0 ifTrue: [ ^ self ].
|
||||||
|
Loading…
Reference in New Issue
Block a user