git/GitObject.st
author vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Mon, 10 Sep 2012 18:33:35 +0000
changeset 4 b52b9cfe9b77
parent 2 9731a2e41428
child 5 57c20a77e549
permissions -rw-r--r--
- GitObject added:5 methods - GitRepository added:7 methods changed: #lookup:type: #open: category of: - GitTree added: #/ - GitOid changed: #fromString: - GitCommit class definition added: #/ #setRepository: #tree - stx_libscm_git changed: #classNamesAndAttributes #extensionMethodNames #preRequisites

"{ Package: 'stx:libscm/git' }"

GitHandle subclass:#GitObject
	instanceVariableNames:'oid repository'
	classVariableNames:''
	poolDictionaries:'GitObjectType'
	category:'Git-Model'
!


!GitObject class methodsFor:'instance creation'!

newForType: type
    type == OBJ_ANY ifTrue:[
        ^self new
    ].
    type == OBJ_COMMIT ifTrue:[
        ^GitCommit
    ].
    type == OBJ_TREE ifTrue:[
        ^GitTree new
    ].
    type == OBJ_TAG ifTrue:[
        ^GitTag new 
    ].
    type == OBJ_BLOB ifTrue:[
        ^GitBlob new
    ].
    self error:'Unsupported git object type: ', type printString.

    "Created: / 10-09-2012 / 18:52:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!GitObject class methodsFor:'accessing'!

structSize
    "Returns size of undelaying structure in bytes"

    ^0
! !

!GitObject methodsFor:'accessing'!

oid
    ^ oid
!

repository
    ^ repository
! !

!GitObject methodsFor:'finalization'!

basicFree
    ^GitPrimitives prim_git_object_free: self.

    "Created: / 08-09-2012 / 00:21:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!GitObject methodsFor:'initialization'!

setOid: aGitOid
    oid := aGitOid

    "Created: / 10-09-2012 / 18:54:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

setRepository: aGitRepository
    repository := aGitRepository

    "Created: / 10-09-2012 / 18:50:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!GitObject class methodsFor:'documentation'!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !