- GitHandle
authorvranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Fri, 07 Sep 2012 23:38:22 +0000
changeset 1 8f4fde3c7129
parent 0 71c763bbb4bc
child 2 9731a2e41428
- GitHandle added: #basicFree #version_SVN changed: #free category of: - GitObject class definition added: #basicFree #finalize #free - GitPrimitives added: #dllPath #initialize #libraryName - GitRepository class definition added: #basicFree #finalize #free #open: - GitStructure added:7 methods category of: - GitSignature class definition added: #basicFree - stx_libscm_git changed: #classNamesAndAttributes #extensionMethodNames #preRequisites
git/GitHandle.st
git/GitObject.st
git/GitPrimitives.st
git/GitRepository.st
git/GitSignature.st
git/GitStructure.st
git/Make.proto
git/Make.spec
git/abbrev.stc
git/bc.mak
git/git.rc
git/lccmake.bat
git/libInit.cc
git/stx_libscm_git.st
git/tccmake.bat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitHandle.st	Fri Sep 07 23:38:22 2012 +0000
@@ -0,0 +1,72 @@
+"{ Package: 'stx:libscm/git' }"
+
+ExternalAddress subclass:#GitHandle
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Git-Model'
+!
+
+
+!GitHandle methodsFor:'finalization'!
+
+basicFree
+    self subclassResponsibility
+
+    "Created: / 08-09-2012 / 00:20:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+executor
+    ^self class new basicSetAddress: self address.
+
+    "Created: / 08-09-2012 / 00:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+finalize
+    self free
+
+    "Created: / 07-09-2012 / 23:08:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+free
+    self address ~~ 0 ifTrue:[
+        self basicFree.
+        self setAddress: 0
+    ].
+
+    "Created: / 08-09-2012 / 00:01:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitHandle methodsFor:'private-accessing'!
+
+basicSetAddress: address
+    super setAddress: address.
+
+    "Created: / 08-09-2012 / 00:07:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setAddress: address
+    self address ~~ 0 ifTrue:[
+        self error: 'Trying to set address twice'.
+    ].
+    super setAddress: address.
+    self registerForFinalization
+
+    "Created: / 08-09-2012 / 00:06:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setAddressFromBytes:aByteArray
+    self address ~~ 0 ifTrue:[
+        self error: 'Trying to set address twice'.
+    ].
+    super setAddressFromBytes:aByteArray.
+    self registerForFinalization
+
+    "Created: / 08-09-2012 / 00:06:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitHandle class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/git/GitObject.st	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/GitObject.st	Fri Sep 07 23:38:22 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalStructure subclass:#GitObject
+GitHandle subclass:#GitObject
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Support-libgit2'
+	category:'Git-Model'
 !
 
 
@@ -24,6 +24,14 @@
     ^0
 ! !
 
+!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 class methodsFor:'documentation'!
 
 version_SVN
--- a/git/GitPrimitives.st	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/GitPrimitives.st	Fri Sep 07 23:38:22 2012 +0000
@@ -8,2175 +8,2204 @@
 !
 
 
+!GitPrimitives class methodsFor:'accessing'!
+
+dllPath
+
+    ^#('/home/jv/work/libgit2/build')
+
+    "Created: / 07-09-2012 / 23:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initialize
+
+    ExternalLibraryFunction dllPath:
+        (ExternalLibraryFunction dllPath
+            copyWith: '/home/jv/work/libgit2/build')
+
+    "Created: / 07-09-2012 / 23:56:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+libraryName
+
+    OperatingSystem isUNIXlike ifTrue:[^'libgit2.so'].
+
+    OperatingSystem isMSWINDOWSlike ifTrue:[^'git2.dll'].
+
+    self error:'Library name for host OS is not known'
+
+    "Created: / 07-09-2012 / 23:48:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitPrimitives class methodsFor:'primitives'!
 
-primGitAttrAddMacro: repo name: name values: values 
+prim_git_attr_add_macro: repo name: name values: values 
 
     <cdecl: int32 "git_attr_add_macro" ( GitRepository charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitAttrCacheFlush: repo 
+prim_git_attr_cache_flush: repo 
 
     <cdecl: void "git_attr_cache_flush" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitAttrForeach: repo flags: flags path: path callback: callback payload: payload 
+prim_git_attr_foreach: repo flags: flags path: path callback: callback payload: payload 
 
     <cdecl: int32 "git_attr_foreach" ( GitRepository uint32 charPointer pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitAttrGet: value_out repo: repo flags: flags path: path name: name 
+prim_git_attr_get: value_out repo: repo flags: flags path: path name: name 
 
     <cdecl: int32 "git_attr_get" ( pointer GitRepository uint32 charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitAttrGetMany: values_out repo: repo flags: flags path: path numAttr: num_attr names: names 
+prim_git_attr_get_many: values_out repo: repo flags: flags path: path num_attr: num_attr names: names 
 
     <cdecl: int32 "git_attr_get_many" ( pointer GitRepository uint32 charPointer long pointer ) >
     self primitiveFailed
 !
 
-primGitAttrValue: attr 
+prim_git_attr_value: attr 
 
     <cdecl: int32 "git_attr_value" ( charPointer ) >
     self primitiveFailed
 !
 
-primGitBlobCreateFrombuffer: oid repo: repo buffer: buffer len: len 
+prim_git_blob_create_frombuffer: oid repo: repo buffer: buffer len: len 
 
     <cdecl: int32 "git_blob_create_frombuffer" ( GitOid GitRepository voidPointer long ) >
     self primitiveFailed
 !
 
-primGitBlobCreateFromchunks: oid repo: repo hintpath: hintpath sourceCb: source_cb payload: payload 
+prim_git_blob_create_fromchunks: oid repo: repo hintpath: hintpath source_cb: source_cb payload: payload 
 
     <cdecl: int32 "git_blob_create_fromchunks" ( GitOid GitRepository charPointer pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitBlobCreateFromdisk: oid repo: repo path: path 
+prim_git_blob_create_fromdisk: oid repo: repo path: path 
 
     <cdecl: int32 "git_blob_create_fromdisk" ( GitOid GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitBlobCreateFromfile: oid repo: repo path: path 
+prim_git_blob_create_fromfile: oid repo: repo path: path 
 
     <cdecl: int32 "git_blob_create_fromfile" ( GitOid GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitBlobFree: blob 
+prim_git_blob_free: blob 
 
     <cdecl: void "git_blob_free" ( GitBlob ) >
     self primitiveFailed
 !
 
-primGitBlobLookup: blob repo: repo id: id 
+prim_git_blob_lookup: blob repo: repo id: id 
 
     <cdecl: int32 "git_blob_lookup" ( pointer GitRepository GitOid ) >
     self primitiveFailed
 !
 
-primGitBlobLookupPrefix: blob repo: repo id: id len: len 
+prim_git_blob_lookup_prefix: blob repo: repo id: id len: len 
 
     <cdecl: int32 "git_blob_lookup_prefix" ( pointer GitRepository GitOid long ) >
     self primitiveFailed
 !
 
-primGitBlobRawcontent: blob 
+prim_git_blob_rawcontent: blob 
 
     <cdecl: voidPointer "git_blob_rawcontent" ( GitBlob ) >
     self primitiveFailed
 !
 
-primGitBlobRawsize: blob 
+prim_git_blob_rawsize: blob 
 
     <cdecl: long "git_blob_rawsize" ( GitBlob ) >
     self primitiveFailed
 !
 
-primGitBranchCreate: branch_out repo: repo branchName: branch_name target: target force: force 
+prim_git_branch_create: branch_out repo: repo branch_name: branch_name target: target force: force 
 
     <cdecl: int32 "git_branch_create" ( pointer GitRepository charPointer GitObject int32 ) >
     self primitiveFailed
 !
 
-primGitBranchDelete: branch 
+prim_git_branch_delete: branch 
 
     <cdecl: int32 "git_branch_delete" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitBranchForeach: repo listFlags: list_flags branchCb: branch_cb payload: payload 
+prim_git_branch_foreach: repo list_flags: list_flags branch_cb: branch_cb payload: payload 
 
     <cdecl: int32 "git_branch_foreach" ( GitRepository uint32 pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitBranchLookup: branch_out repo: repo branchName: branch_name branchType: branch_type 
+prim_git_branch_lookup: branch_out repo: repo branch_name: branch_name branch_type: branch_type 
 
     <cdecl: int32 "git_branch_lookup" ( pointer GitRepository charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitBranchMove: branch newBranchName: new_branch_name force: force 
+prim_git_branch_move: branch new_branch_name: new_branch_name force: force 
 
     <cdecl: int32 "git_branch_move" ( GitReference charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitBranchTracking: tracking_out branch: branch 
+prim_git_branch_tracking: tracking_out branch: branch 
 
     <cdecl: int32 "git_branch_tracking" ( pointer GitReference ) >
     self primitiveFailed
 !
 
-primGitCheckoutHead: repo opts: opts stats: stats 
+prim_git_checkout_head: repo opts: opts stats: stats 
 
     <cdecl: int32 "git_checkout_head" ( GitRepository GitCheckoutOpts GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitCheckoutReference: ref opts: opts stats: stats 
+prim_git_checkout_reference: ref opts: opts stats: stats 
 
     <cdecl: int32 "git_checkout_reference" ( GitReference GitCheckoutOpts GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitClone: out originUrl: origin_url workdirPath: workdir_path fetchStats: fetch_stats checkoutStats: checkout_stats checkoutOpts: checkout_opts 
+prim_git_clone: out origin_url: origin_url workdir_path: workdir_path fetch_stats: fetch_stats checkout_stats: checkout_stats checkout_opts: checkout_opts 
 
     <cdecl: int32 "git_clone" ( pointer charPointer charPointer GitIndexerStats GitIndexerStats GitCheckoutOpts ) >
     self primitiveFailed
 !
 
-primGitCloneBare: out originUrl: origin_url destPath: dest_path fetchStats: fetch_stats 
+prim_git_clone_bare: out origin_url: origin_url dest_path: dest_path fetch_stats: fetch_stats 
 
     <cdecl: int32 "git_clone_bare" ( pointer charPointer charPointer GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitCommitAuthor: commit 
+prim_git_commit_author: commit 
 
     <cdecl: GitSignature "git_commit_author" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitCommitter: commit 
+prim_git_commit_committer: commit 
 
     <cdecl: GitSignature "git_commit_committer" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitCreate: oid repo: repo updateRef: update_ref author: author committer: committer messageEncoding: message_encoding message: message tree: tree parentCount: parent_count parents: parents 
+prim_git_commit_create: oid repo: repo update_ref: update_ref author: author committer: committer message_encoding: message_encoding message: message tree: tree parent_count: parent_count parents: parents 
 
     <cdecl: int32 "git_commit_create" ( GitOid GitRepository charPointer GitSignature GitSignature charPointer charPointer GitTree int32 pointer ) >
     self primitiveFailed
 !
 
-primGitCommitCreateV: oid repo: repo updateRef: update_ref author: author committer: committer messageEncoding: message_encoding message: message tree: tree parentCount: parent_count 
+prim_git_commit_create_v: oid repo: repo update_ref: update_ref author: author committer: committer message_encoding: message_encoding message: message tree: tree parent_count: parent_count 
 
     <cdecl: int32 "git_commit_create_v" ( GitOid GitRepository charPointer GitSignature GitSignature charPointer charPointer GitTree int32 ) >
     self primitiveFailed
 !
 
-primGitCommitFree: commit 
+prim_git_commit_free: commit 
 
     <cdecl: void "git_commit_free" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitId: commit 
+prim_git_commit_id: commit 
 
     <cdecl: GitOid "git_commit_id" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitLookup: commit repo: repo id: id 
+prim_git_commit_lookup: commit repo: repo id: id 
 
     <cdecl: int32 "git_commit_lookup" ( pointer GitRepository GitOid ) >
     self primitiveFailed
 !
 
-primGitCommitLookupPrefix: commit repo: repo id: id len: len 
+prim_git_commit_lookup_prefix: commit repo: repo id: id len: len 
 
     <cdecl: int32 "git_commit_lookup_prefix" ( pointer GitRepository GitOid long ) >
     self primitiveFailed
 !
 
-primGitCommitMessage: commit 
+prim_git_commit_message: commit 
 
     <cdecl: charPointer "git_commit_message" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitMessageEncoding: commit 
+prim_git_commit_message_encoding: commit 
 
     <cdecl: charPointer "git_commit_message_encoding" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitNthGenAncestor: ancestor commit: commit n: n 
+prim_git_commit_nth_gen_ancestor: ancestor commit: commit n: n 
 
     <cdecl: int32 "git_commit_nth_gen_ancestor" ( pointer GitCommit uint32 ) >
     self primitiveFailed
 !
 
-primGitCommitParent: parent commit: commit n: n 
+prim_git_commit_parent: parent commit: commit n: n 
 
     <cdecl: int32 "git_commit_parent" ( pointer GitCommit uint32 ) >
     self primitiveFailed
 !
 
-primGitCommitParentOid: commit n: n 
+prim_git_commit_parent_oid: commit n: n 
 
     <cdecl: GitOid "git_commit_parent_oid" ( GitCommit uint32 ) >
     self primitiveFailed
 !
 
-primGitCommitParentcount: commit 
+prim_git_commit_parentcount: commit 
 
     <cdecl: uint32 "git_commit_parentcount" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitTime: commit 
+prim_git_commit_time: commit 
 
     <cdecl: long "git_commit_time" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitTimeOffset: commit 
+prim_git_commit_time_offset: commit 
 
     <cdecl: int32 "git_commit_time_offset" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitTree: tree_out commit: commit 
+prim_git_commit_tree: tree_out commit: commit 
 
     <cdecl: int32 "git_commit_tree" ( pointer GitCommit ) >
     self primitiveFailed
 !
 
-primGitCommitTreeOid: commit 
+prim_git_commit_tree_oid: commit 
 
     <cdecl: GitOid "git_commit_tree_oid" ( GitCommit ) >
     self primitiveFailed
 !
 
-primGitConfigAddFile: cfg file: file priority: priority 
+prim_git_config_add_file: cfg file: file priority: priority 
 
     <cdecl: int32 "git_config_add_file" ( GitConfig GitConfigFile int32 ) >
     self primitiveFailed
 !
 
-primGitConfigAddFileOndisk: cfg path: path priority: priority 
+prim_git_config_add_file_ondisk: cfg path: path priority: priority 
 
     <cdecl: int32 "git_config_add_file_ondisk" ( GitConfig charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitConfigDelete: cfg name: name 
+prim_git_config_delete: cfg name: name 
 
     <cdecl: int32 "git_config_delete" ( GitConfig charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigFile_ondisk: out path: path 
+prim_git_config_file__ondisk: out path: path 
 
     <cdecl: int32 "git_config_file__ondisk" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigFindGlobal: global_config_path length: length 
+prim_git_config_find_global: global_config_path length: length 
 
     <cdecl: int32 "git_config_find_global" ( charPointer long ) >
     self primitiveFailed
 !
 
-primGitConfigFindSystem: system_config_path length: length 
+prim_git_config_find_system: system_config_path length: length 
 
     <cdecl: int32 "git_config_find_system" ( charPointer long ) >
     self primitiveFailed
 !
 
-primGitConfigForeach: cfg callback: callback payload: payload 
+prim_git_config_foreach: cfg callback: callback payload: payload 
 
     <cdecl: int32 "git_config_foreach" ( GitConfig pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitConfigForeachMatch: cfg regexp: regexp callback: callback payload: payload 
+prim_git_config_foreach_match: cfg regexp: regexp callback: callback payload: payload 
 
     <cdecl: int32 "git_config_foreach_match" ( GitConfig charPointer pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitConfigFree: cfg 
+prim_git_config_free: cfg 
 
     <cdecl: void "git_config_free" ( GitConfig ) >
     self primitiveFailed
 !
 
-primGitConfigGetBool: out cfg: cfg name: name 
+prim_git_config_get_bool: out cfg: cfg name: name 
 
     <cdecl: int32 "git_config_get_bool" ( int32Pointer GitConfig charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigGetInt32: out cfg: cfg name: name 
+prim_git_config_get_int32: out cfg: cfg name: name 
 
     <cdecl: int32 "git_config_get_int32" ( int32Pointer GitConfig charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigGetInt64: out cfg: cfg name: name 
+prim_git_config_get_int64: out cfg: cfg name: name 
 
     <cdecl: int32 "git_config_get_int64" ( longPointer GitConfig charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigGetMapped: out cfg: cfg name: name maps: maps mapN: map_n 
+prim_git_config_get_mapped: out cfg: cfg name: name maps: maps map_n: map_n 
 
     <cdecl: int32 "git_config_get_mapped" ( int32Pointer GitConfig charPointer GitCvarMap long ) >
     self primitiveFailed
 !
 
-primGitConfigGetMultivar: cfg name: name regexp: regexp fn: fn data: data 
+prim_git_config_get_multivar: cfg name: name regexp: regexp fn: fn data: data 
 
     <cdecl: int32 "git_config_get_multivar" ( GitConfig charPointer charPointer pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitConfigGetString: out cfg: cfg name: name 
+prim_git_config_get_string: out cfg: cfg name: name 
 
     <cdecl: int32 "git_config_get_string" ( pointer GitConfig charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigNew: out 
+prim_git_config_new: out 
 
     <cdecl: int32 "git_config_new" ( pointer ) >
     self primitiveFailed
 !
 
-primGitConfigOpenDefault: out 
+prim_git_config_open_default: out 
 
     <cdecl: int32 "git_config_open_default" ( pointer ) >
     self primitiveFailed
 !
 
-primGitConfigOpenOndisk: cfg path: path 
+prim_git_config_open_ondisk: cfg path: path 
 
     <cdecl: int32 "git_config_open_ondisk" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigSetBool: cfg name: name value: value 
+prim_git_config_set_bool: cfg name: name value: value 
 
     <cdecl: int32 "git_config_set_bool" ( GitConfig charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitConfigSetInt32: cfg name: name value: value 
+prim_git_config_set_int32: cfg name: name value: value 
 
     <cdecl: int32 "git_config_set_int32" ( GitConfig charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitConfigSetInt64: cfg name: name value: value 
+prim_git_config_set_int64: cfg name: name value: value 
 
     <cdecl: int32 "git_config_set_int64" ( GitConfig charPointer long ) >
     self primitiveFailed
 !
 
-primGitConfigSetMultivar: cfg name: name regexp: regexp value: value 
+prim_git_config_set_multivar: cfg name: name regexp: regexp value: value 
 
     <cdecl: int32 "git_config_set_multivar" ( GitConfig charPointer charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitConfigSetString: cfg name: name value: value 
+prim_git_config_set_string: cfg name: name value: value 
 
     <cdecl: int32 "git_config_set_string" ( GitConfig charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitDiffBlobs: old_blob newBlob: new_blob options: options cbData: cb_data fileCb: file_cb hunkCb: hunk_cb lineCb: line_cb 
+prim_git_diff_blobs: old_blob new_blob: new_blob options: options cb_data: cb_data file_cb: file_cb hunk_cb: hunk_cb line_cb: line_cb 
 
     <cdecl: int32 "git_diff_blobs" ( GitBlob GitBlob GitDiffOptions voidPointer pointer pointer pointer ) >
     self primitiveFailed
 !
 
-primGitDiffEntrycount: diff deltaT: delta_t 
+prim_git_diff_entrycount: diff delta_t: delta_t 
 
     <cdecl: int32 "git_diff_entrycount" ( GitDiffList int32 ) >
     self primitiveFailed
 !
 
-primGitDiffForeach: diff cbData: cb_data fileCb: file_cb hunkCb: hunk_cb lineCb: line_cb 
+prim_git_diff_foreach: diff cb_data: cb_data file_cb: file_cb hunk_cb: hunk_cb line_cb: line_cb 
 
     <cdecl: int32 "git_diff_foreach" ( GitDiffList voidPointer pointer pointer pointer ) >
     self primitiveFailed
 !
 
-primGitDiffIndexToTree: repo opts: opts oldTree: old_tree diff: diff 
+prim_git_diff_index_to_tree: repo opts: opts old_tree: old_tree diff: diff 
 
     <cdecl: int32 "git_diff_index_to_tree" ( GitRepository GitDiffOptions GitTree pointer ) >
     self primitiveFailed
 !
 
-primGitDiffListFree: diff 
+prim_git_diff_list_free: diff 
 
     <cdecl: void "git_diff_list_free" ( GitDiffList ) >
     self primitiveFailed
 !
 
-primGitDiffMerge: onto from: from 
+prim_git_diff_merge: onto from: from 
 
     <cdecl: int32 "git_diff_merge" ( GitDiffList GitDiffList ) >
     self primitiveFailed
 !
 
-primGitDiffPrintCompact: diff cbData: cb_data printCb: print_cb 
+prim_git_diff_print_compact: diff cb_data: cb_data print_cb: print_cb 
 
     <cdecl: int32 "git_diff_print_compact" ( GitDiffList voidPointer pointer ) >
     self primitiveFailed
 !
 
-primGitDiffPrintPatch: diff cbData: cb_data printCb: print_cb 
+prim_git_diff_print_patch: diff cb_data: cb_data print_cb: print_cb 
 
     <cdecl: int32 "git_diff_print_patch" ( GitDiffList voidPointer pointer ) >
     self primitiveFailed
 !
 
-primGitDiffTreeToTree: repo opts: opts oldTree: old_tree newTree: new_tree diff: diff 
+prim_git_diff_tree_to_tree: repo opts: opts old_tree: old_tree new_tree: new_tree diff: diff 
 
     <cdecl: int32 "git_diff_tree_to_tree" ( GitRepository GitDiffOptions GitTree GitTree pointer ) >
     self primitiveFailed
 !
 
-primGitDiffWorkdirToIndex: repo opts: opts diff: diff 
+prim_git_diff_workdir_to_index: repo opts: opts diff: diff 
 
     <cdecl: int32 "git_diff_workdir_to_index" ( GitRepository GitDiffOptions pointer ) >
     self primitiveFailed
 !
 
-primGitDiffWorkdirToTree: repo opts: opts oldTree: old_tree diff: diff 
+prim_git_diff_workdir_to_tree: repo opts: opts old_tree: old_tree diff: diff 
 
     <cdecl: int32 "git_diff_workdir_to_tree" ( GitRepository GitDiffOptions GitTree pointer ) >
     self primitiveFailed
 !
 
-primGitIgnoreAddRule: repo rules: rules 
+prim_git_ignore_add_rule: repo rules: rules 
 
     <cdecl: int32 "git_ignore_add_rule" ( GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitIgnoreClearInternalRules: repo 
+prim_git_ignore_clear_internal_rules: repo 
 
     <cdecl: int32 "git_ignore_clear_internal_rules" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitIgnorePathIsIgnored: ignored repo: repo path: path 
+prim_git_ignore_path_is_ignored: ignored repo: repo path: path 
 
     <cdecl: int32 "git_ignore_path_is_ignored" ( int32Pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexAdd2: index sourceEntry: source_entry 
+prim_git_index_add2: index source_entry: source_entry 
 
     <cdecl: int32 "git_index_add2" ( GitIndex GitIndexEntry ) >
     self primitiveFailed
 !
 
-primGitIndexAdd: index path: path stage: stage 
+prim_git_index_add: index path: path stage: stage 
 
     <cdecl: int32 "git_index_add" ( GitIndex charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitIndexAppend2: index sourceEntry: source_entry 
+prim_git_index_append2: index source_entry: source_entry 
 
     <cdecl: int32 "git_index_append2" ( GitIndex GitIndexEntry ) >
     self primitiveFailed
 !
 
-primGitIndexAppend: index path: path stage: stage 
+prim_git_index_append: index path: path stage: stage 
 
     <cdecl: int32 "git_index_append" ( GitIndex charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitIndexCaps: index 
+prim_git_index_caps: index 
 
     <cdecl: uint32 "git_index_caps" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexClear: index 
+prim_git_index_clear: index 
 
     <cdecl: void "git_index_clear" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexEntryStage: entry 
+prim_git_index_entry_stage: entry 
 
     <cdecl: int32 "git_index_entry_stage" ( GitIndexEntry ) >
     self primitiveFailed
 !
 
-primGitIndexEntrycount: index 
+prim_git_index_entrycount: index 
 
     <cdecl: uint32 "git_index_entrycount" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexEntrycountUnmerged: index 
+prim_git_index_entrycount_unmerged: index 
 
     <cdecl: uint32 "git_index_entrycount_unmerged" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexFind: index path: path 
+prim_git_index_find: index path: path 
 
     <cdecl: int32 "git_index_find" ( GitIndex charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexFree: index 
+prim_git_index_free: index 
 
     <cdecl: void "git_index_free" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexGet: index n: n 
+prim_git_index_get: index n: n 
 
     <cdecl: GitIndexEntry "git_index_get" ( GitIndex long ) >
     self primitiveFailed
 !
 
-primGitIndexGetUnmergedByindex: index n: n 
+prim_git_index_get_unmerged_byindex: index n: n 
 
     <cdecl: GitIndexEntryUnmerged "git_index_get_unmerged_byindex" ( GitIndex long ) >
     self primitiveFailed
 !
 
-primGitIndexGetUnmergedBypath: index path: path 
+prim_git_index_get_unmerged_bypath: index path: path 
 
     <cdecl: GitIndexEntryUnmerged "git_index_get_unmerged_bypath" ( GitIndex charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexOpen: index indexPath: index_path 
+prim_git_index_open: index index_path: index_path 
 
     <cdecl: int32 "git_index_open" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexRead: index 
+prim_git_index_read: index 
 
     <cdecl: int32 "git_index_read" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexReadTree: index tree: tree stats: stats 
+prim_git_index_read_tree: index tree: tree stats: stats 
 
     <cdecl: int32 "git_index_read_tree" ( GitIndex GitTree GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitIndexRemove: index position: position 
+prim_git_index_remove: index position: position 
 
     <cdecl: int32 "git_index_remove" ( GitIndex int32 ) >
     self primitiveFailed
 !
 
-primGitIndexSetCaps: index caps: caps 
+prim_git_index_set_caps: index caps: caps 
 
     <cdecl: int32 "git_index_set_caps" ( GitIndex uint32 ) >
     self primitiveFailed
 !
 
-primGitIndexUniq: index 
+prim_git_index_uniq: index 
 
     <cdecl: void "git_index_uniq" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexWrite: index 
+prim_git_index_write: index 
 
     <cdecl: int32 "git_index_write" ( GitIndex ) >
     self primitiveFailed
 !
 
-primGitIndexerFree: idx 
+prim_git_indexer_free: idx 
 
     <cdecl: void "git_indexer_free" ( GitIndexer ) >
     self primitiveFailed
 !
 
-primGitIndexerHash: idx 
+prim_git_indexer_hash: idx 
 
     <cdecl: GitOid "git_indexer_hash" ( GitIndexer ) >
     self primitiveFailed
 !
 
-primGitIndexerNew: out packname: packname 
+prim_git_indexer_new: out packname: packname 
 
     <cdecl: int32 "git_indexer_new" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexerRun: idx stats: stats 
+prim_git_indexer_run: idx stats: stats 
 
     <cdecl: int32 "git_indexer_run" ( GitIndexer GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitIndexerStreamAdd: idx data: data size: size stats: stats 
+prim_git_indexer_stream_add: idx data: data size: size stats: stats 
 
     <cdecl: int32 "git_indexer_stream_add" ( GitIndexerStream voidPointer long GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitIndexerStreamFinalize: idx stats: stats 
+prim_git_indexer_stream_finalize: idx stats: stats 
 
     <cdecl: int32 "git_indexer_stream_finalize" ( GitIndexerStream GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitIndexerStreamFree: idx 
+prim_git_indexer_stream_free: idx 
 
     <cdecl: void "git_indexer_stream_free" ( GitIndexerStream ) >
     self primitiveFailed
 !
 
-primGitIndexerStreamHash: idx 
+prim_git_indexer_stream_hash: idx 
 
     <cdecl: GitOid "git_indexer_stream_hash" ( GitIndexerStream ) >
     self primitiveFailed
 !
 
-primGitIndexerStreamNew: out path: path 
+prim_git_indexer_stream_new: out path: path 
 
     <cdecl: int32 "git_indexer_stream_new" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitIndexerWrite: idx 
+prim_git_indexer_write: idx 
 
     <cdecl: int32 "git_indexer_write" ( GitIndexer ) >
     self primitiveFailed
 !
 
-primGitLibgit2Capabilities
+prim_git_libgit2_capabilities
 
     <cdecl: int32 "git_libgit2_capabilities" ( ) >
     self primitiveFailed
 !
 
-primGitLibgit2Version: major minor: minor rev: rev 
+prim_git_libgit2_version: major minor: minor rev: rev 
 
     <cdecl: void "git_libgit2_version" ( int32Pointer int32Pointer int32Pointer ) >
     self primitiveFailed
 !
 
-primGitMergeBase: out repo: repo one: one two: two 
+prim_git_merge_base: out repo: repo one: one two: two 
 
     <cdecl: int32 "git_merge_base" ( GitOid GitRepository GitOid GitOid ) >
     self primitiveFailed
 !
 
-primGitMergeBaseMany: out repo: repo inputArray: input_array length: length 
+prim_git_merge_base_many: out repo: repo input_array: input_array length: length 
 
     <cdecl: int32 "git_merge_base_many" ( GitOid GitRepository GitOid long ) >
     self primitiveFailed
 !
 
-primGitMessagePrettify: message_out bufferSize: buffer_size message: message stripComments: strip_comments 
+prim_git_message_prettify: message_out buffer_size: buffer_size message: message strip_comments: strip_comments 
 
     <cdecl: int32 "git_message_prettify" ( charPointer long charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitNoteCreate: out repo: repo author: author committer: committer notesRef: notes_ref oid: oid note: note 
+prim_git_note_create: out repo: repo author: author committer: committer notes_ref: notes_ref oid: oid note: note 
 
     <cdecl: int32 "git_note_create" ( GitOid GitRepository GitSignature GitSignature charPointer GitOid charPointer ) >
     self primitiveFailed
 !
 
-primGitNoteDefaultRef: out repo: repo 
+prim_git_note_default_ref: out repo: repo 
 
     <cdecl: int32 "git_note_default_ref" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitNoteForeach: repo notesRef: notes_ref noteCb: note_cb payload: payload 
+prim_git_note_foreach: repo notes_ref: notes_ref note_cb: note_cb payload: payload 
 
     <cdecl: int32 "git_note_foreach" ( GitRepository charPointer pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitNoteFree: note 
+prim_git_note_free: note 
 
     <cdecl: void "git_note_free" ( GitNote ) >
     self primitiveFailed
 !
 
-primGitNoteMessage: note 
+prim_git_note_message: note 
 
     <cdecl: charPointer "git_note_message" ( GitNote ) >
     self primitiveFailed
 !
 
-primGitNoteOid: note 
+prim_git_note_oid: note 
 
     <cdecl: GitOid "git_note_oid" ( GitNote ) >
     self primitiveFailed
 !
 
-primGitNoteRead: note repo: repo notesRef: notes_ref oid: oid 
+prim_git_note_read: note repo: repo notes_ref: notes_ref oid: oid 
 
     <cdecl: int32 "git_note_read" ( pointer GitRepository charPointer GitOid ) >
     self primitiveFailed
 !
 
-primGitNoteRemove: repo notesRef: notes_ref author: author committer: committer oid: oid 
+prim_git_note_remove: repo notes_ref: notes_ref author: author committer: committer oid: oid 
 
     <cdecl: int32 "git_note_remove" ( GitRepository charPointer GitSignature GitSignature GitOid ) >
     self primitiveFailed
 !
 
-primGitObjectFree: object 
+prim_git_object__size: type 
+
+    <cdecl: long "git_object__size" ( int32 ) >
+    self primitiveFailed
+!
+
+prim_git_object_free: object 
 
     <cdecl: void "git_object_free" ( GitObject ) >
     self primitiveFailed
 !
 
-primGitObjectId: obj 
+prim_git_object_id: obj 
 
     <cdecl: GitOid "git_object_id" ( GitObject ) >
     self primitiveFailed
 !
 
-primGitObjectLookup: object repo: repo id: id type: type 
+prim_git_object_lookup: object repo: repo id: id type: type 
 
     <cdecl: int32 "git_object_lookup" ( pointer GitRepository GitOid int32 ) >
     self primitiveFailed
 !
 
-primGitObjectLookupPrefix: object_out repo: repo id: id len: len type: type 
+prim_git_object_lookup_prefix: object_out repo: repo id: id len: len type: type 
 
     <cdecl: int32 "git_object_lookup_prefix" ( pointer GitRepository GitOid long int32 ) >
     self primitiveFailed
 !
 
-primGitObjectOwner: obj 
+prim_git_object_owner: obj 
 
     <cdecl: GitRepository "git_object_owner" ( GitObject ) >
     self primitiveFailed
 !
 
-primGitObjectPeel: peeled object: object targetType: target_type 
+prim_git_object_peel: peeled object: object target_type: target_type 
 
     <cdecl: int32 "git_object_peel" ( pointer GitObject int32 ) >
     self primitiveFailed
 !
 
-primGitObjectString2type: str 
+prim_git_object_string2type: str 
 
     <cdecl: int32 "git_object_string2type" ( charPointer ) >
     self primitiveFailed
 !
 
-primGitObjectType2string: type 
+prim_git_object_type2string: type 
 
     <cdecl: charPointer "git_object_type2string" ( int32 ) >
     self primitiveFailed
 !
 
-primGitObjectType: obj 
+prim_git_object_type: obj 
 
     <cdecl: int32 "git_object_type" ( GitObject ) >
     self primitiveFailed
 !
 
-primGitObjectTypeisloose: type 
+prim_git_object_typeisloose: type 
 
     <cdecl: int32 "git_object_typeisloose" ( int32 ) >
     self primitiveFailed
 !
 
-primGitObject_size: type 
-
-    <cdecl: long "git_object__size" ( int32 ) >
-    self primitiveFailed
-!
-
-primGitOdbAddAlternate: odb backend: backend priority: priority 
+prim_git_odb_add_alternate: odb backend: backend priority: priority 
 
     <cdecl: int32 "git_odb_add_alternate" ( GitOdb GitOdbBackend int32 ) >
     self primitiveFailed
 !
 
-primGitOdbAddBackend: odb backend: backend priority: priority 
+prim_git_odb_add_backend: odb backend: backend priority: priority 
 
     <cdecl: int32 "git_odb_add_backend" ( GitOdb GitOdbBackend int32 ) >
     self primitiveFailed
 !
 
-primGitOdbBackendLoose: backend_out objectsDir: objects_dir compressionLevel: compression_level doFsync: do_fsync 
+prim_git_odb_backend_loose: backend_out objects_dir: objects_dir compression_level: compression_level do_fsync: do_fsync 
 
     <cdecl: int32 "git_odb_backend_loose" ( pointer charPointer int32 int32 ) >
     self primitiveFailed
 !
 
-primGitOdbBackendOnePack: backend_out indexFile: index_file 
+prim_git_odb_backend_one_pack: backend_out index_file: index_file 
 
     <cdecl: int32 "git_odb_backend_one_pack" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitOdbBackendPack: backend_out objectsDir: objects_dir 
+prim_git_odb_backend_pack: backend_out objects_dir: objects_dir 
 
     <cdecl: int32 "git_odb_backend_pack" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitOdbExists: db id: id 
+prim_git_odb_exists: db id: id 
 
     <cdecl: int32 "git_odb_exists" ( GitOdb GitOid ) >
     self primitiveFailed
 !
 
-primGitOdbForeach: db cb: cb data: data 
+prim_git_odb_foreach: db cb: cb data: data 
 
     <cdecl: int32 "git_odb_foreach" ( GitOdb pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitOdbFree: db 
+prim_git_odb_free: db 
 
     <cdecl: void "git_odb_free" ( GitOdb ) >
     self primitiveFailed
 !
 
-primGitOdbHash: id data: data len: len type: type 
+prim_git_odb_hash: id data: data len: len type: type 
 
     <cdecl: int32 "git_odb_hash" ( GitOid voidPointer long int32 ) >
     self primitiveFailed
 !
 
-primGitOdbHashfile: out path: path type: type 
+prim_git_odb_hashfile: out path: path type: type 
 
     <cdecl: int32 "git_odb_hashfile" ( GitOid charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitOdbNew: out 
+prim_git_odb_new: out 
 
     <cdecl: int32 "git_odb_new" ( pointer ) >
     self primitiveFailed
 !
 
-primGitOdbObjectData: object 
+prim_git_odb_object_data: object 
 
     <cdecl: voidPointer "git_odb_object_data" ( GitOdbObject ) >
     self primitiveFailed
 !
 
-primGitOdbObjectFree: object 
+prim_git_odb_object_free: object 
 
     <cdecl: void "git_odb_object_free" ( GitOdbObject ) >
     self primitiveFailed
 !
 
-primGitOdbObjectId: object 
+prim_git_odb_object_id: object 
 
     <cdecl: GitOid "git_odb_object_id" ( GitOdbObject ) >
     self primitiveFailed
 !
 
-primGitOdbObjectSize: object 
+prim_git_odb_object_size: object 
 
     <cdecl: long "git_odb_object_size" ( GitOdbObject ) >
     self primitiveFailed
 !
 
-primGitOdbObjectType: object 
+prim_git_odb_object_type: object 
 
     <cdecl: int32 "git_odb_object_type" ( GitOdbObject ) >
     self primitiveFailed
 !
 
-primGitOdbOpen: out objectsDir: objects_dir 
+prim_git_odb_open: out objects_dir: objects_dir 
 
     <cdecl: int32 "git_odb_open" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitOdbOpenRstream: stream db: db oid: oid 
+prim_git_odb_open_rstream: stream db: db oid: oid 
 
     <cdecl: int32 "git_odb_open_rstream" ( pointer GitOdb GitOid ) >
     self primitiveFailed
 !
 
-primGitOdbOpenWstream: stream db: db size: size type: type 
+prim_git_odb_open_wstream: stream db: db size: size type: type 
 
     <cdecl: int32 "git_odb_open_wstream" ( pointer GitOdb long int32 ) >
     self primitiveFailed
 !
 
-primGitOdbRead: out db: db id: id 
+prim_git_odb_read: out db: db id: id 
 
     <cdecl: int32 "git_odb_read" ( pointer GitOdb GitOid ) >
     self primitiveFailed
 !
 
-primGitOdbReadHeader: len_p typeP: type_p db: db id: id 
+prim_git_odb_read_header: len_p type_p: type_p db: db id: id 
 
     <cdecl: int32 "git_odb_read_header" ( longPointer intPointer GitOdb GitOid ) >
     self primitiveFailed
 !
 
-primGitOdbReadPrefix: out db: db shortId: short_id len: len 
+prim_git_odb_read_prefix: out db: db short_id: short_id len: len 
 
     <cdecl: int32 "git_odb_read_prefix" ( pointer GitOdb GitOid long ) >
     self primitiveFailed
 !
 
-primGitOdbWrite: oid odb: odb data: data len: len type: type 
+prim_git_odb_write: oid odb: odb data: data len: len type: type 
 
     <cdecl: int32 "git_odb_write" ( GitOid GitOdb voidPointer long int32 ) >
     self primitiveFailed
 !
 
-primGitOidAllocfmt: oid 
+prim_git_oid_allocfmt: oid 
 
     <cdecl: charPointer "git_oid_allocfmt" ( GitOid ) >
     self primitiveFailed
 !
 
-primGitOidCmp: a b: b 
+prim_git_oid_cmp: a b: b 
 
     <cdecl: int32 "git_oid_cmp" ( GitOid GitOid ) >
     self primitiveFailed
 !
 
-primGitOidCpy: out src: src 
+prim_git_oid_cpy: out src: src 
 
     <cdecl: void "git_oid_cpy" ( GitOid GitOid ) >
     self primitiveFailed
 !
 
-primGitOidEqual: a b: b 
+prim_git_oid_equal: a b: b 
 
     <cdecl: int32 "git_oid_equal" ( GitOid GitOid ) >
     self primitiveFailed
 !
 
-primGitOidFmt: str oid: oid 
+prim_git_oid_fmt: str oid: oid 
 
     <cdecl: void "git_oid_fmt" ( charPointer GitOid ) >
     self primitiveFailed
 !
 
-primGitOidFromraw: out raw: raw 
+prim_git_oid_fromraw: out raw: raw 
 
     <cdecl: void "git_oid_fromraw" ( GitOid charPointer ) >
     self primitiveFailed
 !
 
-primGitOidFromstr: out str: str 
+prim_git_oid_fromstr: out str: str 
 
     <cdecl: int32 "git_oid_fromstr" ( GitOid charPointer ) >
     self primitiveFailed
 !
 
-primGitOidFromstrn: out str: str length: length 
+prim_git_oid_fromstrn: out str: str length: length 
 
     <cdecl: int32 "git_oid_fromstrn" ( GitOid charPointer long ) >
     self primitiveFailed
 !
 
-primGitOidIszero: a 
+prim_git_oid_iszero: a 
 
     <cdecl: int32 "git_oid_iszero" ( GitOid ) >
     self primitiveFailed
 !
 
-primGitOidNcmp: a b: b len: len 
+prim_git_oid_ncmp: a b: b len: len 
 
     <cdecl: int32 "git_oid_ncmp" ( GitOid GitOid long ) >
     self primitiveFailed
 !
 
-primGitOidPathfmt: str oid: oid 
+prim_git_oid_pathfmt: str oid: oid 
 
     <cdecl: void "git_oid_pathfmt" ( charPointer GitOid ) >
     self primitiveFailed
 !
 
-primGitOidShortenAdd: os textOid: text_oid 
+prim_git_oid_shorten_add: os text_oid: text_oid 
 
     <cdecl: int32 "git_oid_shorten_add" ( GitOidShorten charPointer ) >
     self primitiveFailed
 !
 
-primGitOidShortenFree: os 
+prim_git_oid_shorten_free: os 
 
     <cdecl: void "git_oid_shorten_free" ( GitOidShorten ) >
     self primitiveFailed
 !
 
-primGitOidShortenNew: min_length 
+prim_git_oid_shorten_new: min_length 
 
     <cdecl: GitOidShorten "git_oid_shorten_new" ( long ) >
     self primitiveFailed
 !
 
-primGitOidStreq: a str: str 
+prim_git_oid_streq: a str: str 
 
     <cdecl: int32 "git_oid_streq" ( GitOid charPointer ) >
     self primitiveFailed
 !
 
-primGitOidTostr: out n: n oid: oid 
+prim_git_oid_tostr: out n: n oid: oid 
 
     <cdecl: charPointer "git_oid_tostr" ( charPointer long GitOid ) >
     self primitiveFailed
 !
 
-primGitReferenceCmp: ref1 ref2: ref2 
+prim_git_reference_cmp: ref1 ref2: ref2 
 
     <cdecl: int32 "git_reference_cmp" ( GitReference GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceCreateOid: ref_out repo: repo name: name id: id force: force 
+prim_git_reference_create_oid: ref_out repo: repo name: name id: id force: force 
 
     <cdecl: int32 "git_reference_create_oid" ( pointer GitRepository charPointer GitOid int32 ) >
     self primitiveFailed
 !
 
-primGitReferenceCreateSymbolic: ref_out repo: repo name: name target: target force: force 
+prim_git_reference_create_symbolic: ref_out repo: repo name: name target: target force: force 
 
     <cdecl: int32 "git_reference_create_symbolic" ( pointer GitRepository charPointer charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitReferenceDelete: ref 
+prim_git_reference_delete: ref 
 
     <cdecl: int32 "git_reference_delete" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceForeach: repo listFlags: list_flags callback: callback payload: payload 
+prim_git_reference_foreach: repo list_flags: list_flags callback: callback payload: payload 
 
     <cdecl: int32 "git_reference_foreach" ( GitRepository uint32 pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitReferenceForeachGlob: repo glob: glob listFlags: list_flags callback: callback payload: payload 
+prim_git_reference_foreach_glob: repo glob: glob list_flags: list_flags callback: callback payload: payload 
 
     <cdecl: int32 "git_reference_foreach_glob" ( GitRepository charPointer uint32 pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitReferenceFree: ref 
+prim_git_reference_free: ref 
 
     <cdecl: void "git_reference_free" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceHasLog: ref 
+prim_git_reference_has_log: ref 
 
     <cdecl: int32 "git_reference_has_log" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceIsBranch: ref 
+prim_git_reference_is_branch: ref 
 
     <cdecl: int32 "git_reference_is_branch" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceIsPacked: ref 
+prim_git_reference_is_packed: ref 
 
     <cdecl: int32 "git_reference_is_packed" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceIsRemote: ref 
+prim_git_reference_is_remote: ref 
 
     <cdecl: int32 "git_reference_is_remote" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceList: array repo: repo listFlags: list_flags 
+prim_git_reference_list: array repo: repo list_flags: list_flags 
 
     <cdecl: int32 "git_reference_list" ( GitStrarray GitRepository uint32 ) >
     self primitiveFailed
 !
 
-primGitReferenceLookup: reference_out repo: repo name: name 
+prim_git_reference_lookup: reference_out repo: repo name: name 
 
     <cdecl: int32 "git_reference_lookup" ( pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitReferenceName: ref 
+prim_git_reference_name: ref 
 
     <cdecl: charPointer "git_reference_name" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceNameToOid: out repo: repo name: name 
+prim_git_reference_name_to_oid: out repo: repo name: name 
 
     <cdecl: int32 "git_reference_name_to_oid" ( GitOid GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitReferenceNormalizeName: buffer_out bufferSize: buffer_size name: name flags: flags 
+prim_git_reference_normalize_name: buffer_out buffer_size: buffer_size name: name flags: flags 
 
     <cdecl: int32 "git_reference_normalize_name" ( charPointer long charPointer uint32 ) >
     self primitiveFailed
 !
 
-primGitReferenceOid: ref 
+prim_git_reference_oid: ref 
 
     <cdecl: GitOid "git_reference_oid" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceOwner: ref 
+prim_git_reference_owner: ref 
 
     <cdecl: GitRepository "git_reference_owner" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferencePackall: repo 
+prim_git_reference_packall: repo 
 
     <cdecl: int32 "git_reference_packall" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitReferenceReload: ref 
+prim_git_reference_reload: ref 
 
     <cdecl: int32 "git_reference_reload" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceRename: ref newName: new_name force: force 
+prim_git_reference_rename: ref new_name: new_name force: force 
 
     <cdecl: int32 "git_reference_rename" ( GitReference charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitReferenceResolve: resolved_ref ref: ref 
+prim_git_reference_resolve: resolved_ref ref: ref 
 
     <cdecl: int32 "git_reference_resolve" ( pointer GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceSetOid: ref id: id 
+prim_git_reference_set_oid: ref id: id 
 
     <cdecl: int32 "git_reference_set_oid" ( GitReference GitOid ) >
     self primitiveFailed
 !
 
-primGitReferenceSetTarget: ref target: target 
+prim_git_reference_set_target: ref target: target 
 
     <cdecl: int32 "git_reference_set_target" ( GitReference charPointer ) >
     self primitiveFailed
 !
 
-primGitReferenceTarget: ref 
+prim_git_reference_target: ref 
 
     <cdecl: charPointer "git_reference_target" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReferenceType: ref 
+prim_git_reference_type: ref 
 
     <cdecl: int32 "git_reference_type" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReflogAppend: reflog newOid: new_oid committer: committer msg: msg 
+prim_git_reflog_append: reflog new_oid: new_oid committer: committer msg: msg 
 
     <cdecl: int32 "git_reflog_append" ( GitReflog GitOid GitSignature charPointer ) >
     self primitiveFailed
 !
 
-primGitReflogDelete: ref 
+prim_git_reflog_delete: ref 
 
     <cdecl: int32 "git_reflog_delete" ( GitReference ) >
     self primitiveFailed
 !
 
-primGitReflogDrop: reflog idx: idx rewritePreviousEntry: rewrite_previous_entry 
+prim_git_reflog_drop: reflog idx: idx rewrite_previous_entry: rewrite_previous_entry 
 
     <cdecl: int32 "git_reflog_drop" ( GitReflog uint32 int32 ) >
     self primitiveFailed
 !
 
-primGitReflogEntryByindex: reflog idx: idx 
+prim_git_reflog_entry_byindex: reflog idx: idx 
 
     <cdecl: GitReflogEntry "git_reflog_entry_byindex" ( GitReflog long ) >
     self primitiveFailed
 !
 
-primGitReflogEntryCommitter: entry 
+prim_git_reflog_entry_committer: entry 
 
     <cdecl: GitSignature "git_reflog_entry_committer" ( GitReflogEntry ) >
     self primitiveFailed
 !
 
-primGitReflogEntryMsg: entry 
+prim_git_reflog_entry_msg: entry 
 
     <cdecl: charPointer "git_reflog_entry_msg" ( GitReflogEntry ) >
     self primitiveFailed
 !
 
-primGitReflogEntryOidnew: entry 
+prim_git_reflog_entry_oidnew: entry 
 
     <cdecl: GitOid "git_reflog_entry_oidnew" ( GitReflogEntry ) >
     self primitiveFailed
 !
 
-primGitReflogEntryOidold: entry 
+prim_git_reflog_entry_oidold: entry 
 
     <cdecl: GitOid "git_reflog_entry_oidold" ( GitReflogEntry ) >
     self primitiveFailed
 !
 
-primGitReflogEntrycount: reflog 
+prim_git_reflog_entrycount: reflog 
 
     <cdecl: uint32 "git_reflog_entrycount" ( GitReflog ) >
     self primitiveFailed
 !
 
-primGitReflogFree: reflog 
+prim_git_reflog_free: reflog 
 
     <cdecl: void "git_reflog_free" ( GitReflog ) >
     self primitiveFailed
 !
 
-primGitReflogRead: reflog ref: ref 
+prim_git_reflog_read: reflog ref: ref 
 
     <cdecl: int32 "git_reflog_read" ( pointer GitReference ) >
     self primitiveFailed
 !
 
-primGitReflogRename: ref newName: new_name 
+prim_git_reflog_rename: ref new_name: new_name 
 
     <cdecl: int32 "git_reflog_rename" ( GitReference charPointer ) >
     self primitiveFailed
 !
 
-primGitReflogWrite: reflog 
+prim_git_reflog_write: reflog 
 
     <cdecl: int32 "git_reflog_write" ( GitReflog ) >
     self primitiveFailed
 !
 
-primGitRefspecDst: refspec 
+prim_git_refspec_dst: refspec 
 
     <cdecl: charPointer "git_refspec_dst" ( GitRefspec ) >
     self primitiveFailed
 !
 
-primGitRefspecForce: refspec 
+prim_git_refspec_force: refspec 
 
     <cdecl: int32 "git_refspec_force" ( GitRefspec ) >
     self primitiveFailed
 !
 
-primGitRefspecParse: refspec str: str 
+prim_git_refspec_parse: refspec str: str 
 
     <cdecl: int32 "git_refspec_parse" ( GitRefspec charPointer ) >
     self primitiveFailed
 !
 
-primGitRefspecSrc: refspec 
+prim_git_refspec_src: refspec 
 
     <cdecl: charPointer "git_refspec_src" ( GitRefspec ) >
     self primitiveFailed
 !
 
-primGitRefspecSrcMatches: refspec refname: refname 
+prim_git_refspec_src_matches: refspec refname: refname 
 
     <cdecl: int32 "git_refspec_src_matches" ( GitRefspec charPointer ) >
     self primitiveFailed
 !
 
-primGitRefspecTransform: out outlen: outlen spec: spec name: name 
+prim_git_refspec_transform: out outlen: outlen spec: spec name: name 
 
     <cdecl: int32 "git_refspec_transform" ( charPointer long GitRefspec charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteAdd: out repo: repo name: name url: url 
+prim_git_remote_add: out repo: repo name: name url: url 
 
     <cdecl: int32 "git_remote_add" ( pointer GitRepository charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteCheckCert: remote check: check 
+prim_git_remote_check_cert: remote check: check 
 
     <cdecl: void "git_remote_check_cert" ( GitRemote int32 ) >
     self primitiveFailed
 !
 
-primGitRemoteConnect: remote direction: direction 
+prim_git_remote_connect: remote direction: direction 
 
     <cdecl: int32 "git_remote_connect" ( GitRemote int32 ) >
     self primitiveFailed
 !
 
-primGitRemoteConnected: remote 
+prim_git_remote_connected: remote 
 
     <cdecl: int32 "git_remote_connected" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteDisconnect: remote 
+prim_git_remote_disconnect: remote 
 
     <cdecl: void "git_remote_disconnect" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteDownload: remote bytes: bytes stats: stats 
+prim_git_remote_download: remote bytes: bytes stats: stats 
 
     <cdecl: int32 "git_remote_download" ( GitRemote longPointer GitIndexerStats ) >
     self primitiveFailed
 !
 
-primGitRemoteFetchspec: remote 
+prim_git_remote_fetchspec: remote 
 
     <cdecl: GitRefspec "git_remote_fetchspec" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteFree: remote 
+prim_git_remote_free: remote 
 
     <cdecl: void "git_remote_free" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteList: remotes_list repo: repo 
+prim_git_remote_list: remotes_list repo: repo 
 
     <cdecl: int32 "git_remote_list" ( GitStrarray GitRepository ) >
     self primitiveFailed
 !
 
-primGitRemoteLoad: out repo: repo name: name 
+prim_git_remote_load: out repo: repo name: name 
 
     <cdecl: int32 "git_remote_load" ( pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteLs: remote listCb: list_cb payload: payload 
+prim_git_remote_ls: remote list_cb: list_cb payload: payload 
 
     <cdecl: int32 "git_remote_ls" ( GitRemote pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteName: remote 
+prim_git_remote_name: remote 
 
     <cdecl: charPointer "git_remote_name" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteNew: out repo: repo name: name url: url fetch: fetch 
+prim_git_remote_new: out repo: repo name: name url: url fetch: fetch 
 
     <cdecl: int32 "git_remote_new" ( pointer GitRepository charPointer charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitRemotePushspec: remote 
+prim_git_remote_pushspec: remote 
 
     <cdecl: GitRefspec "git_remote_pushspec" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemotePushurl: remote 
+prim_git_remote_pushurl: remote 
 
     <cdecl: charPointer "git_remote_pushurl" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteSave: remote 
+prim_git_remote_save: remote 
 
     <cdecl: int32 "git_remote_save" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteSetCallbacks: remote callbacks: callbacks 
+prim_git_remote_set_callbacks: remote callbacks: callbacks 
 
     <cdecl: void "git_remote_set_callbacks" ( GitRemote GitRemoteCallbacks ) >
     self primitiveFailed
 !
 
-primGitRemoteSetFetchspec: remote spec: spec 
+prim_git_remote_set_fetchspec: remote spec: spec 
 
     <cdecl: int32 "git_remote_set_fetchspec" ( GitRemote charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteSetPushspec: remote spec: spec 
+prim_git_remote_set_pushspec: remote spec: spec 
 
     <cdecl: int32 "git_remote_set_pushspec" ( GitRemote charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteSetPushurl: remote url: url 
+prim_git_remote_set_pushurl: remote url: url 
 
     <cdecl: int32 "git_remote_set_pushurl" ( GitRemote charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteSetUrl: remote url: url 
+prim_git_remote_set_url: remote url: url 
 
     <cdecl: int32 "git_remote_set_url" ( GitRemote charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteSupportedUrl: url 
+prim_git_remote_supported_url: url 
 
     <cdecl: int32 "git_remote_supported_url" ( charPointer ) >
     self primitiveFailed
 !
 
-primGitRemoteUpdateTips: remote 
+prim_git_remote_update_tips: remote 
 
     <cdecl: int32 "git_remote_update_tips" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteUrl: remote 
+prim_git_remote_url: remote 
 
     <cdecl: charPointer "git_remote_url" ( GitRemote ) >
     self primitiveFailed
 !
 
-primGitRemoteValidUrl: url 
+prim_git_remote_valid_url: url 
 
     <cdecl: int32 "git_remote_valid_url" ( charPointer ) >
     self primitiveFailed
 !
 
-primGitRepositoryConfig: out repo: repo 
+prim_git_repository_config: out repo: repo 
 
     <cdecl: int32 "git_repository_config" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryDiscover: repository_path size: size startPath: start_path acrossFs: across_fs ceilingDirs: ceiling_dirs 
+prim_git_repository_discover: repository_path size: size start_path: start_path across_fs: across_fs ceiling_dirs: ceiling_dirs 
 
     <cdecl: int32 "git_repository_discover" ( charPointer long charPointer int32 charPointer ) >
     self primitiveFailed
 !
 
-primGitRepositoryFree: repo 
+prim_git_repository_free: repo 
 
     <cdecl: void "git_repository_free" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryHead: head_out repo: repo 
+prim_git_repository_head: head_out repo: repo 
 
     <cdecl: int32 "git_repository_head" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryHeadDetached: repo 
+prim_git_repository_head_detached: repo 
 
     <cdecl: int32 "git_repository_head_detached" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryHeadOrphan: repo 
+prim_git_repository_head_orphan: repo 
 
     <cdecl: int32 "git_repository_head_orphan" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryIndex: out repo: repo 
+prim_git_repository_index: out repo: repo 
 
     <cdecl: int32 "git_repository_index" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryInit: repo_out path: path isBare: is_bare 
+prim_git_repository_init: repo_out path: path is_bare: is_bare 
 
     <cdecl: int32 "git_repository_init" ( pointer charPointer uint32 ) >
     self primitiveFailed
 !
 
-primGitRepositoryInitExt: repo_out repoPath: repo_path opts: opts 
+prim_git_repository_init_ext: repo_out repo_path: repo_path opts: opts 
 
     <cdecl: int32 "git_repository_init_ext" ( pointer charPointer GitRepositoryInitOptions ) >
     self primitiveFailed
 !
 
-primGitRepositoryIsBare: repo 
+prim_git_repository_is_bare: repo 
 
     <cdecl: int32 "git_repository_is_bare" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryIsEmpty: repo 
+prim_git_repository_is_empty: repo 
 
     <cdecl: int32 "git_repository_is_empty" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryMessage: buffer len: len repo: repo 
+prim_git_repository_message: buffer len: len repo: repo 
 
     <cdecl: int32 "git_repository_message" ( charPointer long GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryMessageRemove: repo 
+prim_git_repository_message_remove: repo 
 
     <cdecl: int32 "git_repository_message_remove" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryOdb: out repo: repo 
+prim_git_repository_odb: out repo: repo 
 
     <cdecl: int32 "git_repository_odb" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryOpen: repository path: path 
+prim_git_repository_open: repository path: path 
 
     <cdecl: int32 "git_repository_open" ( pointer charPointer ) >
     self primitiveFailed
 !
 
-primGitRepositoryOpenExt: repo startPath: start_path flags: flags ceilingDirs: ceiling_dirs 
+prim_git_repository_open_ext: repo start_path: start_path flags: flags ceiling_dirs: ceiling_dirs 
 
     <cdecl: int32 "git_repository_open_ext" ( pointer charPointer uint32 charPointer ) >
     self primitiveFailed
 !
 
-primGitRepositoryPath: repo 
+prim_git_repository_path: repo 
 
     <cdecl: charPointer "git_repository_path" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositorySetConfig: repo config: config 
+prim_git_repository_set_config: repo config: config 
 
     <cdecl: void "git_repository_set_config" ( GitRepository GitConfig ) >
     self primitiveFailed
 !
 
-primGitRepositorySetIndex: repo index: index 
+prim_git_repository_set_index: repo index: index 
 
     <cdecl: void "git_repository_set_index" ( GitRepository GitIndex ) >
     self primitiveFailed
 !
 
-primGitRepositorySetOdb: repo odb: odb 
+prim_git_repository_set_odb: repo odb: odb 
 
     <cdecl: void "git_repository_set_odb" ( GitRepository GitOdb ) >
     self primitiveFailed
 !
 
-primGitRepositorySetWorkdir: repo workdir: workdir updateGitlink: update_gitlink 
+prim_git_repository_set_workdir: repo workdir: workdir update_gitlink: update_gitlink 
 
     <cdecl: int32 "git_repository_set_workdir" ( GitRepository charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitRepositoryWorkdir: repo 
+prim_git_repository_workdir: repo 
 
     <cdecl: charPointer "git_repository_workdir" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitRepositoryWrapOdb: repository odb: odb 
+prim_git_repository_wrap_odb: repository odb: odb 
 
     <cdecl: int32 "git_repository_wrap_odb" ( pointer GitOdb ) >
     self primitiveFailed
 !
 
-primGitReset: repo target: target resetType: reset_type 
+prim_git_reset: repo target: target reset_type: reset_type 
 
     <cdecl: int32 "git_reset" ( GitRepository GitObject int32 ) >
     self primitiveFailed
 !
 
-primGitRevparseSingle: out repo: repo spec: spec 
+prim_git_revparse_single: out repo: repo spec: spec 
 
     <cdecl: int32 "git_revparse_single" ( pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitRevwalkFree: walk 
+prim_git_revwalk_free: walk 
 
     <cdecl: void "git_revwalk_free" ( GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkHide: walk oid: oid 
+prim_git_revwalk_hide: walk oid: oid 
 
     <cdecl: int32 "git_revwalk_hide" ( GitRevwalk GitOid ) >
     self primitiveFailed
 !
 
-primGitRevwalkHideGlob: walk glob: glob 
+prim_git_revwalk_hide_glob: walk glob: glob 
 
     <cdecl: int32 "git_revwalk_hide_glob" ( GitRevwalk charPointer ) >
     self primitiveFailed
 !
 
-primGitRevwalkHideHead: walk 
+prim_git_revwalk_hide_head: walk 
 
     <cdecl: int32 "git_revwalk_hide_head" ( GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkHideRef: walk refname: refname 
+prim_git_revwalk_hide_ref: walk refname: refname 
 
     <cdecl: int32 "git_revwalk_hide_ref" ( GitRevwalk charPointer ) >
     self primitiveFailed
 !
 
-primGitRevwalkNew: walker repo: repo 
+prim_git_revwalk_new: walker repo: repo 
 
     <cdecl: int32 "git_revwalk_new" ( pointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitRevwalkNext: oid walk: walk 
+prim_git_revwalk_next: oid walk: walk 
 
     <cdecl: int32 "git_revwalk_next" ( GitOid GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkPush: walk oid: oid 
+prim_git_revwalk_push: walk oid: oid 
 
     <cdecl: int32 "git_revwalk_push" ( GitRevwalk GitOid ) >
     self primitiveFailed
 !
 
-primGitRevwalkPushGlob: walk glob: glob 
+prim_git_revwalk_push_glob: walk glob: glob 
 
     <cdecl: int32 "git_revwalk_push_glob" ( GitRevwalk charPointer ) >
     self primitiveFailed
 !
 
-primGitRevwalkPushHead: walk 
+prim_git_revwalk_push_head: walk 
 
     <cdecl: int32 "git_revwalk_push_head" ( GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkPushRef: walk refname: refname 
+prim_git_revwalk_push_ref: walk refname: refname 
 
     <cdecl: int32 "git_revwalk_push_ref" ( GitRevwalk charPointer ) >
     self primitiveFailed
 !
 
-primGitRevwalkRepository: walk 
+prim_git_revwalk_repository: walk 
 
     <cdecl: GitRepository "git_revwalk_repository" ( GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkReset: walker 
+prim_git_revwalk_reset: walker 
 
     <cdecl: void "git_revwalk_reset" ( GitRevwalk ) >
     self primitiveFailed
 !
 
-primGitRevwalkSorting: walk sortMode: sort_mode 
+prim_git_revwalk_sorting: walk sort_mode: sort_mode 
 
     <cdecl: void "git_revwalk_sorting" ( GitRevwalk uint32 ) >
     self primitiveFailed
 !
 
-primGitSignatureDup: sig 
+prim_git_signature_dup: sig 
 
     <cdecl: GitSignature "git_signature_dup" ( GitSignature ) >
     self primitiveFailed
 !
 
-primGitSignatureFree: sig 
+prim_git_signature_free: sig 
 
     <cdecl: void "git_signature_free" ( GitSignature ) >
     self primitiveFailed
 !
 
-primGitSignatureNew: sig_out name: name email: email time: time offset: offset 
+prim_git_signature_new: sig_out name: name email: email time: time offset: offset 
 
     <cdecl: int32 "git_signature_new" ( pointer charPointer charPointer long int32 ) >
     self primitiveFailed
 !
 
-primGitSignatureNow: sig_out name: name email: email 
+prim_git_signature_now: sig_out name: name email: email 
 
     <cdecl: int32 "git_signature_now" ( pointer charPointer charPointer ) >
     self primitiveFailed
 !
 
-primGitStatusFile: status_flags repo: repo path: path 
+prim_git_status_file: status_flags repo: repo path: path 
 
     <cdecl: int32 "git_status_file" ( int32Pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitStatusForeach: repo callback: callback payload: payload 
+prim_git_status_foreach: repo callback: callback payload: payload 
 
     <cdecl: int32 "git_status_foreach" ( GitRepository pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitStatusForeachExt: repo opts: opts callback: callback payload: payload 
+prim_git_status_foreach_ext: repo opts: opts callback: callback payload: payload 
 
     <cdecl: int32 "git_status_foreach_ext" ( GitRepository GitStatusOptions pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitStatusShouldIgnore: ignored repo: repo path: path 
+prim_git_status_should_ignore: ignored repo: repo path: path 
 
     <cdecl: int32 "git_status_should_ignore" ( int32Pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitStrarrayCopy: tgt src: src 
+prim_git_strarray_copy: tgt src: src 
 
     <cdecl: int32 "git_strarray_copy" ( GitStrarray GitStrarray ) >
     self primitiveFailed
 !
 
-primGitStrarrayFree: array 
+prim_git_strarray_free: array 
 
     <cdecl: void "git_strarray_free" ( GitStrarray ) >
     self primitiveFailed
 !
 
-primGitSubmoduleAddFinalize: submodule 
+prim_git_submodule_add_finalize: submodule 
 
     <cdecl: int32 "git_submodule_add_finalize" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleAddSetup: submodule repo: repo url: url path: path useGitlink: use_gitlink 
+prim_git_submodule_add_setup: submodule repo: repo url: url path: path use_gitlink: use_gitlink 
 
     <cdecl: int32 "git_submodule_add_setup" ( pointer GitRepository charPointer charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitSubmoduleAddToIndex: submodule writeIndex: write_index 
+prim_git_submodule_add_to_index: submodule write_index: write_index 
 
     <cdecl: int32 "git_submodule_add_to_index" ( GitSubmodule int32 ) >
     self primitiveFailed
 !
 
-primGitSubmoduleForeach: repo callback: callback payload: payload 
+prim_git_submodule_foreach: repo callback: callback payload: payload 
 
     <cdecl: int32 "git_submodule_foreach" ( GitRepository pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitSubmoduleHeadOid: submodule 
+prim_git_submodule_head_oid: submodule 
 
     <cdecl: GitOid "git_submodule_head_oid" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleIgnore: submodule 
+prim_git_submodule_ignore: submodule 
 
     <cdecl: int32 "git_submodule_ignore" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleIndexOid: submodule 
+prim_git_submodule_index_oid: submodule 
 
     <cdecl: GitOid "git_submodule_index_oid" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleInit: submodule overwrite: overwrite 
+prim_git_submodule_init: submodule overwrite: overwrite 
 
     <cdecl: int32 "git_submodule_init" ( GitSubmodule int32 ) >
     self primitiveFailed
 !
 
-primGitSubmoduleLookup: submodule repo: repo name: name 
+prim_git_submodule_lookup: submodule repo: repo name: name 
 
     <cdecl: int32 "git_submodule_lookup" ( pointer GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitSubmoduleName: submodule 
+prim_git_submodule_name: submodule 
 
     <cdecl: charPointer "git_submodule_name" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleOpen: repo submodule: submodule 
+prim_git_submodule_open: repo submodule: submodule 
 
     <cdecl: int32 "git_submodule_open" ( pointer GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleOwner: submodule 
+prim_git_submodule_owner: submodule 
 
     <cdecl: GitRepository "git_submodule_owner" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmodulePath: submodule 
+prim_git_submodule_path: submodule 
 
     <cdecl: charPointer "git_submodule_path" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleReload: submodule 
+prim_git_submodule_reload: submodule 
 
     <cdecl: int32 "git_submodule_reload" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleReloadAll: repo 
+prim_git_submodule_reload_all: repo 
 
     <cdecl: int32 "git_submodule_reload_all" ( GitRepository ) >
     self primitiveFailed
 !
 
-primGitSubmoduleSave: submodule 
+prim_git_submodule_save: submodule 
 
     <cdecl: int32 "git_submodule_save" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleSetIgnore: submodule ignore: ignore 
+prim_git_submodule_set_ignore: submodule ignore: ignore 
 
     <cdecl: int32 "git_submodule_set_ignore" ( GitSubmodule int32 ) >
     self primitiveFailed
 !
 
-primGitSubmoduleSetUpdate: submodule update: update 
+prim_git_submodule_set_update: submodule update: update 
 
     <cdecl: int32 "git_submodule_set_update" ( GitSubmodule int32 ) >
     self primitiveFailed
 !
 
-primGitSubmoduleSetUrl: submodule url: url 
+prim_git_submodule_set_url: submodule url: url 
 
     <cdecl: int32 "git_submodule_set_url" ( GitSubmodule charPointer ) >
     self primitiveFailed
 !
 
-primGitSubmoduleStatus: status submodule: submodule 
+prim_git_submodule_status: status submodule: submodule 
 
     <cdecl: int32 "git_submodule_status" ( int32Pointer GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleSync: submodule 
+prim_git_submodule_sync: submodule 
 
     <cdecl: int32 "git_submodule_sync" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleUpdate: submodule 
+prim_git_submodule_update: submodule 
 
     <cdecl: int32 "git_submodule_update" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleUrl: submodule 
+prim_git_submodule_url: submodule 
 
     <cdecl: charPointer "git_submodule_url" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitSubmoduleWdOid: submodule 
+prim_git_submodule_wd_oid: submodule 
 
     <cdecl: GitOid "git_submodule_wd_oid" ( GitSubmodule ) >
     self primitiveFailed
 !
 
-primGitTagCreate: oid repo: repo tagName: tag_name target: target tagger: tagger message: message force: force 
+prim_git_tag_create: oid repo: repo tag_name: tag_name target: target tagger: tagger message: message force: force 
 
     <cdecl: int32 "git_tag_create" ( GitOid GitRepository charPointer GitObject GitSignature charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitTagCreateFrombuffer: oid repo: repo buffer: buffer force: force 
+prim_git_tag_create_frombuffer: oid repo: repo buffer: buffer force: force 
 
     <cdecl: int32 "git_tag_create_frombuffer" ( GitOid GitRepository charPointer int32 ) >
     self primitiveFailed
 !
 
-primGitTagCreateLightweight: oid repo: repo tagName: tag_name target: target force: force 
+prim_git_tag_create_lightweight: oid repo: repo tag_name: tag_name target: target force: force 
 
     <cdecl: int32 "git_tag_create_lightweight" ( GitOid GitRepository charPointer GitObject int32 ) >
     self primitiveFailed
 !
 
-primGitTagDelete: repo tagName: tag_name 
+prim_git_tag_delete: repo tag_name: tag_name 
 
     <cdecl: int32 "git_tag_delete" ( GitRepository charPointer ) >
     self primitiveFailed
 !
 
-primGitTagFree: tag 
+prim_git_tag_free: tag 
 
     <cdecl: void "git_tag_free" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagId: tag 
+prim_git_tag_id: tag 
 
     <cdecl: GitOid "git_tag_id" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagList: tag_names repo: repo 
+prim_git_tag_list: tag_names repo: repo 
 
     <cdecl: int32 "git_tag_list" ( GitStrarray GitRepository ) >
     self primitiveFailed
 !
 
-primGitTagListMatch: tag_names pattern: pattern repo: repo 
+prim_git_tag_list_match: tag_names pattern: pattern repo: repo 
 
     <cdecl: int32 "git_tag_list_match" ( GitStrarray charPointer GitRepository ) >
     self primitiveFailed
 !
 
-primGitTagLookup: tag repo: repo id: id 
+prim_git_tag_lookup: tag repo: repo id: id 
 
     <cdecl: int32 "git_tag_lookup" ( pointer GitRepository GitOid ) >
     self primitiveFailed
 !
 
-primGitTagLookupPrefix: tag repo: repo id: id len: len 
+prim_git_tag_lookup_prefix: tag repo: repo id: id len: len 
 
     <cdecl: int32 "git_tag_lookup_prefix" ( pointer GitRepository GitOid long ) >
     self primitiveFailed
 !
 
-primGitTagMessage: tag 
+prim_git_tag_message: tag 
 
     <cdecl: charPointer "git_tag_message" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagName: tag 
+prim_git_tag_name: tag 
 
     <cdecl: charPointer "git_tag_name" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagPeel: tag_target tag: tag 
+prim_git_tag_peel: tag_target tag: tag 
 
     <cdecl: int32 "git_tag_peel" ( pointer GitTag ) >
     self primitiveFailed
 !
 
-primGitTagTagger: tag 
+prim_git_tag_tagger: tag 
 
     <cdecl: GitSignature "git_tag_tagger" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagTarget: target tag: tag 
+prim_git_tag_target: target tag: tag 
 
     <cdecl: int32 "git_tag_target" ( pointer GitTag ) >
     self primitiveFailed
 !
 
-primGitTagTargetOid: tag 
+prim_git_tag_target_oid: tag 
 
     <cdecl: GitOid "git_tag_target_oid" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitTagType: tag 
+prim_git_tag_type: tag 
 
     <cdecl: int32 "git_tag_type" ( GitTag ) >
     self primitiveFailed
 !
 
-primGitThreadsInit
+prim_git_threads_init
 
     <cdecl: void "git_threads_init" ( ) >
     self primitiveFailed
 !
 
-primGitThreadsShutdown
+prim_git_threads_shutdown
 
     <cdecl: void "git_threads_shutdown" ( ) >
     self primitiveFailed
 !
 
-primGitTreeCreateFromindex: oid index: index 
+prim_git_tree_create_fromindex: oid index: index 
 
     <cdecl: int32 "git_tree_create_fromindex" ( GitOid GitIndex ) >
     self primitiveFailed
 !
 
-primGitTreeEntryByindex: tree idx: idx 
+prim_git_tree_entry_byindex: tree idx: idx 
 
     <cdecl: GitTreeEntry "git_tree_entry_byindex" ( GitTree long ) >
     self primitiveFailed
 !
 
-primGitTreeEntryByname: tree filename: filename 
+prim_git_tree_entry_byname: tree filename: filename 
 
     <cdecl: GitTreeEntry "git_tree_entry_byname" ( GitTree charPointer ) >
     self primitiveFailed
 !
 
-primGitTreeEntryByoid: tree oid: oid 
+prim_git_tree_entry_byoid: tree oid: oid 
 
     <cdecl: GitTreeEntry "git_tree_entry_byoid" ( GitTree GitOid ) >
     self primitiveFailed
 !
 
-primGitTreeEntryBypath: entry root: root path: path 
+prim_git_tree_entry_bypath: entry root: root path: path 
 
     <cdecl: int32 "git_tree_entry_bypath" ( pointer GitTree charPointer ) >
     self primitiveFailed
 !
 
-primGitTreeEntryDup: entry 
+prim_git_tree_entry_dup: entry 
 
     <cdecl: GitTreeEntry "git_tree_entry_dup" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryFilemode: entry 
+prim_git_tree_entry_filemode: entry 
 
     <cdecl: int32 "git_tree_entry_filemode" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryFree: entry 
+prim_git_tree_entry_free: entry 
 
     <cdecl: void "git_tree_entry_free" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryId: entry 
+prim_git_tree_entry_id: entry 
 
     <cdecl: GitOid "git_tree_entry_id" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryName: entry 
+prim_git_tree_entry_name: entry 
 
     <cdecl: charPointer "git_tree_entry_name" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryToObject: object_out repo: repo entry: entry 
+prim_git_tree_entry_to_object: object_out repo: repo entry: entry 
 
     <cdecl: int32 "git_tree_entry_to_object" ( pointer GitRepository GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntryType: entry 
+prim_git_tree_entry_type: entry 
 
     <cdecl: int32 "git_tree_entry_type" ( GitTreeEntry ) >
     self primitiveFailed
 !
 
-primGitTreeEntrycount: tree 
+prim_git_tree_entrycount: tree 
 
     <cdecl: uint32 "git_tree_entrycount" ( GitTree ) >
     self primitiveFailed
 !
 
-primGitTreeFree: tree 
+prim_git_tree_free: tree 
 
     <cdecl: void "git_tree_free" ( GitTree ) >
     self primitiveFailed
 !
 
-primGitTreeId: tree 
+prim_git_tree_id: tree 
 
     <cdecl: GitOid "git_tree_id" ( GitTree ) >
     self primitiveFailed
 !
 
-primGitTreeLookup: tree repo: repo id: id 
+prim_git_tree_lookup: tree repo: repo id: id 
 
     <cdecl: int32 "git_tree_lookup" ( pointer GitRepository GitOid ) >
     self primitiveFailed
 !
 
-primGitTreeLookupPrefix: tree repo: repo id: id len: len 
+prim_git_tree_lookup_prefix: tree repo: repo id: id len: len 
 
     <cdecl: int32 "git_tree_lookup_prefix" ( pointer GitRepository GitOid long ) >
     self primitiveFailed
 !
 
-primGitTreeWalk: tree callback: callback mode: mode payload: payload 
+prim_git_tree_walk: tree callback: callback mode: mode payload: payload 
 
     <cdecl: int32 "git_tree_walk" ( GitTree pointer int32 voidPointer ) >
     self primitiveFailed
 !
 
-primGitTreebuilderClear: bld 
+prim_git_treebuilder_clear: bld 
 
     <cdecl: void "git_treebuilder_clear" ( GitTreebuilder ) >
     self primitiveFailed
 !
 
-primGitTreebuilderCreate: builder_p source: source 
+prim_git_treebuilder_create: builder_p source: source 
 
     <cdecl: int32 "git_treebuilder_create" ( pointer GitTree ) >
     self primitiveFailed
 !
 
-primGitTreebuilderFilter: bld filter: filter payload: payload 
+prim_git_treebuilder_filter: bld filter: filter payload: payload 
 
     <cdecl: void "git_treebuilder_filter" ( GitTreebuilder pointer voidPointer ) >
     self primitiveFailed
 !
 
-primGitTreebuilderFree: bld 
+prim_git_treebuilder_free: bld 
 
     <cdecl: void "git_treebuilder_free" ( GitTreebuilder ) >
     self primitiveFailed
 !
 
-primGitTreebuilderGet: bld filename: filename 
+prim_git_treebuilder_get: bld filename: filename 
 
     <cdecl: GitTreeEntry "git_treebuilder_get" ( GitTreebuilder charPointer ) >
     self primitiveFailed
 !
 
-primGitTreebuilderInsert: entry_out bld: bld filename: filename id: id filemode: filemode 
+prim_git_treebuilder_insert: entry_out bld: bld filename: filename id: id filemode: filemode 
 
     <cdecl: int32 "git_treebuilder_insert" ( pointer GitTreebuilder charPointer GitOid int32 ) >
     self primitiveFailed
 !
 
-primGitTreebuilderRemove: bld filename: filename 
+prim_git_treebuilder_remove: bld filename: filename 
 
     <cdecl: int32 "git_treebuilder_remove" ( GitTreebuilder charPointer ) >
     self primitiveFailed
 !
 
-primGitTreebuilderWrite: oid repo: repo bld: bld 
+prim_git_treebuilder_write: oid repo: repo bld: bld 
 
     <cdecl: int32 "git_treebuilder_write" ( GitOid GitRepository GitTreebuilder ) >
     self primitiveFailed
@@ -2187,3 +2216,5 @@
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
+
+GitPrimitives initialize!
--- a/git/GitRepository.st	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/GitRepository.st	Fri Sep 07 23:38:22 2012 +0000
@@ -1,13 +1,28 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalStructure subclass:#GitRepository
+GitHandle subclass:#GitRepository
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Support-libgit2'
+	category:'Git-Model'
 !
 
 
+!GitRepository class methodsFor:'instance creation'!
+
+open: aString
+    | ref err |
+
+    ref := ByteArray new: ExternalBytes sizeofPointer.
+    err := GitPrimitives prim_git_repository_open: ref path: aString.
+    err ~~ 0 ifTrue:[
+        self error:'gitlib2 error'
+    ].
+    ^self new setAddressFromBytes:ref
+
+    "Created: / 07-09-2012 / 23:45:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitRepository class methodsFor:'accessing'!
 
 libraryName
@@ -24,6 +39,14 @@
     ^0
 ! !
 
+!GitRepository methodsFor:'finalization'!
+
+basicFree
+    GitPrimitives prim_git_object_free: self.
+
+    "Created: / 08-09-2012 / 00:20:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitRepository class methodsFor:'documentation'!
 
 version_SVN
--- a/git/GitSignature.st	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/GitSignature.st	Fri Sep 07 23:38:22 2012 +0000
@@ -1,10 +1,10 @@
 "{ Package: 'stx:libscm/git' }"
 
-ExternalStructure subclass:#GitSignature
+GitStructure subclass:#GitSignature
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
-	category:'Git-Support-libgit2'
+	category:'Git-Model'
 !
 
 
@@ -61,6 +61,14 @@
     self at:1 + 8 put:value
 ! !
 
+!GitSignature methodsFor:'finalization'!
+
+basicFree
+    ^GitPrimitives prim_git_signature_free: self.
+
+    "Created: / 08-09-2012 / 00:22:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitSignature class methodsFor:'documentation'!
 
 version_SVN
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitStructure.st	Fri Sep 07 23:38:22 2012 +0000
@@ -0,0 +1,56 @@
+"{ Package: 'stx:libscm/git' }"
+
+ExternalStructure subclass:#GitStructure
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Git-Model'
+!
+
+
+!GitStructure methodsFor:'finalization'!
+
+executor
+    ^self class new basicSetAddress: self address.
+
+    "Created: / 08-09-2012 / 00:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+finalize
+    self free
+
+    "Created: / 07-09-2012 / 23:08:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+free
+    self address ~~ 0 ifTrue:[
+        self basicFree.
+        self setAddress: 0
+    ].
+
+    "Created: / 08-09-2012 / 00:01:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitStructure methodsFor:'private-accessing'!
+
+basicSetAddress: address
+    super setAddress: address.
+
+    "Created: / 08-09-2012 / 00:07:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setAddress: address
+    self address ~~ 0 ifTrue:[
+        self error: 'Trying to set address twice'.
+    ].
+    super setAddress: address.
+    self registerForFinalization
+
+    "Created: / 08-09-2012 / 00:06:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitStructure class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/git/Make.proto	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/Make.proto	Fri Sep 07 23:38:22 2012 +0000
@@ -134,6 +134,7 @@
 $(OUTDIR)GitDiffOptions.$(O) GitDiffOptions.$(H): GitDiffOptions.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)GitDiffRange.$(O) GitDiffRange.$(H): GitDiffRange.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)GitError.$(O) GitError.$(H): GitError.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)GitHandle.$(O) GitHandle.$(H): GitHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndex.$(O) GitIndex.$(H): GitIndex.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)GitIndexEntry.$(O) GitIndexEntry.$(H): GitIndexEntry.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)GitIndexEntryUnmerged.$(O) GitIndexEntryUnmerged.$(H): GitIndexEntryUnmerged.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)
@@ -143,7 +144,6 @@
 $(OUTDIR)GitIndexerStream.$(O) GitIndexerStream.$(H): GitIndexerStream.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)GitNote.$(O) GitNote.$(H): GitNote.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)GitNoteData.$(O) GitNoteData.$(H): GitNoteData.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)GitObject.$(O) GitObject.$(H): GitObject.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)GitOdb.$(O) GitOdb.$(H): GitOdb.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)GitOdbBackend.$(O) GitOdbBackend.$(H): GitOdbBackend.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)GitOdbObject.$(O) GitOdbObject.$(H): GitOdbObject.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)
@@ -158,12 +158,11 @@
 $(OUTDIR)GitRemote.$(O) GitRemote.$(H): GitRemote.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)GitRemoteCallbacks.$(O) GitRemoteCallbacks.$(H): GitRemoteCallbacks.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)GitRemoteHead.$(O) GitRemoteHead.$(H): GitRemoteHead.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)GitRepository.$(O) GitRepository.$(H): GitRepository.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)GitRepositoryInitOptions.$(O) GitRepositoryInitOptions.$(H): GitRepositoryInitOptions.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)GitRevwalk.$(O) GitRevwalk.$(H): GitRevwalk.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)GitSignature.$(O) GitSignature.$(H): GitSignature.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)GitStatusOptions.$(O) GitStatusOptions.$(H): GitStatusOptions.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)GitStrarray.$(O) GitStrarray.$(H): GitStrarray.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)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)GitSubmodule.$(O) GitSubmodule.$(H): GitSubmodule.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)GitTag.$(O) GitTag.$(H): GitTag.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)GitTime.$(O) GitTime.$(H): GitTime.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)
@@ -171,6 +170,9 @@
 $(OUTDIR)GitTreeEntry.$(O) GitTreeEntry.$(H): GitTreeEntry.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)GitTreebuilder.$(O) GitTreebuilder.$(H): GitTreebuilder.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)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)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)/stx/libscm/git/GitHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)/stx/libscm/git/GitHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignature.$(O) GitSignature.$(H): GitSignature.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)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/git/Make.spec	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/Make.spec	Fri Sep 07 23:38:22 2012 +0000
@@ -71,7 +71,7 @@
 	GitIndexerStream \
 	GitNote \
 	GitNoteData \
-	GitObject \
+	GitHandle \
 	GitOdb \
 	GitOdbBackend \
 	GitOdbObject \
@@ -89,7 +89,7 @@
 	GitRepository \
 	GitRepositoryInitOptions \
 	GitRevwalk \
-	GitSignature \
+	GitStructure \
 	GitStatusOptions \
 	GitStrarray \
 	GitSubmodule \
@@ -99,6 +99,8 @@
 	GitTreeEntry \
 	GitTreebuilder \
 	stx_libscm_git \
+	GitObject \
+	GitSignature \
 
 
 
@@ -125,7 +127,7 @@
     $(OUTDIR)GitIndexerStream.$(O) \
     $(OUTDIR)GitNote.$(O) \
     $(OUTDIR)GitNoteData.$(O) \
-    $(OUTDIR)GitObject.$(O) \
+    $(OUTDIR)GitHandle.$(O) \
     $(OUTDIR)GitOdb.$(O) \
     $(OUTDIR)GitOdbBackend.$(O) \
     $(OUTDIR)GitOdbObject.$(O) \
@@ -143,7 +145,7 @@
     $(OUTDIR)GitRepository.$(O) \
     $(OUTDIR)GitRepositoryInitOptions.$(O) \
     $(OUTDIR)GitRevwalk.$(O) \
-    $(OUTDIR)GitSignature.$(O) \
+    $(OUTDIR)GitStructure.$(O) \
     $(OUTDIR)GitStatusOptions.$(O) \
     $(OUTDIR)GitStrarray.$(O) \
     $(OUTDIR)GitSubmodule.$(O) \
@@ -153,6 +155,8 @@
     $(OUTDIR)GitTreeEntry.$(O) \
     $(OUTDIR)GitTreebuilder.$(O) \
     $(OUTDIR)stx_libscm_git.$(O) \
+    $(OUTDIR)GitObject.$(O) \
+    $(OUTDIR)GitSignature.$(O) \
 
 
 
--- a/git/abbrev.stc	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/abbrev.stc	Fri Sep 07 23:38:22 2012 +0000
@@ -22,7 +22,7 @@
 GitIndexerStream GitIndexerStream stx:libscm/git 'Git-Support-libgit2' 1
 GitNote GitNote stx:libscm/git 'Git-Support-libgit2' 1
 GitNoteData GitNoteData stx:libscm/git 'Git-Support-libgit2' 1
-GitObject GitObject stx:libscm/git 'Git-Support-libgit2' 1
+GitObject GitObject stx:libscm/git 'Git-Model' 0
 GitOdb GitOdb stx:libscm/git 'Git-Support-libgit2' 1
 GitOdbBackend GitOdbBackend stx:libscm/git 'Git-Support-libgit2' 1
 GitOdbObject GitOdbObject stx:libscm/git 'Git-Support-libgit2' 1
@@ -37,10 +37,10 @@
 GitRemote GitRemote stx:libscm/git 'Git-Support-libgit2' 1
 GitRemoteCallbacks GitRemoteCallbacks stx:libscm/git 'Git-Support-libgit2' 1
 GitRemoteHead GitRemoteHead stx:libscm/git 'Git-Support-libgit2' 1
-GitRepository GitRepository stx:libscm/git 'Git-Support-libgit2' 1
+GitRepository GitRepository stx:libscm/git 'Git-Model' 0
 GitRepositoryInitOptions GitRepositoryInitOptions stx:libscm/git 'Git-Support-libgit2' 1
 GitRevwalk GitRevwalk stx:libscm/git 'Git-Support-libgit2' 1
-GitSignature GitSignature stx:libscm/git 'Git-Support-libgit2' 1
+GitSignature GitSignature stx:libscm/git 'Git-Model' 1
 GitStatusOptions GitStatusOptions stx:libscm/git 'Git-Support-libgit2' 1
 GitStrarray GitStrarray stx:libscm/git 'Git-Support-libgit2' 1
 GitSubmodule GitSubmodule stx:libscm/git 'Git-Support-libgit2' 1
@@ -50,3 +50,5 @@
 GitTreeEntry GitTreeEntry stx:libscm/git 'Git-Support-libgit2' 1
 GitTreebuilder GitTreebuilder stx:libscm/git 'Git-Support-libgit2' 1
 stx_libscm_git stx_libscm_git stx:libscm/git '* Projects & Packages *' 3
+GitHandle GitHandle stx:libscm/git 'Git-Model' 0
+GitStructure GitStructure stx:libscm/git 'Git-Model' 1
--- a/git/bc.mak	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/bc.mak	Fri Sep 07 23:38:22 2012 +0000
@@ -70,6 +70,7 @@
 $(OUTDIR)GitDiffOptions.$(O) GitDiffOptions.$(H): GitDiffOptions.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)GitDiffRange.$(O) GitDiffRange.$(H): GitDiffRange.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)GitError.$(O) GitError.$(H): GitError.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)GitHandle.$(O) GitHandle.$(H): GitHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitIndex.$(O) GitIndex.$(H): GitIndex.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)GitIndexEntry.$(O) GitIndexEntry.$(H): GitIndexEntry.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)GitIndexEntryUnmerged.$(O) GitIndexEntryUnmerged.$(H): GitIndexEntryUnmerged.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)
@@ -79,7 +80,6 @@
 $(OUTDIR)GitIndexerStream.$(O) GitIndexerStream.$(H): GitIndexerStream.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)GitNote.$(O) GitNote.$(H): GitNote.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)GitNoteData.$(O) GitNoteData.$(H): GitNoteData.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)GitObject.$(O) GitObject.$(H): GitObject.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)GitOdb.$(O) GitOdb.$(H): GitOdb.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)GitOdbBackend.$(O) GitOdbBackend.$(H): GitOdbBackend.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)GitOdbObject.$(O) GitOdbObject.$(H): GitOdbObject.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)
@@ -94,12 +94,11 @@
 $(OUTDIR)GitRemote.$(O) GitRemote.$(H): GitRemote.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)GitRemoteCallbacks.$(O) GitRemoteCallbacks.$(H): GitRemoteCallbacks.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)GitRemoteHead.$(O) GitRemoteHead.$(H): GitRemoteHead.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)GitRepository.$(O) GitRepository.$(H): GitRepository.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)GitRepositoryInitOptions.$(O) GitRepositoryInitOptions.$(H): GitRepositoryInitOptions.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)GitRevwalk.$(O) GitRevwalk.$(H): GitRevwalk.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)GitSignature.$(O) GitSignature.$(H): GitSignature.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)GitStatusOptions.$(O) GitStatusOptions.$(H): GitStatusOptions.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)GitStrarray.$(O) GitStrarray.$(H): GitStrarray.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)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)GitSubmodule.$(O) GitSubmodule.$(H): GitSubmodule.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)GitTag.$(O) GitTag.$(H): GitTag.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)GitTime.$(O) GitTime.$(H): GitTime.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)
@@ -107,5 +106,8 @@
 $(OUTDIR)GitTreeEntry.$(O) GitTreeEntry.$(H): GitTreeEntry.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)GitTreebuilder.$(O) GitTreebuilder.$(H): GitTreebuilder.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)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)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)\stx\libscm\git\GitHandle.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)\stx\libscm\git\GitHandle.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignature.$(O) GitSignature.$(H): GitSignature.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)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/git/git.rc	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/git.rc	Fri Sep 07 23:38:22 2012 +0000
@@ -3,7 +3,7 @@
 // automagically generated from the projectDefinition: stx_libscm_git.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,0,1
+  FILEVERSION     6,2,2,2
   PRODUCTVERSION  6,2,3,1
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "FileVersion", "6.2.2.2\0"
       VALUE "InternalName", "stx:libscm/git\0"
       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", "Fri, 07 Sep 2012 14:29:20 GMT\0"
+      VALUE "ProductDate", "Fri, 07 Sep 2012 23:38:42 GMT\0"
     END
 
   END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/lccmake.bat	Fri Sep 07 23:38:22 2012 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using lcc compiler
+@REM type lccmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak USELCC=1 %1 %2
+
+
--- a/git/libInit.cc	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/libInit.cc	Fri Sep 07 23:38:22 2012 +0000
@@ -39,6 +39,7 @@
 _GitDiffOptions_Init(pass,__pRT__,snd);
 _GitDiffRange_Init(pass,__pRT__,snd);
 _GitError_Init(pass,__pRT__,snd);
+_GitHandle_Init(pass,__pRT__,snd);
 _GitIndex_Init(pass,__pRT__,snd);
 _GitIndexEntry_Init(pass,__pRT__,snd);
 _GitIndexEntryUnmerged_Init(pass,__pRT__,snd);
@@ -48,7 +49,6 @@
 _GitIndexerStream_Init(pass,__pRT__,snd);
 _GitNote_Init(pass,__pRT__,snd);
 _GitNoteData_Init(pass,__pRT__,snd);
-_GitObject_Init(pass,__pRT__,snd);
 _GitOdb_Init(pass,__pRT__,snd);
 _GitOdbBackend_Init(pass,__pRT__,snd);
 _GitOdbObject_Init(pass,__pRT__,snd);
@@ -63,12 +63,11 @@
 _GitRemote_Init(pass,__pRT__,snd);
 _GitRemoteCallbacks_Init(pass,__pRT__,snd);
 _GitRemoteHead_Init(pass,__pRT__,snd);
-_GitRepository_Init(pass,__pRT__,snd);
 _GitRepositoryInitOptions_Init(pass,__pRT__,snd);
 _GitRevwalk_Init(pass,__pRT__,snd);
-_GitSignature_Init(pass,__pRT__,snd);
 _GitStatusOptions_Init(pass,__pRT__,snd);
 _GitStrarray_Init(pass,__pRT__,snd);
+_GitStructure_Init(pass,__pRT__,snd);
 _GitSubmodule_Init(pass,__pRT__,snd);
 _GitTag_Init(pass,__pRT__,snd);
 _GitTime_Init(pass,__pRT__,snd);
@@ -76,6 +75,9 @@
 _GitTreeEntry_Init(pass,__pRT__,snd);
 _GitTreebuilder_Init(pass,__pRT__,snd);
 _stx_137libscm_137git_Init(pass,__pRT__,snd);
+_GitObject_Init(pass,__pRT__,snd);
+_GitRepository_Init(pass,__pRT__,snd);
+_GitSignature_Init(pass,__pRT__,snd);
 
 
 __END_PACKAGE__();
--- a/git/stx_libscm_git.st	Fri Sep 07 14:29:31 2012 +0000
+++ b/git/stx_libscm_git.st	Fri Sep 07 23:38:22 2012 +0000
@@ -27,7 +27,7 @@
      exclude individual packages in the #excludedFromPrerequisites method."
 
     ^ #(
-        #'stx:libbasic'    "UninterpretedBytes - superclass of GitSignature "
+        #'stx:libbasic'    "ProjectDefinition - superclass of stx_libscm_git "
     )
 ! !
 
@@ -90,6 +90,8 @@
         GitTreeEntry
         GitTreebuilder
         #'stx_libscm_git'
+        GitHandle
+        GitStructure
     )
 !
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/tccmake.bat	Fri Sep 07 23:38:22 2012 +0000
@@ -0,0 +1,8 @@
+@REM -------
+@REM make using tcc compiler
+@REM type tccmake, and wait...
+@REM do not edit - automatically generated from ProjectDefinition
+@REM -------
+make.exe -N -f bc.mak USETCC=1 %1 %2
+
+