- API fixes, more to come
authorvranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Wed, 19 Sep 2012 01:08:21 +0000
changeset 8 4275f357d3e8
parent 7 8932d5010a7b
child 9 2783c9882d30
- API fixes, more to come
git/GitCheckoutOptsStructure.st
git/GitCommit.st
git/GitConfigFileStructure.st
git/GitCvarMapStructure.st
git/GitDiffDeltaStructure.st
git/GitDiffFileStructure.st
git/GitDiffOptionsStructure.st
git/GitDiffRangeStructure.st
git/GitErrorStructure.st
git/GitIndexEntryStructure.st
git/GitIndexEntryUnmergedStructure.st
git/GitIndexTimeStructure.st
git/GitIndexerStatsStructure.st
git/GitModel.st
git/GitNoteDataStructure.st
git/GitObject.st
git/GitOdbBackendStructure.st
git/GitOdbStreamStructure.st
git/GitOid.st
git/GitOidStructure.st
git/GitPrimitives.st
git/GitRemoteCallbacksStructure.st
git/GitRemoteHeadStructure.st
git/GitRepository.st
git/GitRepositoryInitOptionsStructure.st
git/GitSignature.st
git/GitSignatureStructure.st
git/GitStatusOptionsStructure.st
git/GitStrarrayStructure.st
git/GitStructure.st
git/GitTimeStructure.st
git/Make.proto
git/Make.spec
git/abbrev.stc
git/bc.mak
git/git.rc
git/libInit.cc
git/stx_libscm_git.st
--- a/git/GitCheckoutOptsStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitCheckoutOptsStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitCheckoutOptsStructure
+GitStructure subclass:#GitCheckoutOptsStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitCommit.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitCommit.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
 GitObject subclass:#GitCommit
-	instanceVariableNames:'author commiter tree'
+	instanceVariableNames:'author commiter message timestamp tree'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Model'
+	category:'SCM-Git-Model'
 !
 
 
@@ -35,9 +35,33 @@
     "Created: / 10-09-2012 / 19:03:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+author
+    author isNil ifTrue:[     
+        author := GitSignature new
+                    setHandle: (GitPrimitives prim_git_commit_author: handle)
+                    yourself.
+    ].
+    ^author
+
+    "Created: / 19-09-2012 / 01:23:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+committer
+    commiter isNil ifTrue:[     
+        commiter := GitSignature new
+                    setHandleFromExternalAddress: (GitPrimitives prim_git_commit_committer: handle)
+                    yourself.
+    ].
+    ^commiter
+
+    "Created: / 19-09-2012 / 01:24:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 message
-    
-    ^GitPrimitives prim_git_commit_message: self.
+    message isNil ifTrue:[
+        message := GitPrimitives prim_git_commit_message: handle.
+    ].
+    ^message
 
     "Created: / 10-09-2012 / 14:34:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -48,10 +72,10 @@
     tree isNil ifTrue:[     
         | ref oid |    
         ref := ByteArray new: ExternalBytes sizeofPointer.
-        GitError raiseIfError: (GitPrimitives prim_git_commit_tree: ref commit: self).
-        oid := GitPrimitives prim_git_commit_tree_oid: self.
+        GitError raiseIfError: (GitPrimitives prim_git_commit_tree: ref commit: handle).
+        oid := GitPrimitives prim_git_commit_tree_oid: handle.
         tree := GitTree new
-                    setAddressFromBytes: ref;
+                    setHandleFromRef: ref;
                     setOid: oid;
                     setRepository: self repository;
                     yourself.
--- a/git/GitConfigFileStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitConfigFileStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitConfigFileStructure
+GitStructure subclass:#GitConfigFileStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitCvarMapStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitCvarMapStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitCvarMapStructure
+GitStructure subclass:#GitCvarMapStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitDiffDeltaStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitDiffDeltaStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitDiffDeltaStructure
+GitStructure subclass:#GitDiffDeltaStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitDiffFileStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitDiffFileStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitDiffFileStructure
+GitStructure subclass:#GitDiffFileStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitDiffOptionsStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitDiffOptionsStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitDiffOptionsStructure
+GitStructure subclass:#GitDiffOptionsStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitDiffRangeStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitDiffRangeStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitDiffRangeStructure
+GitStructure subclass:#GitDiffRangeStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitErrorStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitErrorStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitErrorStructure
+GitStructure subclass:#GitErrorStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitIndexEntryStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitIndexEntryStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitIndexEntryStructure
+GitStructure subclass:#GitIndexEntryStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitIndexEntryUnmergedStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitIndexEntryUnmergedStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitIndexEntryUnmergedStructure
+GitStructure subclass:#GitIndexEntryUnmergedStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitIndexTimeStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitIndexTimeStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitIndexTimeStructure
+GitStructure subclass:#GitIndexTimeStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitIndexerStatsStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitIndexerStatsStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitIndexerStatsStructure
+GitStructure subclass:#GitIndexerStatsStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitModel.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitModel.st	Wed Sep 19 01:08:21 2012 +0000
@@ -4,14 +4,14 @@
 	instanceVariableNames:'handle'
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Model'
+	category:'SCM-Git-Model'
 !
 
 
 !GitModel methodsFor:'finalization'!
 
 executor
-    ^self class basicNew setHandle: handle
+    ^self class basicNew setHandleFromOriginal: self
 
     "Created: / 08-09-2012 / 00:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -35,6 +35,12 @@
 
 !GitModel methodsFor:'private-accessing'!
 
+getHandle
+    ^handle
+
+    "Created: / 19-09-2012 / 00:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 getHandleClass
     ^self subclassResponsibility
 
@@ -44,15 +50,33 @@
 setHandle: hndl
     self assert: (hndl isNil or:[hndl class == self getHandleClass]).
     handle := hndl.
-    self registerForFinalization.
+    handle notNil ifTrue:[
+        self registerForFinalization.
+    ].
 
     "Created: / 17-09-2012 / 21:13:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+setHandleFromExternalAddress: anExternalAddress
+    | cls |
+
+    cls := self getHandleClass.
+    self setHandle: (self getHandleClass new setAddress: anExternalAddress address size: cls structSize)
+
+    "Created: / 19-09-2012 / 01:33:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandleFromOriginal: original
+    "To be called only from #executor"
+    handle := original getHandle
+
+    "Created: / 19-09-2012 / 01:26:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 setHandleFromRef: aByteArray
     self assert: aByteArray isByteArray.
     self assert: aByteArray size == ExternalAddress pointerSize.
-    handle := self getHandleClass new setAddressFromBytes: aByteArray
+    self setHandle: (self getHandleClass new setAddressFromBytes: aByteArray)
 
     "Created: / 17-09-2012 / 21:22:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
--- a/git/GitNoteDataStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitNoteDataStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitNoteDataStructure
+GitStructure subclass:#GitNoteDataStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitObject.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitObject.st	Wed Sep 19 01:08:21 2012 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'oid repository'
 	classVariableNames:''
 	poolDictionaries:'GitObjectType'
-	category:'Git-Model'
+	category:'SCM-Git-Model'
 !
 
 
@@ -15,7 +15,7 @@
         ^self new
     ].
     type == OBJ_COMMIT ifTrue:[
-        ^GitCommit
+        ^GitCommit new
     ].
     type == OBJ_TREE ifTrue:[
         ^GitTree new
--- a/git/GitOdbBackendStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitOdbBackendStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitOdbBackendStructure
+GitStructure subclass:#GitOdbBackendStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitOdbStreamStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitOdbStreamStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitOdbStreamStructure
+GitStructure subclass:#GitOdbStreamStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitOid.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitOid.st	Wed Sep 19 01:08:21 2012 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Model'
+	category:'SCM-Git-Model'
 !
 
 
@@ -75,6 +75,24 @@
     ^20
 ! !
 
+!GitOid methodsFor:'printing & storing'!
+
+displayOn:aStream
+    "append a printed representation if the receiver to the argument, aStream"
+
+    self hexPrintOn:aStream.
+
+    "Created: / 19-09-2012 / 00:34:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+printOn:aStream
+    "append a printed representation if the receiver to the argument, aStream"
+
+    self hexPrintOn:aStream.
+
+    "Modified: / 19-09-2012 / 00:32:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitOid class methodsFor:'documentation'!
 
 version_SVN
--- a/git/GitOidStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-"{ Package: 'stx:libscm/git' }"
-
-ExternalAddress subclass:#GitOidStructure
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	category:'Git-Internal-Structures'
-!
-
-
-!GitOidStructure class methodsFor:'accessing'!
-
-libraryName
-
-    OperatingSystem isUNIXlike ifTrue:[^'libgit2.so'].
-
-    OperatingSystem isMSWINDOWSlike ifTrue:[^'git2.dll'].
-
-    self error:'Library name for host OS is not known'
-!
-
-structSize
-    "Returns size of undelaying structure in bytes"
-
-    ^20
-! !
-
-!GitOidStructure methodsFor:'accessing'!
-
-id
-    "Returns a Cface::CArrayNode"
-
-    ^self at:1 + 0
-!
-
-id: value
-
-    self at:1 + 0 put:value
-! !
-
-!GitOidStructure class methodsFor:'documentation'!
-
-version_SVN
-    ^ '$Id::                                                                                                                        $'
-! !
--- a/git/GitPrimitives.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitPrimitives.st	Wed Sep 19 01:08:21 2012 +0000
@@ -4,9 +4,36 @@
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal'
+	category:'SCM-Git-Internal'
 !
 
+!GitPrimitives class methodsFor:'documentation'!
+
+dllPath
+    | packageDir dllPath |
+
+    dllPath := #().
+    packageDir := Smalltalk getPackageDirectoryForPackage: self package.
+    packageDir notNil ifTrue:[
+
+        OperatingSystem isUNIXlike ifTrue:[
+            dllPath := Array with: (packageDir / 'libs' / 'binary' / 'linux-i386') pathName
+        ].
+        OperatingSystem isMSWINDOWSlike ifTrue:[
+            dllPath := Array with: (packageDir / 'libs' / 'binary' / 'windows-x86') pathName
+        ].
+        ExternalLibraryFunction dllPath: ExternalLibraryFunction dllPath , dllPath
+    ].
+    ^dllPath
+! !
+
+!GitPrimitives class methodsFor:'accessing'!
+
+libraryName
+    ^OperatingSystem isMSWINDOWSlike ifTrue:['git2.dll'] ifFalse:['libgit2.so']
+
+    "Created: / 19-09-2012 / 00:16:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 
 !GitPrimitives class methodsFor:'primitives'!
 
--- a/git/GitRemoteCallbacksStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitRemoteCallbacksStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitRemoteCallbacksStructure
+GitStructure subclass:#GitRemoteCallbacksStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitRemoteHeadStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitRemoteHeadStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitRemoteHeadStructure
+GitStructure subclass:#GitRemoteHeadStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitRepository.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitRepository.st	Wed Sep 19 01:08:21 2012 +0000
@@ -4,7 +4,7 @@
 	instanceVariableNames:'path workdir'
 	classVariableNames:''
 	poolDictionaries:'GitObjectType'
-	category:'Git-Model'
+	category:'SCM-Git-Model'
 !
 
 
@@ -111,7 +111,7 @@
         ^nil.
     ].
     ref := ByteArray new: ExternalBytes sizeofPointer.
-    err := GitPrimitives prim_git_object_lookup: ref repo: self id: oid type: typeId.
+    err := GitPrimitives prim_git_object_lookup: ref repo: handle id: oid type: typeId.
     GitError raiseIfError: err.
 
     typeId == OBJ_ANY ifTrue:[
@@ -121,7 +121,7 @@
         type := typeId.
     ].
     obj := GitObject newForType: type.
-    obj
+    ^obj
         setHandleFromRef: ref;
         setOid: oid;
         setRepository: self;
--- a/git/GitRepositoryInitOptionsStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitRepositoryInitOptionsStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitRepositoryInitOptionsStructure
+GitStructure subclass:#GitRepositoryInitOptionsStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitSignature.st	Wed Sep 19 01:08:21 2012 +0000
@@ -0,0 +1,62 @@
+"{ Package: 'stx:libscm/git' }"
+
+GitModel subclass:#GitSignature
+	instanceVariableNames:'name email timestamp'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SCM-Git-Model'
+!
+
+
+!GitSignature methodsFor:'accessing'!
+
+email
+
+    (email isNil and:[handle notNil]) ifTrue:[
+        email := handle email copyCStringFromHeap utf8Decoded
+    ].
+    ^email
+
+    "Modified: / 19-09-2012 / 01:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name
+
+    (name isNil and:[handle notNil]) ifTrue:[
+        name := handle name copyCStringFromHeap utf8Decoded
+    ].
+    ^name
+
+    "Modified: / 19-09-2012 / 01:56:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+timestamp
+
+    (timestamp isNil and:[handle notNil]) ifTrue:[
+        timestamp := Timestamp new osTime: handle when time
+    ].
+    ^timestamp
+
+    "Modified: / 19-09-2012 / 01:20:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitSignature methodsFor:'private-accessing'!
+
+getHandleClass
+    ^GitSignatureStructure
+
+    "Created: / 19-09-2012 / 01:27:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandle: hndl
+    self assert: (hndl isNil or:[hndl class == self getHandleClass]).
+    handle := hndl.
+
+    "Created: / 19-09-2012 / 01:28:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitSignature class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/git/GitSignatureStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitSignatureStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitSignatureStructure
+GitStructure subclass:#GitSignatureStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
@@ -30,7 +30,9 @@
 email
     "Returns (pointer-to char)"
 
-    ^self pointerAt:1 + 4
+    ^ExternalAddress new setAddress: (self longAt:1 + 4)
+
+    "Modified: / 19-09-2012 / 01:57:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 email: value
@@ -41,7 +43,9 @@
 name
     "Returns (pointer-to char)"
 
-    ^self pointerAt:1 + 0
+    ^ExternalAddress new setAddress: (self longAt:1 + 0)
+
+    "Modified: / 19-09-2012 / 01:55:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 name: value
@@ -54,12 +58,16 @@
 ;; Class: GitTimeStructure
 "
 
-    ^self at:1 + 8
+    ^GitTimeStructure fromExternalAddress: (self longAt:1 + 8)
+
+    "Modified: / 19-09-2012 / 01:55:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-when: value
+when: aGitTimeStructure
 
-    self at:1 + 8 put:value
+    self pointerAt:1 + 8 put:aGitTimeStructure address
+
+    "Modified: / 19-09-2012 / 01:17:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GitSignatureStructure class methodsFor:'documentation'!
--- a/git/GitStatusOptionsStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitStatusOptionsStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitStatusOptionsStructure
+GitStructure subclass:#GitStatusOptionsStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/GitStrarrayStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitStrarrayStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitStrarrayStructure
+GitStructure subclass:#GitStrarrayStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -0,0 +1,31 @@
+"{ Package: 'stx:libscm/git' }"
+
+ExternalStructure subclass:#GitStructure
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SCM-Git-Internal-Structures'
+!
+
+
+!GitStructure class methodsFor:'accessing'!
+
+structSize
+    ^0
+
+    "Created: / 19-09-2012 / 01:53:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitStructure methodsFor:'private'!
+
+fromExternalAddress:anExternalAddress
+    self setAddress:(anExternalAddress address) size: self class structSize
+
+    "Created: / 19-09-2012 / 01:53:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitStructure class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/git/GitTimeStructure.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/GitTimeStructure.st	Wed Sep 19 01:08:21 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalAddress subclass:#GitTimeStructure
+GitStructure subclass:#GitTimeStructure
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Internal-Structures'
+	category:'SCM-Git-Internal-Structures'
 !
 
 
--- a/git/Make.proto	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/Make.proto	Wed Sep 19 01:08:21 2012 +0000
@@ -125,72 +125,73 @@
 $(OUTDIR)GitAttrType.$(O) GitAttrType.$(H): GitAttrType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitBlobHandle.$(O) GitBlobHandle.$(H): GitBlobHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitBranchType.$(O) GitBranchType.$(H): GitBranchType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitCheckoutOptsStructure.$(O) GitCheckoutOptsStructure.$(H): GitCheckoutOptsStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitCommitHandle.$(O) GitCommitHandle.$(H): GitCommitHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitConfigHandle.$(O) GitConfigHandle.$(H): GitConfigHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitCvarType.$(O) GitCvarType.$(H): GitCvarType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitDeltaType.$(O) GitDeltaType.$(H): GitDeltaType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffFileStructure.$(O) GitDiffFileStructure.$(H): GitDiffFileStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitDiffListHandle.$(O) GitDiffListHandle.$(H): GitDiffListHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffOptionsStructure.$(O) GitDiffOptionsStructure.$(H): GitDiffOptionsStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffRangeStructure.$(O) GitDiffRangeStructure.$(H): GitDiffRangeStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitError.$(O) GitError.$(H): GitError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitErrorKlass.$(O) GitErrorKlass.$(H): GitErrorKlass.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitErrorStructure.$(O) GitErrorStructure.$(H): GitErrorStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitFilemodeType.$(O) GitFilemodeType.$(H): GitFilemodeType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexEntryStructure.$(O) GitIndexEntryStructure.$(H): GitIndexEntryStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexEntryUnmergedStructure.$(O) GitIndexEntryUnmergedStructure.$(H): GitIndexEntryUnmergedStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexHandle.$(O) GitIndexHandle.$(H): GitIndexHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexTimeStructure.$(O) GitIndexTimeStructure.$(H): GitIndexTimeStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexerHandle.$(O) GitIndexerHandle.$(H): GitIndexerHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexerStatsStructure.$(O) GitIndexerStatsStructure.$(H): GitIndexerStatsStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexerStreamHandle.$(O) GitIndexerStreamHandle.$(H): GitIndexerStreamHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitModel.$(O) GitModel.$(H): GitModel.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitNoteDataStructure.$(O) GitNoteDataStructure.$(H): GitNoteDataStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitNoteHandle.$(O) GitNoteHandle.$(H): GitNoteHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitObjectHandle.$(O) GitObjectHandle.$(H): GitObjectHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitObjectType.$(O) GitObjectType.$(H): GitObjectType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOdbHandle.$(O) GitOdbHandle.$(H): GitOdbHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOdbObjectHandle.$(O) GitOdbObjectHandle.$(H): GitOdbObjectHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOid.$(O) GitOid.$(H): GitOid.st $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOidShortenHandle.$(O) GitOidShortenHandle.$(H): GitOidShortenHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitOidStructure.$(O) GitOidStructure.$(H): GitOidStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitPrimitives.$(O) GitPrimitives.$(H): GitPrimitives.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefType.$(O) GitRefType.$(H): GitRefType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitReferenceHandle.$(O) GitReferenceHandle.$(H): GitReferenceHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitReflogEntryHandle.$(O) GitReflogEntryHandle.$(H): GitReflogEntryHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitReflogHandle.$(O) GitReflogHandle.$(H): GitReflogHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefspecHandle.$(O) GitRefspecHandle.$(H): GitRefspecHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRemoteCompletionType.$(O) GitRemoteCompletionType.$(H): GitRemoteCompletionType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRemoteHandle.$(O) GitRemoteHandle.$(H): GitRemoteHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRepositoryHandle.$(O) GitRepositoryHandle.$(H): GitRepositoryHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitRepositoryInitOptionsStructure.$(O) GitRepositoryInitOptionsStructure.$(H): GitRepositoryInitOptionsStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitResetType.$(O) GitResetType.$(H): GitResetType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRevwalkHandle.$(O) GitRevwalkHandle.$(H): GitRevwalkHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitSignatureStructure.$(O) GitSignatureStructure.$(H): GitSignatureStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitStatusOptionsStructure.$(O) GitStatusOptionsStructure.$(H): GitStatusOptionsStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitStatusShowType.$(O) GitStatusShowType.$(H): GitStatusShowType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitStrarrayStructure.$(O) GitStrarrayStructure.$(H): GitStrarrayStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitStructure.$(O) GitStructure.$(H): GitStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleHandle.$(O) GitSubmoduleHandle.$(H): GitSubmoduleHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleIgnoreType.$(O) GitSubmoduleIgnoreType.$(H): GitSubmoduleIgnoreType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleStatusType.$(O) GitSubmoduleStatusType.$(H): GitSubmoduleStatusType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleUpdateType.$(O) GitSubmoduleUpdateType.$(H): GitSubmoduleUpdateType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTagHandle.$(O) GitTagHandle.$(H): GitTagHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitTimeStructure.$(O) GitTimeStructure.$(H): GitTimeStructure.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreeEntryHandle.$(O) GitTreeEntryHandle.$(H): GitTreeEntryHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreeHandle.$(O) GitTreeHandle.$(H): GitTreeHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreebuilderHandle.$(O) GitTreebuilderHandle.$(H): GitTreebuilderHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreewalkModeType.$(O) GitTreewalkModeType.$(H): GitTreewalkModeType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)stx_libscm_git.$(O) stx_libscm_git.$(H): stx_libscm_git.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitCheckoutOptsStructure.$(O) GitCheckoutOptsStructure.$(H): GitCheckoutOptsStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffFileStructure.$(O) GitDiffFileStructure.$(H): GitDiffFileStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffOptionsStructure.$(O) GitDiffOptionsStructure.$(H): GitDiffOptionsStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffRangeStructure.$(O) GitDiffRangeStructure.$(H): GitDiffRangeStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitErrorStructure.$(O) GitErrorStructure.$(H): GitErrorStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexEntryStructure.$(O) GitIndexEntryStructure.$(H): GitIndexEntryStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexEntryUnmergedStructure.$(O) GitIndexEntryUnmergedStructure.$(H): GitIndexEntryUnmergedStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexTimeStructure.$(O) GitIndexTimeStructure.$(H): GitIndexTimeStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexerStatsStructure.$(O) GitIndexerStatsStructure.$(H): GitIndexerStatsStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitNoteDataStructure.$(O) GitNoteDataStructure.$(H): GitNoteDataStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)/stx/libscm/git/GitObjectType.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)/stx/libscm/git/GitObjectType.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitRepositoryInitOptionsStructure.$(O) GitRepositoryInitOptionsStructure.$(H): GitRepositoryInitOptionsStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignature.$(O) GitSignature.$(H): GitSignature.st $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignatureStructure.$(O) GitSignatureStructure.$(H): GitSignatureStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitStatusOptionsStructure.$(O) GitStatusOptionsStructure.$(H): GitStatusOptionsStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitStrarrayStructure.$(O) GitStrarrayStructure.$(H): GitStrarrayStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitTimeStructure.$(O) GitTimeStructure.$(H): GitTimeStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitCommit.$(O) GitCommit.$(H): GitCommit.st $(INCLUDE_TOP)/stx/libscm/git/GitObject.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitTree.$(O) GitTree.$(H): GitTree.st $(INCLUDE_TOP)/stx/libscm/git/GitObject.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 
--- a/git/Make.spec	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/Make.spec	Wed Sep 19 01:08:21 2012 +0000
@@ -50,6 +50,7 @@
 STCWARNINGS=-warnNonStandard
 
 COMMON_CLASSES= \
+	GitStructure \
 	GitObjectType \
 	GitModel \
 	GitError \
@@ -92,7 +93,6 @@
 	GitOdbObjectHandle \
 	GitOdbStreamStructure \
 	GitOidShortenHandle \
-	GitOidStructure \
 	GitRefType \
 	GitReferenceHandle \
 	GitReflogEntryHandle \
@@ -121,11 +121,13 @@
 	GitTreebuilderHandle \
 	GitTreewalkModeType \
 	GitPrimitives \
+	GitSignature \
 
 
 
 
 COMMON_OBJS= \
+    $(OUTDIR)GitStructure.$(O) \
     $(OUTDIR)GitObjectType.$(O) \
     $(OUTDIR)GitModel.$(O) \
     $(OUTDIR)GitError.$(O) \
@@ -168,7 +170,6 @@
     $(OUTDIR)GitOdbObjectHandle.$(O) \
     $(OUTDIR)GitOdbStreamStructure.$(O) \
     $(OUTDIR)GitOidShortenHandle.$(O) \
-    $(OUTDIR)GitOidStructure.$(O) \
     $(OUTDIR)GitRefType.$(O) \
     $(OUTDIR)GitReferenceHandle.$(O) \
     $(OUTDIR)GitReflogEntryHandle.$(O) \
@@ -197,6 +198,7 @@
     $(OUTDIR)GitTreebuilderHandle.$(O) \
     $(OUTDIR)GitTreewalkModeType.$(O) \
     $(OUTDIR)GitPrimitives.$(O) \
+    $(OUTDIR)GitSignature.$(O) \
 
 
 
--- a/git/abbrev.stc	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/abbrev.stc	Wed Sep 19 01:08:21 2012 +0000
@@ -1,74 +1,75 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
-GitObjectType GitObjectType stx:libscm/git 'Git-Internal-Constants' 0
-GitModel GitModel stx:libscm/git 'Git-Model' 0
-GitError GitError stx:libscm/git 'Git-Exceptions' 1
-GitObject GitObject stx:libscm/git 'Git-Model' 0
-GitCommit GitCommit stx:libscm/git 'Git-Model' 0
-GitOid GitOid stx:libscm/git 'Git-Model' 0
-GitRepository GitRepository stx:libscm/git 'Git-Model' 0
-GitTree GitTree stx:libscm/git 'Git-Model' 0
+GitStructure GitStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitObjectType GitObjectType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitModel GitModel stx:libscm/git 'SCM-Git-Model' 0
+GitError GitError stx:libscm/git 'SCM-Git-Exceptions' 1
+GitObject GitObject stx:libscm/git 'SCM-Git-Model' 0
+GitCommit GitCommit stx:libscm/git 'SCM-Git-Model' 0
+GitOid GitOid stx:libscm/git 'SCM-Git-Model' 0
+GitRepository GitRepository stx:libscm/git 'SCM-Git-Model' 0
+GitTree GitTree stx:libscm/git 'SCM-Git-Model' 0
 stx_libscm_git stx_libscm_git stx:libscm/git '* Projects & Packages *' 3
-GitAttrType GitAttrType stx:libscm/git 'Git-Internal-Constants' 0
-GitBlobHandle GitBlobHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitBranchType GitBranchType stx:libscm/git 'Git-Internal-Constants' 0
-GitCheckoutOptsStructure GitCheckoutOptsStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitCommitHandle GitCommitHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitConfigFileStructure GitConfigFileStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitConfigHandle GitConfigHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitCvarMapStructure GitCvarMapStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitCvarType GitCvarType stx:libscm/git 'Git-Internal-Constants' 0
-GitDeltaType GitDeltaType stx:libscm/git 'Git-Internal-Constants' 0
-GitDiffDeltaStructure GitDiffDeltaStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitDiffFileStructure GitDiffFileStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitDiffListHandle GitDiffListHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitDiffOptionsStructure GitDiffOptionsStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitDiffRangeStructure GitDiffRangeStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitErrorKlass GitErrorKlass stx:libscm/git 'Git-Internal-Constants' 0
-GitErrorStructure GitErrorStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitFilemodeType GitFilemodeType stx:libscm/git 'Git-Internal-Constants' 0
-GitIndexEntryStructure GitIndexEntryStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitIndexEntryUnmergedStructure GitIndexEntryUnmergedStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitIndexHandle GitIndexHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitIndexTimeStructure GitIndexTimeStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitIndexerHandle GitIndexerHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitIndexerStatsStructure GitIndexerStatsStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitIndexerStreamHandle GitIndexerStreamHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitNoteDataStructure GitNoteDataStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitNoteHandle GitNoteHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitObjectHandle GitObjectHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitOdbBackendStructure GitOdbBackendStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitOdbHandle GitOdbHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitOdbObjectHandle GitOdbObjectHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitOdbStreamStructure GitOdbStreamStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitOidShortenHandle GitOidShortenHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitOidStructure GitOidStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitRefType GitRefType stx:libscm/git 'Git-Internal-Constants' 0
-GitReferenceHandle GitReferenceHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitReflogEntryHandle GitReflogEntryHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitReflogHandle GitReflogHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitRefspecHandle GitRefspecHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitRemoteCallbacksStructure GitRemoteCallbacksStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitRemoteCompletionType GitRemoteCompletionType stx:libscm/git 'Git-Internal-Constants' 0
-GitRemoteHandle GitRemoteHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitRemoteHeadStructure GitRemoteHeadStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitRepositoryHandle GitRepositoryHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitRepositoryInitOptionsStructure GitRepositoryInitOptionsStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitResetType GitResetType stx:libscm/git 'Git-Internal-Constants' 0
-GitRevwalkHandle GitRevwalkHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitSignatureStructure GitSignatureStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitStatusOptionsStructure GitStatusOptionsStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitStatusShowType GitStatusShowType stx:libscm/git 'Git-Internal-Constants' 0
-GitStrarrayStructure GitStrarrayStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitSubmoduleHandle GitSubmoduleHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitSubmoduleIgnoreType GitSubmoduleIgnoreType stx:libscm/git 'Git-Internal-Constants' 0
-GitSubmoduleStatusType GitSubmoduleStatusType stx:libscm/git 'Git-Internal-Constants' 0
-GitSubmoduleUpdateType GitSubmoduleUpdateType stx:libscm/git 'Git-Internal-Constants' 0
-GitTagHandle GitTagHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitTimeStructure GitTimeStructure stx:libscm/git 'Git-Internal-Structures' 0
-GitTreeEntryHandle GitTreeEntryHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitTreeHandle GitTreeHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitTreebuilderHandle GitTreebuilderHandle stx:libscm/git 'Git-Internal-Handles' 0
-GitTreewalkModeType GitTreewalkModeType stx:libscm/git 'Git-Internal-Constants' 0
-GitPrimitives GitPrimitives stx:libscm/git 'Git-Internal' 0
+GitAttrType GitAttrType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitBlobHandle GitBlobHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitBranchType GitBranchType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitCheckoutOptsStructure GitCheckoutOptsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitCommitHandle GitCommitHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitConfigFileStructure GitConfigFileStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitConfigHandle GitConfigHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitCvarMapStructure GitCvarMapStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitCvarType GitCvarType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitDeltaType GitDeltaType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitDiffDeltaStructure GitDiffDeltaStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitDiffFileStructure GitDiffFileStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitDiffListHandle GitDiffListHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitDiffOptionsStructure GitDiffOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitDiffRangeStructure GitDiffRangeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitErrorKlass GitErrorKlass stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitErrorStructure GitErrorStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitFilemodeType GitFilemodeType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitIndexEntryStructure GitIndexEntryStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitIndexEntryUnmergedStructure GitIndexEntryUnmergedStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitIndexHandle GitIndexHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitIndexTimeStructure GitIndexTimeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitIndexerHandle GitIndexerHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitIndexerStatsStructure GitIndexerStatsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitIndexerStreamHandle GitIndexerStreamHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitNoteDataStructure GitNoteDataStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitNoteHandle GitNoteHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitObjectHandle GitObjectHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitOdbBackendStructure GitOdbBackendStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitOdbHandle GitOdbHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitOdbObjectHandle GitOdbObjectHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitOdbStreamStructure GitOdbStreamStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitOidShortenHandle GitOidShortenHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRefType GitRefType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitReferenceHandle GitReferenceHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitReflogEntryHandle GitReflogEntryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitReflogHandle GitReflogHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRefspecHandle GitRefspecHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRemoteCallbacksStructure GitRemoteCallbacksStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitRemoteCompletionType GitRemoteCompletionType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitRemoteHandle GitRemoteHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRemoteHeadStructure GitRemoteHeadStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitRepositoryHandle GitRepositoryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRepositoryInitOptionsStructure GitRepositoryInitOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitResetType GitResetType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitRevwalkHandle GitRevwalkHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitSignatureStructure GitSignatureStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitStatusOptionsStructure GitStatusOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitStatusShowType GitStatusShowType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitStrarrayStructure GitStrarrayStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitSubmoduleHandle GitSubmoduleHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitSubmoduleIgnoreType GitSubmoduleIgnoreType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitSubmoduleStatusType GitSubmoduleStatusType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitSubmoduleUpdateType GitSubmoduleUpdateType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitTagHandle GitTagHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitTimeStructure GitTimeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
+GitTreeEntryHandle GitTreeEntryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitTreeHandle GitTreeHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitTreebuilderHandle GitTreebuilderHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitTreewalkModeType GitTreewalkModeType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitPrimitives GitPrimitives stx:libscm/git 'SCM-Git-Internal' 0
+GitSignature GitSignature stx:libscm/git 'SCM-Git-Model' 0
--- a/git/bc.mak	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/bc.mak	Wed Sep 19 01:08:21 2012 +0000
@@ -61,72 +61,73 @@
 $(OUTDIR)GitAttrType.$(O) GitAttrType.$(H): GitAttrType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitBlobHandle.$(O) GitBlobHandle.$(H): GitBlobHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitBranchType.$(O) GitBranchType.$(H): GitBranchType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitCheckoutOptsStructure.$(O) GitCheckoutOptsStructure.$(H): GitCheckoutOptsStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitCommitHandle.$(O) GitCommitHandle.$(H): GitCommitHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitConfigHandle.$(O) GitConfigHandle.$(H): GitConfigHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitCvarType.$(O) GitCvarType.$(H): GitCvarType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitDeltaType.$(O) GitDeltaType.$(H): GitDeltaType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffFileStructure.$(O) GitDiffFileStructure.$(H): GitDiffFileStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitDiffListHandle.$(O) GitDiffListHandle.$(H): GitDiffListHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffOptionsStructure.$(O) GitDiffOptionsStructure.$(H): GitDiffOptionsStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitDiffRangeStructure.$(O) GitDiffRangeStructure.$(H): GitDiffRangeStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitError.$(O) GitError.$(H): GitError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitErrorKlass.$(O) GitErrorKlass.$(H): GitErrorKlass.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitErrorStructure.$(O) GitErrorStructure.$(H): GitErrorStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitFilemodeType.$(O) GitFilemodeType.$(H): GitFilemodeType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexEntryStructure.$(O) GitIndexEntryStructure.$(H): GitIndexEntryStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexEntryUnmergedStructure.$(O) GitIndexEntryUnmergedStructure.$(H): GitIndexEntryUnmergedStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexHandle.$(O) GitIndexHandle.$(H): GitIndexHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexTimeStructure.$(O) GitIndexTimeStructure.$(H): GitIndexTimeStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexerHandle.$(O) GitIndexerHandle.$(H): GitIndexerHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitIndexerStatsStructure.$(O) GitIndexerStatsStructure.$(H): GitIndexerStatsStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndexerStreamHandle.$(O) GitIndexerStreamHandle.$(H): GitIndexerStreamHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitModel.$(O) GitModel.$(H): GitModel.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitNoteDataStructure.$(O) GitNoteDataStructure.$(H): GitNoteDataStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitNoteHandle.$(O) GitNoteHandle.$(H): GitNoteHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitObjectHandle.$(O) GitObjectHandle.$(H): GitObjectHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitObjectType.$(O) GitObjectType.$(H): GitObjectType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOdbHandle.$(O) GitOdbHandle.$(H): GitOdbHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOdbObjectHandle.$(O) GitOdbObjectHandle.$(H): GitOdbObjectHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOid.$(O) GitOid.$(H): GitOid.st $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOidShortenHandle.$(O) GitOidShortenHandle.$(H): GitOidShortenHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitOidStructure.$(O) GitOidStructure.$(H): GitOidStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitPrimitives.$(O) GitPrimitives.$(H): GitPrimitives.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefType.$(O) GitRefType.$(H): GitRefType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitReferenceHandle.$(O) GitReferenceHandle.$(H): GitReferenceHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitReflogEntryHandle.$(O) GitReflogEntryHandle.$(H): GitReflogEntryHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitReflogHandle.$(O) GitReflogHandle.$(H): GitReflogHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefspecHandle.$(O) GitRefspecHandle.$(H): GitRefspecHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRemoteCompletionType.$(O) GitRemoteCompletionType.$(H): GitRemoteCompletionType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRemoteHandle.$(O) GitRemoteHandle.$(H): GitRemoteHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRepositoryHandle.$(O) GitRepositoryHandle.$(H): GitRepositoryHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitRepositoryInitOptionsStructure.$(O) GitRepositoryInitOptionsStructure.$(H): GitRepositoryInitOptionsStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitResetType.$(O) GitResetType.$(H): GitResetType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRevwalkHandle.$(O) GitRevwalkHandle.$(H): GitRevwalkHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitSignatureStructure.$(O) GitSignatureStructure.$(H): GitSignatureStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitStatusOptionsStructure.$(O) GitStatusOptionsStructure.$(H): GitStatusOptionsStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitStatusShowType.$(O) GitStatusShowType.$(H): GitStatusShowType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitStrarrayStructure.$(O) GitStrarrayStructure.$(H): GitStrarrayStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitStructure.$(O) GitStructure.$(H): GitStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleHandle.$(O) GitSubmoduleHandle.$(H): GitSubmoduleHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleIgnoreType.$(O) GitSubmoduleIgnoreType.$(H): GitSubmoduleIgnoreType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleStatusType.$(O) GitSubmoduleStatusType.$(H): GitSubmoduleStatusType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitSubmoduleUpdateType.$(O) GitSubmoduleUpdateType.$(H): GitSubmoduleUpdateType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTagHandle.$(O) GitTagHandle.$(H): GitTagHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitTimeStructure.$(O) GitTimeStructure.$(H): GitTimeStructure.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreeEntryHandle.$(O) GitTreeEntryHandle.$(H): GitTreeEntryHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreeHandle.$(O) GitTreeHandle.$(H): GitTreeHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreebuilderHandle.$(O) GitTreebuilderHandle.$(H): GitTreebuilderHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTreewalkModeType.$(O) GitTreewalkModeType.$(H): GitTreewalkModeType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)stx_libscm_git.$(O) stx_libscm_git.$(H): stx_libscm_git.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitCheckoutOptsStructure.$(O) GitCheckoutOptsStructure.$(H): GitCheckoutOptsStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffFileStructure.$(O) GitDiffFileStructure.$(H): GitDiffFileStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffOptionsStructure.$(O) GitDiffOptionsStructure.$(H): GitDiffOptionsStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitDiffRangeStructure.$(O) GitDiffRangeStructure.$(H): GitDiffRangeStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitErrorStructure.$(O) GitErrorStructure.$(H): GitErrorStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexEntryStructure.$(O) GitIndexEntryStructure.$(H): GitIndexEntryStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexEntryUnmergedStructure.$(O) GitIndexEntryUnmergedStructure.$(H): GitIndexEntryUnmergedStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexTimeStructure.$(O) GitIndexTimeStructure.$(H): GitIndexTimeStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitIndexerStatsStructure.$(O) GitIndexerStatsStructure.$(H): GitIndexerStatsStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitNoteDataStructure.$(O) GitNoteDataStructure.$(H): GitNoteDataStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)\stx\libscm\git\GitObjectType.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)\stx\libscm\git\GitObjectType.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitRepositoryInitOptionsStructure.$(O) GitRepositoryInitOptionsStructure.$(H): GitRepositoryInitOptionsStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignature.$(O) GitSignature.$(H): GitSignature.st $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignatureStructure.$(O) GitSignatureStructure.$(H): GitSignatureStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitStatusOptionsStructure.$(O) GitStatusOptionsStructure.$(H): GitStatusOptionsStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitStrarrayStructure.$(O) GitStrarrayStructure.$(H): GitStrarrayStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitTimeStructure.$(O) GitTimeStructure.$(H): GitTimeStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitCommit.$(O) GitCommit.$(H): GitCommit.st $(INCLUDE_TOP)\stx\libscm\git\GitObject.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitTree.$(O) GitTree.$(H): GitTree.st $(INCLUDE_TOP)\stx\libscm\git\GitObject.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
--- a/git/git.rc	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/git.rc	Wed Sep 19 01:08:21 2012 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.1\0"
-      VALUE "ProductDate", "Tue, 18 Sep 2012 08:04:01 GMT\0"
+      VALUE "ProductDate", "Wed, 19 Sep 2012 01:08:48 GMT\0"
     END
 
   END
--- a/git/libInit.cc	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/libInit.cc	Wed Sep 19 01:08:21 2012 +0000
@@ -30,72 +30,73 @@
 _GitAttrType_Init(pass,__pRT__,snd);
 _GitBlobHandle_Init(pass,__pRT__,snd);
 _GitBranchType_Init(pass,__pRT__,snd);
-_GitCheckoutOptsStructure_Init(pass,__pRT__,snd);
 _GitCommitHandle_Init(pass,__pRT__,snd);
-_GitConfigFileStructure_Init(pass,__pRT__,snd);
 _GitConfigHandle_Init(pass,__pRT__,snd);
-_GitCvarMapStructure_Init(pass,__pRT__,snd);
 _GitCvarType_Init(pass,__pRT__,snd);
 _GitDeltaType_Init(pass,__pRT__,snd);
-_GitDiffDeltaStructure_Init(pass,__pRT__,snd);
-_GitDiffFileStructure_Init(pass,__pRT__,snd);
 _GitDiffListHandle_Init(pass,__pRT__,snd);
-_GitDiffOptionsStructure_Init(pass,__pRT__,snd);
-_GitDiffRangeStructure_Init(pass,__pRT__,snd);
 _GitError_Init(pass,__pRT__,snd);
 _GitErrorKlass_Init(pass,__pRT__,snd);
-_GitErrorStructure_Init(pass,__pRT__,snd);
 _GitFilemodeType_Init(pass,__pRT__,snd);
-_GitIndexEntryStructure_Init(pass,__pRT__,snd);
-_GitIndexEntryUnmergedStructure_Init(pass,__pRT__,snd);
 _GitIndexHandle_Init(pass,__pRT__,snd);
-_GitIndexTimeStructure_Init(pass,__pRT__,snd);
 _GitIndexerHandle_Init(pass,__pRT__,snd);
-_GitIndexerStatsStructure_Init(pass,__pRT__,snd);
 _GitIndexerStreamHandle_Init(pass,__pRT__,snd);
 _GitModel_Init(pass,__pRT__,snd);
-_GitNoteDataStructure_Init(pass,__pRT__,snd);
 _GitNoteHandle_Init(pass,__pRT__,snd);
 _GitObjectHandle_Init(pass,__pRT__,snd);
 _GitObjectType_Init(pass,__pRT__,snd);
-_GitOdbBackendStructure_Init(pass,__pRT__,snd);
 _GitOdbHandle_Init(pass,__pRT__,snd);
 _GitOdbObjectHandle_Init(pass,__pRT__,snd);
-_GitOdbStreamStructure_Init(pass,__pRT__,snd);
 _GitOid_Init(pass,__pRT__,snd);
 _GitOidShortenHandle_Init(pass,__pRT__,snd);
-_GitOidStructure_Init(pass,__pRT__,snd);
 _GitPrimitives_Init(pass,__pRT__,snd);
 _GitRefType_Init(pass,__pRT__,snd);
 _GitReferenceHandle_Init(pass,__pRT__,snd);
 _GitReflogEntryHandle_Init(pass,__pRT__,snd);
 _GitReflogHandle_Init(pass,__pRT__,snd);
 _GitRefspecHandle_Init(pass,__pRT__,snd);
-_GitRemoteCallbacksStructure_Init(pass,__pRT__,snd);
 _GitRemoteCompletionType_Init(pass,__pRT__,snd);
 _GitRemoteHandle_Init(pass,__pRT__,snd);
-_GitRemoteHeadStructure_Init(pass,__pRT__,snd);
 _GitRepositoryHandle_Init(pass,__pRT__,snd);
-_GitRepositoryInitOptionsStructure_Init(pass,__pRT__,snd);
 _GitResetType_Init(pass,__pRT__,snd);
 _GitRevwalkHandle_Init(pass,__pRT__,snd);
-_GitSignatureStructure_Init(pass,__pRT__,snd);
-_GitStatusOptionsStructure_Init(pass,__pRT__,snd);
 _GitStatusShowType_Init(pass,__pRT__,snd);
-_GitStrarrayStructure_Init(pass,__pRT__,snd);
+_GitStructure_Init(pass,__pRT__,snd);
 _GitSubmoduleHandle_Init(pass,__pRT__,snd);
 _GitSubmoduleIgnoreType_Init(pass,__pRT__,snd);
 _GitSubmoduleStatusType_Init(pass,__pRT__,snd);
 _GitSubmoduleUpdateType_Init(pass,__pRT__,snd);
 _GitTagHandle_Init(pass,__pRT__,snd);
-_GitTimeStructure_Init(pass,__pRT__,snd);
 _GitTreeEntryHandle_Init(pass,__pRT__,snd);
 _GitTreeHandle_Init(pass,__pRT__,snd);
 _GitTreebuilderHandle_Init(pass,__pRT__,snd);
 _GitTreewalkModeType_Init(pass,__pRT__,snd);
 _stx_137libscm_137git_Init(pass,__pRT__,snd);
+_GitCheckoutOptsStructure_Init(pass,__pRT__,snd);
+_GitConfigFileStructure_Init(pass,__pRT__,snd);
+_GitCvarMapStructure_Init(pass,__pRT__,snd);
+_GitDiffDeltaStructure_Init(pass,__pRT__,snd);
+_GitDiffFileStructure_Init(pass,__pRT__,snd);
+_GitDiffOptionsStructure_Init(pass,__pRT__,snd);
+_GitDiffRangeStructure_Init(pass,__pRT__,snd);
+_GitErrorStructure_Init(pass,__pRT__,snd);
+_GitIndexEntryStructure_Init(pass,__pRT__,snd);
+_GitIndexEntryUnmergedStructure_Init(pass,__pRT__,snd);
+_GitIndexTimeStructure_Init(pass,__pRT__,snd);
+_GitIndexerStatsStructure_Init(pass,__pRT__,snd);
+_GitNoteDataStructure_Init(pass,__pRT__,snd);
 _GitObject_Init(pass,__pRT__,snd);
+_GitOdbBackendStructure_Init(pass,__pRT__,snd);
+_GitOdbStreamStructure_Init(pass,__pRT__,snd);
+_GitRemoteCallbacksStructure_Init(pass,__pRT__,snd);
+_GitRemoteHeadStructure_Init(pass,__pRT__,snd);
 _GitRepository_Init(pass,__pRT__,snd);
+_GitRepositoryInitOptionsStructure_Init(pass,__pRT__,snd);
+_GitSignature_Init(pass,__pRT__,snd);
+_GitSignatureStructure_Init(pass,__pRT__,snd);
+_GitStatusOptionsStructure_Init(pass,__pRT__,snd);
+_GitStrarrayStructure_Init(pass,__pRT__,snd);
+_GitTimeStructure_Init(pass,__pRT__,snd);
 _GitCommit_Init(pass,__pRT__,snd);
 _GitTree_Init(pass,__pRT__,snd);
 
--- a/git/stx_libscm_git.st	Tue Sep 18 23:09:13 2012 +0000
+++ b/git/stx_libscm_git.st	Wed Sep 19 01:08:21 2012 +0000
@@ -27,7 +27,7 @@
      exclude individual packages in the #excludedFromPrerequisites method."
 
     ^ #(
-        #'stx:libbasic'    "Object - superclass of GitStatusShowType "
+        #'stx:libbasic'    "Exception - superclass of GitError "
     )
 ! !
 
@@ -41,6 +41,7 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
+        GitStructure
         GitObjectType
         GitModel
         GitError
@@ -83,7 +84,6 @@
         GitOdbObjectHandle
         GitOdbStreamStructure
         GitOidShortenHandle
-        GitOidStructure
         GitRefType
         GitReferenceHandle
         GitReflogEntryHandle
@@ -112,6 +112,7 @@
         GitTreebuilderHandle
         GitTreewalkModeType
         GitPrimitives
+        GitSignature
     )
 !