diff --git a/repository/Fossil/FossilRepo.class.st b/repository/Fossil/FossilRepo.class.st index aa07b66..206e2a3 100644 --- a/repository/Fossil/FossilRepo.class.st +++ b/repository/Fossil/FossilRepo.class.st @@ -14,8 +14,7 @@ Class { #instVars : [ 'local', 'remote', - 'repository', - 'tiddlywiki' + 'repository' ], #classInstVars : [ 'executable' @@ -257,6 +256,13 @@ FossilRepo >> init: absolutePathString [ runAndWaitOnExitDo: [ :process :outString | ^ outString ] ] +{ #category : #testing } +FossilRepo >> isOpen [ + + self status ifEmpty: [ ^ false ]. + ^ true +] + { #category : #utilities } FossilRepo >> isUnversioned: aFileNameWithRelativePath [ @@ -302,6 +308,12 @@ FossilRepo >> lastVersionPath: aFileNameWithRelativePath [ ifFalse: [ ^ '/doc/tip/', aFileNameWithRelativePath ] ] +{ #category : #accessing } +FossilRepo >> listUnversioned [ + + ^ (self fossilUv: 'ls' and: '') lines +] + { #category : #accessing } FossilRepo >> local [ ^ local @@ -378,13 +390,17 @@ FossilRepo >> remote: anUrlString [ { #category : #accessing } FossilRepo >> repository [ - ^ repository + repository ifNotNil: [ ^ repository ]. + self isOpen ifFalse: [ ^ nil ]. + ^ repository := ((self status lines detect: + [ :line | line beginsWith: 'repository:' ]) + splitOn: ':') second trimmed. ] { #category : #accessing } FossilRepo >> repository: aFossilRepoFile [ - repository := aFossilRepoFile fullName + repository := aFossilRepoFile "fullName" ] { #category : #utilities } @@ -451,18 +467,12 @@ FossilRepo >> uvExport: fileReferenceFullName [ FossilRepo >> uvExportSTON [ | stonFileReferenceFullName | - stonFileReferenceFullName := (self uvLs lines) + stonFileReferenceFullName := (self listUnversioned) select: [ :each | each endsWith: '.ston' ]. stonFileReferenceFullName do: [ :each | self uvExport: each ]. ^ stonFileReferenceFullName ] -{ #category : #accessing } -FossilRepo >> uvLs [ - - ^ self fossilUv: 'ls' and: '' -] - { #category : #accessing } FossilRepo >> uvSync [