- GitCommitterQuery
added: #version_SVN
- stx_libscm_git
changed:
#classNamesAndAttributes
#extensionMethodNames
#preRequisites
- GitSignatureQuery
added: #version_SVN
- GitAuthorQuery
added: #version_SVN
- GitReference
added: #version_SVN
- extensions
...
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitAuthorQuery.st Tue Sep 25 15:35:04 2012 +0000
@@ -0,0 +1,15 @@
+"{ Package: 'stx:libscm/git' }"
+
+GitSignatureQuery subclass:#GitAuthorQuery
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SCM-Git-Exceptions'
+!
+
+
+!GitAuthorQuery class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id:: $'
+! !
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitCommitterQuery.st Tue Sep 25 15:35:04 2012 +0000
@@ -0,0 +1,23 @@
+"{ Package: 'stx:libscm/git' }"
+
+GitSignatureQuery subclass:#GitCommitterQuery
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SCM-Git-Exceptions'
+!
+
+
+!GitCommitterQuery methodsFor:'default values'!
+
+defaultResumeValue
+ ^GitSignature default
+
+ "Created: / 25-09-2012 / 11:15:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitCommitterQuery class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id:: $'
+! !
--- a/git/GitIndex.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitIndex.st Tue Sep 25 15:35:04 2012 +0000
@@ -1,6 +1,6 @@
"{ Package: 'stx:libscm/git' }"
-GitModel subclass:#GitIndex
+GitLibraryObject subclass:#GitIndex
instanceVariableNames:'repository'
classVariableNames:''
poolDictionaries:'GitObjectType'
@@ -8,16 +8,35 @@
!
+!GitIndex methodsFor:'accessing'!
+
+tree
+ | oid err |
+
+ oid := GitOid new.
+ err := GitPrimitives prim_git_tree_create_fromindex: oid index: handle.
+ GitError raiseIfError: err.
+ ^repository lookup: oid type: OBJ_TREE
+
+ "Created: / 25-09-2012 / 10:22:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GitIndex methodsFor:'adding & removing'!
add: entry
+ ^self add: entry stage: 0
+
+ "Created: / 25-09-2012 / 00:26:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+add: entry stage: stage
| path err |
path := entry pathNameRelative.
- err := GitPrimitives prim_git_index_add: handle path: path stage: 1.
+ err := GitPrimitives prim_git_index_add: handle path: path stage: stage.
GitError raiseIfError: err.
- "Created: / 25-09-2012 / 00:26:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 25-09-2012 / 10:11:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GitIndex methodsFor:'initialization & release'!
@@ -55,6 +74,9 @@
write
| err |
+
+"/ err := GitPrimitives prim_git_index_uniq: handle.
+"/ GitError raiseIfError: err.
err := GitPrimitives prim_git_index_write: handle.
GitError raiseIfError: err.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitLibraryObject.st Tue Sep 25 15:35:04 2012 +0000
@@ -0,0 +1,88 @@
+"{ Package: 'stx:libscm/git' }"
+
+Object subclass:#GitLibraryObject
+ instanceVariableNames:'handle'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SCM-Git-Model'
+!
+
+
+!GitLibraryObject methodsFor:'finalization'!
+
+executor
+ ^self class basicNew setHandleFromOriginal: self
+
+ "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>"
+! !
+
+!GitLibraryObject methodsFor:'initialization & release'!
+
+free
+ handle notNil ifTrue:[
+ self subclassResponsibility.
+ handle := nil.
+ ].
+
+ "Created: / 08-09-2012 / 00:01:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitLibraryObject methodsFor:'private-accessing'!
+
+getHandle
+ ^handle
+
+ "Created: / 19-09-2012 / 00:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+getHandleClass
+ ^self subclassResponsibility
+
+ "Created: / 17-09-2012 / 21:19:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandle: hndl
+ self assert: (hndl isNil or:[hndl class == self getHandleClass]).
+ handle := hndl.
+ handle notNil ifTrue:[
+ self registerForFinalization.
+ ].
+
+ "Created: / 17-09-2012 / 21:13:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandleFromExternalAddress: anExternalAddress
+ | cls |
+
+ cls := self getHandleClass.
+ self setHandle: (self getHandleClass new setAddress: anExternalAddress address size: cls structSize)
+
+ "Created: / 19-09-2012 / 01:33:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandleFromOriginal: original
+ "To be called only from #executor"
+ handle := original getHandle
+
+ "Created: / 19-09-2012 / 01:26:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setHandleFromRef: aByteArray
+ self assert: aByteArray isByteArray.
+ self assert: aByteArray size == ExternalAddress pointerSize.
+ self setHandle: (self getHandleClass newAddress: (aByteArray pointerAt: 1))
+
+ "Created: / 17-09-2012 / 21:22:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitLibraryObject class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id:: $'
+! !
--- a/git/GitModel.st Mon Sep 24 22:43:25 2012 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-"{ Package: 'stx:libscm/git' }"
-
-Object subclass:#GitModel
- instanceVariableNames:'handle'
- classVariableNames:''
- poolDictionaries:''
- category:'SCM-Git-Model'
-!
-
-
-!GitModel methodsFor:'finalization'!
-
-executor
- ^self class basicNew setHandleFromOriginal: self
-
- "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>"
-! !
-
-!GitModel methodsFor:'initialization & release'!
-
-free
- handle notNil ifTrue:[
- self subclassResponsibility.
- handle := nil.
- ].
-
- "Created: / 08-09-2012 / 00:01:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GitModel methodsFor:'private-accessing'!
-
-getHandle
- ^handle
-
- "Created: / 19-09-2012 / 00:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-getHandleClass
- ^self subclassResponsibility
-
- "Created: / 17-09-2012 / 21:19:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-setHandle: hndl
- self assert: (hndl isNil or:[hndl class == self getHandleClass]).
- handle := hndl.
- handle notNil ifTrue:[
- self registerForFinalization.
- ].
-
- "Created: / 17-09-2012 / 21:13:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-setHandleFromExternalAddress: anExternalAddress
- | cls |
-
- cls := self getHandleClass.
- self setHandle: (self getHandleClass new setAddress: anExternalAddress address size: cls structSize)
-
- "Created: / 19-09-2012 / 01:33:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-setHandleFromOriginal: original
- "To be called only from #executor"
- handle := original getHandle
-
- "Created: / 19-09-2012 / 01:26:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-setHandleFromRef: aByteArray
- self assert: aByteArray isByteArray.
- self assert: aByteArray size == ExternalAddress pointerSize.
- self setHandle: (self getHandleClass new setAddressFromBytes: aByteArray)
-
- "Created: / 17-09-2012 / 21:22:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GitModel class methodsFor:'documentation'!
-
-version_SVN
- ^ '$Id:: $'
-! !
--- a/git/GitObject.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitObject.st Tue Sep 25 15:35:04 2012 +0000
@@ -1,6 +1,6 @@
"{ Package: 'stx:libscm/git' }"
-GitModel subclass:#GitObject
+GitLibraryObject subclass:#GitObject
instanceVariableNames:'oid repository'
classVariableNames:''
poolDictionaries:'GitObjectType'
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitReference.st Tue Sep 25 15:35:04 2012 +0000
@@ -0,0 +1,51 @@
+"{ Package: 'stx:libscm/git' }"
+
+GitLibraryObject subclass:#GitReference
+ instanceVariableNames:'name'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SCM-Git-Model'
+!
+
+
+!GitReference methodsFor:'accessing'!
+
+name
+ name isNil ifTrue:[
+ name := (GitPrimitives prim_git_reference_name: handle) copyCStringFromHeap
+ ].
+ ^name
+
+ "Created: / 25-09-2012 / 11:00:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+oid
+ ^GitPrimitives prim_git_reference_oid: handle.
+
+ "Created: / 25-09-2012 / 10:48:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitReference methodsFor:'initialization & release'!
+
+free
+ handle notNil ifTrue:[
+ GitPrimitives prim_git_reference_free: handle.
+ handle := nil.
+ ].
+
+ "Created: / 25-09-2012 / 10:44:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitReference methodsFor:'private-accessing'!
+
+getHandleClass
+ ^GitReferenceHandle
+
+ "Created: / 25-09-2012 / 10:44:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitReference class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id:: $'
+! !
--- a/git/GitRepository.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitRepository.st Tue Sep 25 15:35:04 2012 +0000
@@ -1,6 +1,6 @@
"{ Package: 'stx:libscm/git' }"
-GitModel subclass:#GitRepository
+GitLibraryObject subclass:#GitRepository
instanceVariableNames:'path workdir index'
classVariableNames:''
poolDictionaries:'GitObjectType GitStatusCodes'
@@ -63,6 +63,17 @@
!GitRepository methodsFor:'accessing'!
+head
+ | ref err |
+ ref := ByteArray new: ExternalBytes sizeofPointer.
+ err := GitPrimitives prim_git_repository_head: ref repo: handle.
+ GitError raiseIfError: err.
+
+ ^GitReference new setHandleFromRef: ref
+
+ "Created: / 25-09-2012 / 10:48:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
workingCopy
self isBare ifTrue:[
GitError raiseErrorString: 'Repository is bare'.
@@ -97,6 +108,40 @@
"Created: / 19-09-2012 / 09:48:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!GitRepository methodsFor:'actions'!
+
+commit: message tree: tree parents: parents update: refOrNil commiter: commiterOrNil author: authorOrNil
+ | oid err committer author parentsA |
+
+ committer := commiterOrNil notNil
+ ifTrue:[committer copyNow]
+ ifFalse:[GitCommitterQuery query copyNow].
+ author := commiterOrNil notNil
+ ifTrue:[author]
+ ifFalse:[committer copy].
+ parentsA := ByteArray new: (ExternalBytes sizeofPointer * parents size).
+ parents withIndexDo:[:each :idx|
+ parentsA pointerAt: (1 + ((idx - 1) * ExternalBytes sizeofPointer)) put: each getHandle.
+ ].
+ oid := GitOid new.
+
+ err := GitPrimitives prim_git_commit_create: oid
+ repo: handle
+ update_ref: (refOrNil notNil ifTrue:[refOrNil getHandle] ifFalse:[nil])
+ author: author getHandle
+ committer: committer getHandle
+ message_encoding: 'utf-8'
+ message: message utf8Encoded
+ tree: tree getHandle
+ parent_count: parents size
+ parents: parentsA.
+ GitError raiseIfError: err.
+
+ ^self lookup: oid type: OBJ_COMMIT.
+
+ "Created: / 25-09-2012 / 14:51:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GitRepository methodsFor:'copying'!
shallowCopy
@@ -237,6 +282,18 @@
!GitRepository methodsFor:'testing'!
+headIsDetached
+ ^(GitPrimitives prim_git_repository_head_detached: handle) == 1
+
+ "Created: / 25-09-2012 / 11:06:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+headIsOrphan
+ ^(GitPrimitives prim_git_repository_head_orphan: handle) == 1
+
+ "Created: / 25-09-2012 / 11:06:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
isBare
"Check if a repository is bare"
--- a/git/GitSignature.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitSignature.st Tue Sep 25 15:35:04 2012 +0000
@@ -1,43 +1,123 @@
"{ Package: 'stx:libscm/git' }"
-GitModel subclass:#GitSignature
- instanceVariableNames:'name email timestamp'
- classVariableNames:''
+GitLibraryObject subclass:#GitSignature
+ instanceVariableNames:'name namePtr email emailPtr timestamp'
+ classVariableNames:'Default'
poolDictionaries:''
category:'SCM-Git-Model'
!
+!GitSignature class methodsFor:'instance creation'!
+
+new
+ | ref |
+
+ ref := ByteArray new: ExternalBytes sizeofPointer.
+ GitError raiseIfError: (GitPrimitives prim_git_signature_new: ref name: '**uninitialized**' email: '**uninitialized**' time: 0 offset: 0 ).
+ ^self basicNew
+ setHandleFromRef:ref;
+ yourself
+
+ "
+ self new
+ "
+
+ "Created: / 25-09-2012 / 12:32:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitSignature class methodsFor:'accessing-default'!
+
+default
+ Default isNil ifTrue:[
+ Default := self new.
+ Default name: OperatingSystem getFullUserName.
+ Default email: (Dialog request:'Git - Enter your email')
+ ].
+ ^ Default.
+
+ "
+ GitSignature default
+ "
+
+ "Created: / 25-09-2012 / 11:15:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GitSignature methodsFor:'accessing'!
email
(email isNil and:[handle notNil]) ifTrue:[
- email := handle email copyCStringFromHeap utf8Decoded
+ email := (emailPtr := handle email) copyCStringFromHeap utf8Decoded
].
^email
- "Modified: / 19-09-2012 / 01:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-09-2012 / 11:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+email:aString
+
+ email := aString.
+ emailPtr := ExternalBytes newNullTerminatedFromString:aString.
+ handle email: emailPtr address
+
+ "Modified: / 25-09-2012 / 14:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
name
(name isNil and:[handle notNil]) ifTrue:[
- name := handle name copyCStringFromHeap utf8Decoded
+ name := (namePtr := handle name) copyCStringFromHeap utf8Decoded
].
^name
- "Modified: / 19-09-2012 / 01:56:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-09-2012 / 11:28:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name:aString
+
+ name := aString.
+ namePtr := ExternalBytes newNullTerminatedFromString:aString.
+ handle name: namePtr address
+
+ "Modified: / 25-09-2012 / 14:26:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
timestamp
(timestamp isNil and:[handle notNil]) ifTrue:[
- timestamp := Timestamp new osTime: handle when time
+ timestamp := Timestamp new osTime: handle time
+ ].
+ ^timestamp
+
+ "Modified: / 25-09-2012 / 14:48:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+timestamp: aTimestamp
+
+ timestamp := aTimestamp.
+ handle notNil ifTrue:[
+ handle time: timestamp osTime.
].
^timestamp
- "Modified: / 19-09-2012 / 01:20:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 25-09-2012 / 14:36:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitSignature methodsFor:'copying'!
+
+copyNow
+ ^self copy timestamp: Timestamp now.
+
+ "Created: / 25-09-2012 / 14:40:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+shallowCopy
+ ^self class basicNew
+ setHandle:(GitPrimitives prim_git_signature_dup: handle);
+ yourself
+
+ "Created: / 25-09-2012 / 14:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GitSignature methodsFor:'printing & storing'!
@@ -52,9 +132,9 @@
nextPutAll: self email;
nextPut:$>;
space.
-"/ self timestamp printOn: aStream
+ self timestamp printOn: aStream
- "Modified: / 19-09-2012 / 14:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 25-09-2012 / 14:40:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GitSignature methodsFor:'private-accessing'!
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitSignatureQuery.st Tue Sep 25 15:35:04 2012 +0000
@@ -0,0 +1,15 @@
+"{ Package: 'stx:libscm/git' }"
+
+Query subclass:#GitSignatureQuery
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'SCM-Git-Exceptions'
+!
+
+
+!GitSignatureQuery class methodsFor:'documentation'!
+
+version_SVN
+ ^ '$Id:: $'
+! !
--- a/git/GitSignatureStructure.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitSignatureStructure.st Tue Sep 25 15:35:04 2012 +0000
@@ -37,7 +37,9 @@
email: value
- self pointerAt:1 + 4 put:value
+ self longAt:1 + 4 put:value
+
+ "Modified: / 25-09-2012 / 14:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
name
@@ -50,24 +52,37 @@
name: value
- self pointerAt:1 + 0 put:value
+ self longAt:1 + 0 put:value
+
+ "Modified: / 25-09-2012 / 14:30:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+offset"^ <SmallInteger>"
+
+ ^self longAt:1 + 8 + 8
+
+ "Created: / 25-09-2012 / 14:47:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-when
- "Returns ;; Line: 2991
-;; Class: GitTimeStructure
-"
+offset: value"<SmallInteger>"
+
+ ^self longAt:1 + 8 + 8 put: value
- ^GitTimeStructure address: (self longAt:1 + 8)
-
- "Modified: / 19-09-2012 / 14:04:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 25-09-2012 / 14:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-when: aGitTimeStructure
+time"^ <LargeInteger>"
+
+ ^self longLongAt:1 + 8
- self pointerAt:1 + 8 put:aGitTimeStructure address
+ "Created: / 25-09-2012 / 14:46:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
- "Modified: / 19-09-2012 / 01:17:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+time: value"<LargeInteger>"
+
+ ^self longLongAt:1 + 8 put: value
+
+ "Created: / 25-09-2012 / 14:46:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GitSignatureStructure class methodsFor:'documentation'!
--- a/git/GitStructure.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitStructure.st Tue Sep 25 15:35:04 2012 +0000
@@ -14,6 +14,12 @@
^self address: address size: self structSize.
"Created: / 19-09-2012 / 14:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newAddress: address
+ ^self address: address size: self structSize.
+
+ "Created: / 25-09-2012 / 15:07:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GitStructure class methodsFor:'accessing'!
--- a/git/GitWorkingCopy.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitWorkingCopy.st Tue Sep 25 15:35:04 2012 +0000
@@ -1,7 +1,7 @@
"{ Package: 'stx:libscm/git' }"
-GitModel subclass:#GitWorkingCopy
- instanceVariableNames:'repository root index'
+GitLibraryObject subclass:#GitWorkingCopy
+ instanceVariableNames:'repository reference commit index root detached'
classVariableNames:''
poolDictionaries:'GitStatusCodes'
category:'SCM-Git-Model'
@@ -50,20 +50,61 @@
obj := repository lookup: oid.
].
- repository checkout: obj
+ repository checkout: obj.
+ commit := obj.
"Created: / 19-09-2012 / 14:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+commit: message
+ self commit: message tree: index tree
+
+ "Created: / 25-09-2012 / 10:19:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commit: message tree: tree
+ self commit: message tree: tree parents: (Array with: commit)
+
+ "Created: / 25-09-2012 / 11:09:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commit: message tree: tree parents: parents
+ self commit: message tree: tree parents: parents update: (detached ifTrue:[nil] ifFalse:[reference]).
+
+ "Created: / 25-09-2012 / 11:11:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commit: message tree: tree parents: parents update: refOrNil
+ ^self commit: message tree: tree parents: parents update: refOrNil commiter: nil.
+
+ "Created: / 25-09-2012 / 12:24:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commit: message tree: tree parents: parents update: refOrNil commiter: commiterOrNil
+ ^self commit: message tree: tree parents: parents update: refOrNil commiter: commiterOrNil author: nil
+
+ "Created: / 25-09-2012 / 14:50:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+commit: message tree: tree parents: parents update: refOrNil commiter: commiterOrNil author: authorOrNil
+ ^repository commit: message tree: tree parents: parents update: refOrNil commiter: commiterOrNil author: authorOrNil
+
+ "Created: / 25-09-2012 / 14:50:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
stage
"Stage all unstaged files"
self entriesAndStatusesDo: [:entry :status|
- (status bitAnd: (GIT_STATUS_INDEX_NEW | GIT_STATUS_INDEX_MODIFIED | GIT_STATUS_INDEX_DELETED)) ~~ 0 ifTrue:[
+ (status bitAnd: (GIT_STATUS_WT_MODIFIED | GIT_STATUS_WT_DELETED)) ~~ 0 ifTrue:[
self index add: entry.
+ ] ifFalse:[
+ (status bitAnd: (GIT_STATUS_WT_DELETED)) ~~ 0 ifTrue:[
+ self index remove: entry.
+ ].
].
].
- self index unique; write
+ self index write
"Created: / 25-09-2012 / 00:13:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
@@ -88,8 +129,11 @@
!GitWorkingCopy methodsFor:'initialization'!
setRepository: aGitRepository
+ handle := aGitRepository getHandle.
repository := aGitRepository.
- handle := aGitRepository getHandle.
+ reference := repository head.
+ detached := repository headIsDetached.
+ commit := repository lookup: reference oid.
root := GitWorkingCopyEntry wc: self path: repository workdir.
"Created: / 19-09-2012 / 09:43:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
--- a/git/GitWorkingCopyEntry.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/GitWorkingCopyEntry.st Tue Sep 25 15:35:04 2012 +0000
@@ -21,7 +21,7 @@
pathNameRelative
^self == wc root
ifTrue:[wc root pathName]
- ifFalse:[file pathName copyFrom: (wc root pathName + 2)]
+ ifFalse:[file pathName copyFrom: (wc root pathName size + 2)]
"Created: / 25-09-2012 / 00:28:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
--- a/git/Make.proto Mon Sep 24 22:43:25 2012 +0000
+++ b/git/Make.proto Tue Sep 25 15:35:04 2012 +0000
@@ -159,6 +159,7 @@
$(OUTDIR)GitRepositoryHandle.$(O) GitRepositoryHandle.$(H): GitRepositoryHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitResetType.$(O) GitResetType.$(H): GitResetType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitRevwalkHandle.$(O) GitRevwalkHandle.$(H): GitRevwalkHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignatureQuery.$(O) GitSignatureQuery.$(H): GitSignatureQuery.st $(INCLUDE_TOP)/stx/libbasic/Query.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitStatusCodes.$(O) GitStatusCodes.$(H): GitStatusCodes.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitStatusShowType.$(O) GitStatusShowType.$(H): GitStatusShowType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)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)
@@ -172,7 +173,9 @@
$(OUTDIR)GitTreebuilderHandle.$(O) GitTreebuilderHandle.$(H): GitTreebuilderHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitTreewalkModeType.$(O) GitTreewalkModeType.$(H): GitTreewalkModeType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)stx_libscm_git.$(O) stx_libscm_git.$(H): stx_libscm_git.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitAuthorQuery.$(O) GitAuthorQuery.$(H): GitAuthorQuery.st $(INCLUDE_TOP)/stx/libscm/git/GitSignatureQuery.$(H) $(INCLUDE_TOP)/stx/libbasic/Query.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitCheckoutOptions.$(O) GitCheckoutOptions.$(H): GitCheckoutOptions.st $(INCLUDE_TOP)/stx/libscm/git/GitCheckoutStrategy.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitCommitterQuery.$(O) GitCommitterQuery.$(H): GitCommitterQuery.st $(INCLUDE_TOP)/stx/libscm/git/GitSignatureQuery.$(H) $(INCLUDE_TOP)/stx/libbasic/Query.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -190,6 +193,7 @@
$(OUTDIR)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)/stx/libscm/git/GitObjectType.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitReference.$(O) GitReference.$(H): GitReference.st $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)/stx/libscm/git/GitStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalStructure.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)/stx/libscm/git/GitObjectType.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitStatusCodes.$(H) $(INCLUDE_TOP)/stx/libscm/git/GitModel.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/git/Make.spec Mon Sep 24 22:43:25 2012 +0000
+++ b/git/Make.spec Tue Sep 25 15:35:04 2012 +0000
@@ -50,11 +50,11 @@
STCWARNINGS=-warnNonStandard
COMMON_CLASSES= \
+ GitLibraryObject \
GitStatusCodes \
GitErrorKlass \
GitStructure \
GitObjectType \
- GitModel \
GitError \
GitObject \
GitCommit \
@@ -128,16 +128,20 @@
GitCheckoutOptions \
GitIndex \
GitWorkingCopyEntry \
+ GitSignatureQuery \
+ GitAuthorQuery \
+ GitCommitterQuery \
+ GitReference \
COMMON_OBJS= \
+ $(OUTDIR)GitModel.$(O) \
$(OUTDIR)GitStatusCodes.$(O) \
$(OUTDIR)GitErrorKlass.$(O) \
$(OUTDIR)GitStructure.$(O) \
$(OUTDIR)GitObjectType.$(O) \
- $(OUTDIR)GitModel.$(O) \
$(OUTDIR)GitError.$(O) \
$(OUTDIR)GitObject.$(O) \
$(OUTDIR)GitCommit.$(O) \
@@ -211,6 +215,10 @@
$(OUTDIR)GitCheckoutOptions.$(O) \
$(OUTDIR)GitIndex.$(O) \
$(OUTDIR)GitWorkingCopyEntry.$(O) \
+ $(OUTDIR)GitSignatureQuery.$(O) \
+ $(OUTDIR)GitAuthorQuery.$(O) \
+ $(OUTDIR)GitCommitterQuery.$(O) \
+ $(OUTDIR)GitReference.$(O) \
$(OUTDIR)extensions.$(O) \
--- a/git/abbrev.stc Mon Sep 24 22:43:25 2012 +0000
+++ b/git/abbrev.stc Tue Sep 25 15:35:04 2012 +0000
@@ -1,11 +1,11 @@
# automagically generated by the project definition
# this file is needed for stc to be able to compile modules independently.
# it provides information about a classes filename, category and especially namespace.
+GitLibraryObject GitLibraryObject stx:libscm/git 'SCM-Git-Model' 0
GitStatusCodes GitStatusCodes stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitErrorKlass GitErrorKlass stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitErrorKlass GitErrorKlass stx:libscm/git 'Git-Internal-Constants' 0
GitStructure GitStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitObjectType GitObjectType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitModel GitModel stx:libscm/git 'SCM-Git-Model' 0
+GitObjectType GitObjectType stx:libscm/git 'Git-Internal-Constants' 0
GitError GitError stx:libscm/git 'SCM-Git-Exceptions' 1
GitObject GitObject stx:libscm/git 'SCM-Git-Model' 0
GitCommit GitCommit stx:libscm/git 'SCM-Git-Model' 0
@@ -13,64 +13,64 @@
GitRepository GitRepository stx:libscm/git 'SCM-Git-Model' 0
GitTree GitTree stx:libscm/git 'SCM-Git-Model' 0
stx_libscm_git stx_libscm_git stx:libscm/git '* Projects & Packages *' 3
-GitAttrType GitAttrType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitBlobHandle GitBlobHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitBranchType GitBranchType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitCommitHandle GitCommitHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitAttrType GitAttrType stx:libscm/git 'Git-Internal-Constants' 0
+GitBlobHandle GitBlobHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitBranchType GitBranchType stx:libscm/git 'Git-Internal-Constants' 0
+GitCommitHandle GitCommitHandle stx:libscm/git 'Git-Internal-Handles' 0
GitConfigFileStructure GitConfigFileStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitConfigHandle GitConfigHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitConfigHandle GitConfigHandle stx:libscm/git 'Git-Internal-Handles' 0
GitCvarMapStructure GitCvarMapStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitCvarType GitCvarType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitDeltaType GitDeltaType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitCvarType GitCvarType stx:libscm/git 'Git-Internal-Constants' 0
+GitDeltaType GitDeltaType stx:libscm/git 'Git-Internal-Constants' 0
GitDiffDeltaStructure GitDiffDeltaStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
GitDiffFileStructure GitDiffFileStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitDiffListHandle GitDiffListHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitDiffListHandle GitDiffListHandle stx:libscm/git 'Git-Internal-Handles' 0
GitDiffOptionsStructure GitDiffOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
GitDiffRangeStructure GitDiffRangeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
GitErrorStructure GitErrorStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitFilemodeType GitFilemodeType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitFilemodeType GitFilemodeType stx:libscm/git 'Git-Internal-Constants' 0
GitIndexEntryStructure GitIndexEntryStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
GitIndexEntryUnmergedStructure GitIndexEntryUnmergedStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitIndexHandle GitIndexHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitIndexHandle GitIndexHandle stx:libscm/git 'Git-Internal-Handles' 0
GitIndexTimeStructure GitIndexTimeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitIndexerHandle GitIndexerHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitIndexerHandle GitIndexerHandle stx:libscm/git 'Git-Internal-Handles' 0
GitIndexerStatsStructure GitIndexerStatsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitIndexerStreamHandle GitIndexerStreamHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitIndexerStreamHandle GitIndexerStreamHandle stx:libscm/git 'Git-Internal-Handles' 0
GitNoteDataStructure GitNoteDataStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitNoteHandle GitNoteHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitObjectHandle GitObjectHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitNoteHandle GitNoteHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitObjectHandle GitObjectHandle stx:libscm/git 'Git-Internal-Handles' 0
GitOdbBackendStructure GitOdbBackendStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitOdbHandle GitOdbHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitOdbObjectHandle GitOdbObjectHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitOdbHandle GitOdbHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitOdbObjectHandle GitOdbObjectHandle stx:libscm/git 'Git-Internal-Handles' 0
GitOdbStreamStructure GitOdbStreamStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitOidShortenHandle GitOidShortenHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitRefType GitRefType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitReferenceHandle GitReferenceHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitReflogEntryHandle GitReflogEntryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitReflogHandle GitReflogHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitRefspecHandle GitRefspecHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitOidShortenHandle GitOidShortenHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitRefType GitRefType stx:libscm/git 'Git-Internal-Constants' 0
+GitReferenceHandle GitReferenceHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitReflogEntryHandle GitReflogEntryHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitReflogHandle GitReflogHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitRefspecHandle GitRefspecHandle stx:libscm/git 'Git-Internal-Handles' 0
GitRemoteCallbacksStructure GitRemoteCallbacksStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitRemoteCompletionType GitRemoteCompletionType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitRemoteHandle GitRemoteHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRemoteCompletionType GitRemoteCompletionType stx:libscm/git 'Git-Internal-Constants' 0
+GitRemoteHandle GitRemoteHandle stx:libscm/git 'Git-Internal-Handles' 0
GitRemoteHeadStructure GitRemoteHeadStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitRepositoryHandle GitRepositoryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitRepositoryHandle GitRepositoryHandle stx:libscm/git 'Git-Internal-Handles' 0
GitRepositoryInitOptionsStructure GitRepositoryInitOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitResetType GitResetType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitRevwalkHandle GitRevwalkHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitResetType GitResetType stx:libscm/git 'Git-Internal-Constants' 0
+GitRevwalkHandle GitRevwalkHandle stx:libscm/git 'Git-Internal-Handles' 0
GitSignatureStructure GitSignatureStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
GitStatusOptionsStructure GitStatusOptionsStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitStatusShowType GitStatusShowType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitStatusShowType GitStatusShowType stx:libscm/git 'Git-Internal-Constants' 0
GitStrarrayStructure GitStrarrayStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitSubmoduleHandle GitSubmoduleHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitSubmoduleIgnoreType GitSubmoduleIgnoreType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitSubmoduleStatusType GitSubmoduleStatusType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitSubmoduleUpdateType GitSubmoduleUpdateType stx:libscm/git 'SCM-Git-Internal-Constants' 0
-GitTagHandle GitTagHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
+GitSubmoduleHandle GitSubmoduleHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitSubmoduleIgnoreType GitSubmoduleIgnoreType stx:libscm/git 'Git-Internal-Constants' 0
+GitSubmoduleStatusType GitSubmoduleStatusType stx:libscm/git 'Git-Internal-Constants' 0
+GitSubmoduleUpdateType GitSubmoduleUpdateType stx:libscm/git 'Git-Internal-Constants' 0
+GitTagHandle GitTagHandle stx:libscm/git 'Git-Internal-Handles' 0
GitTimeStructure GitTimeStructure stx:libscm/git 'SCM-Git-Internal-Structures' 1
-GitTreeEntryHandle GitTreeEntryHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitTreeHandle GitTreeHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitTreebuilderHandle GitTreebuilderHandle stx:libscm/git 'SCM-Git-Internal-Handles' 0
-GitTreewalkModeType GitTreewalkModeType stx:libscm/git 'SCM-Git-Internal-Constants' 0
+GitTreeEntryHandle GitTreeEntryHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitTreeHandle GitTreeHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitTreebuilderHandle GitTreebuilderHandle stx:libscm/git 'Git-Internal-Handles' 0
+GitTreewalkModeType GitTreewalkModeType stx:libscm/git 'Git-Internal-Constants' 0
GitPrimitives GitPrimitives stx:libscm/git 'SCM-Git-Internal' 0
GitSignature GitSignature stx:libscm/git 'SCM-Git-Model' 0
GitWorkingCopy GitWorkingCopy stx:libscm/git 'SCM-Git-Model' 0
@@ -81,3 +81,7 @@
GitCheckoutOptions GitCheckoutOptions stx:libscm/git 'SCM-Git-Model' 1
GitIndex GitIndex stx:libscm/git 'SCM-Git-Model' 0
GitWorkingCopyEntry GitWorkingCopyEntry stx:libscm/git 'SCM-Git-Model' 0
+GitSignatureQuery GitSignatureQuery stx:libscm/git 'SCM-Git-Exceptions' 1
+GitAuthorQuery GitAuthorQuery stx:libscm/git 'SCM-Git-Exceptions' 1
+GitCommitterQuery GitCommitterQuery stx:libscm/git 'SCM-Git-Exceptions' 1
+GitReference GitReference stx:libscm/git 'SCM-Git-Model' 0
--- a/git/bc.mak Mon Sep 24 22:43:25 2012 +0000
+++ b/git/bc.mak Tue Sep 25 15:35:04 2012 +0000
@@ -95,6 +95,7 @@
$(OUTDIR)GitRepositoryHandle.$(O) GitRepositoryHandle.$(H): GitRepositoryHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitResetType.$(O) GitResetType.$(H): GitResetType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitRevwalkHandle.$(O) GitRevwalkHandle.$(H): GitRevwalkHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitSignatureQuery.$(O) GitSignatureQuery.$(H): GitSignatureQuery.st $(INCLUDE_TOP)\stx\libbasic\Query.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitStatusCodes.$(O) GitStatusCodes.$(H): GitStatusCodes.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitStatusShowType.$(O) GitStatusShowType.$(H): GitStatusShowType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)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)
@@ -108,7 +109,9 @@
$(OUTDIR)GitTreebuilderHandle.$(O) GitTreebuilderHandle.$(H): GitTreebuilderHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitTreewalkModeType.$(O) GitTreewalkModeType.$(H): GitTreewalkModeType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)stx_libscm_git.$(O) stx_libscm_git.$(H): stx_libscm_git.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitAuthorQuery.$(O) GitAuthorQuery.$(H): GitAuthorQuery.st $(INCLUDE_TOP)\stx\libscm\git\GitSignatureQuery.$(H) $(INCLUDE_TOP)\stx\libbasic\Query.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitCheckoutOptions.$(O) GitCheckoutOptions.$(H): GitCheckoutOptions.st $(INCLUDE_TOP)\stx\libscm\git\GitCheckoutStrategy.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitCommitterQuery.$(O) GitCommitterQuery.$(H): GitCommitterQuery.st $(INCLUDE_TOP)\stx\libscm\git\GitSignatureQuery.$(H) $(INCLUDE_TOP)\stx\libbasic\Query.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitConfigFileStructure.$(O) GitConfigFileStructure.$(H): GitConfigFileStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitCvarMapStructure.$(O) GitCvarMapStructure.$(H): GitCvarMapStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitDiffDeltaStructure.$(O) GitDiffDeltaStructure.$(H): GitDiffDeltaStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -126,6 +129,7 @@
$(OUTDIR)GitObject.$(O) GitObject.$(H): GitObject.st $(INCLUDE_TOP)\stx\libscm\git\GitObjectType.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitOdbBackendStructure.$(O) GitOdbBackendStructure.$(H): GitOdbBackendStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitOdbStreamStructure.$(O) GitOdbStreamStructure.$(H): GitOdbStreamStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitReference.$(O) GitReference.$(H): GitReference.st $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitRemoteCallbacksStructure.$(O) GitRemoteCallbacksStructure.$(H): GitRemoteCallbacksStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitRemoteHeadStructure.$(O) GitRemoteHeadStructure.$(H): GitRemoteHeadStructure.st $(INCLUDE_TOP)\stx\libscm\git\GitStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalStructure.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GitRepository.$(O) GitRepository.$(H): GitRepository.st $(INCLUDE_TOP)\stx\libscm\git\GitObjectType.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitStatusCodes.$(H) $(INCLUDE_TOP)\stx\libscm\git\GitModel.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/git/git.rc Mon Sep 24 22:43:25 2012 +0000
+++ b/git/git.rc Tue Sep 25 15:35:04 2012 +0000
@@ -3,7 +3,7 @@
// automagically generated from the projectDefinition: stx_libscm_git.
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,2,14,14
+ FILEVERSION 6,2,17,17
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.14.14\0"
+ VALUE "FileVersion", "6.2.17.17\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", "Mon, 24 Sep 2012 22:43:33 GMT\0"
+ VALUE "ProductDate", "Tue, 25 Sep 2012 15:35:28 GMT\0"
END
END
--- a/git/libInit.cc Mon Sep 24 22:43:25 2012 +0000
+++ b/git/libInit.cc Tue Sep 25 15:35:04 2012 +0000
@@ -41,7 +41,7 @@
_GitIndexHandle_Init(pass,__pRT__,snd);
_GitIndexerHandle_Init(pass,__pRT__,snd);
_GitIndexerStreamHandle_Init(pass,__pRT__,snd);
-_GitModel_Init(pass,__pRT__,snd);
+_GitLibraryObject_Init(pass,__pRT__,snd);
_GitNoteHandle_Init(pass,__pRT__,snd);
_GitObjectHandle_Init(pass,__pRT__,snd);
_GitObjectType_Init(pass,__pRT__,snd);
@@ -60,6 +60,7 @@
_GitRepositoryHandle_Init(pass,__pRT__,snd);
_GitResetType_Init(pass,__pRT__,snd);
_GitRevwalkHandle_Init(pass,__pRT__,snd);
+_GitSignatureQuery_Init(pass,__pRT__,snd);
_GitStatusCodes_Init(pass,__pRT__,snd);
_GitStatusShowType_Init(pass,__pRT__,snd);
_GitStructure_Init(pass,__pRT__,snd);
@@ -73,7 +74,9 @@
_GitTreebuilderHandle_Init(pass,__pRT__,snd);
_GitTreewalkModeType_Init(pass,__pRT__,snd);
_stx_137libscm_137git_Init(pass,__pRT__,snd);
+_GitAuthorQuery_Init(pass,__pRT__,snd);
_GitCheckoutOptions_Init(pass,__pRT__,snd);
+_GitCommitterQuery_Init(pass,__pRT__,snd);
_GitConfigFileStructure_Init(pass,__pRT__,snd);
_GitCvarMapStructure_Init(pass,__pRT__,snd);
_GitDiffDeltaStructure_Init(pass,__pRT__,snd);
@@ -91,6 +94,7 @@
_GitObject_Init(pass,__pRT__,snd);
_GitOdbBackendStructure_Init(pass,__pRT__,snd);
_GitOdbStreamStructure_Init(pass,__pRT__,snd);
+_GitReference_Init(pass,__pRT__,snd);
_GitRemoteCallbacksStructure_Init(pass,__pRT__,snd);
_GitRemoteHeadStructure_Init(pass,__pRT__,snd);
_GitRepository_Init(pass,__pRT__,snd);
--- a/git/stx_libscm_git.st Mon Sep 24 22:43:25 2012 +0000
+++ b/git/stx_libscm_git.st Tue Sep 25 15:35:04 2012 +0000
@@ -27,8 +27,8 @@
exclude individual packages in the #excludedFromPrerequisites method."
^ #(
- #'stx:goodies/sunit' "TestResource - superclass of GitRepositoriesResource "
- #'stx:libbasic' "Object - superclass of GitDeltaType "
+ #'stx:goodies/sunit' "TestCase - superclass of GitTests "
+ #'stx:libbasic' "ExternalBytes - superclass of GitStrarrayStructure "
)
! !
@@ -42,11 +42,11 @@
^ #(
"<className> or (<className> attributes...) in load order"
+ GitLibraryObject
GitStatusCodes
GitErrorKlass
GitStructure
GitObjectType
- GitModel
GitError
GitObject
GitCommit
@@ -122,6 +122,10 @@
GitCheckoutOptions
GitIndex
GitWorkingCopyEntry
+ GitSignatureQuery
+ GitAuthorQuery
+ GitCommitterQuery
+ GitReference
)
!
@@ -196,7 +200,7 @@
"Return a SVN revision number of myself.
This number is updated after a commit"
- ^ "$SVN-Revision:"'5 '"$"
+ ^ "$SVN-Revision:"'16 '"$"
! !
!stx_libscm_git class methodsFor:'documentation'!