- GitDiffDeltaStructure
authorvranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
Sat, 06 Oct 2012 22:35:46 +0000
changeset 31 d96d7eff6efc
parent 30 fe60ba16ea8b
child 32 ae16175e5140
- GitDiffDeltaStructure added: #version #version_GIT - GitCheckoutStrategy added: #version #version_GIT - GitDiffOptionsStructure added: #version #version_GIT - GitTreewalkModeType added: #version #version_GIT - GitRemoteHandle added: #version #version_GIT - GitIndex added: #version #version_GIT - GitIndexEntryUnmergedStructure added: #version #version_GIT - GitWorkingCopyEntry added: #printOn: #version #version_GIT - GitIndexTimeStructure added: #version #version_GIT - GitIndexerHandle added: #version #version_GIT - GitSubmoduleHandle added: #version #version_GIT - GitSourceCodeManager2 added:9 methods changed: #isResponsibleForPackage: #managerTypeName #repositoryNameForPackage: #revisionInfoFromString: - GitAttrType added: #version #version_GIT - GitTask added: #version #version_GIT - GitTreeHandle added: #version #version_GIT - GitWorkingCopy added: #version #version_GIT - GitReflogHandle added: #version #version_GIT - GitFilemodeType added: #version #version_GIT - GitSignatureQuery added: #version #version_GIT - GitPackage added:27 methods changed: #commitTask #package category of: #commitTask - GitIndexerStreamHandle added: #version #version_GIT - GitOdbBackendStructure added: #version #version_GIT - GitLibraryObject added: #version #version_GIT - GitStatusShowType added: #version #version_GIT - GitObjectHandle added: #version #version_GIT - GitOdbHandle added: #version #version_GIT - GitSubmoduleStatusType added: #version #version_GIT - GitSignatureStructure added: #version #version_GIT - GitBlobHandle added: #version #version_GIT - GitConfigHandle added: #version #version_GIT - GitCvarType added: #version #version_GIT - GitStringArray added: #version #version_GIT - GitRepository added: #discover: #version #version_GIT #workingCopyForPackage: changed: #open: - GitConfigFileStructure added: #version #version_GIT - GitPrimitives added: #version #version_GIT - GitRefType added: #version #version_GIT - GitResetType added: #version #version_GIT - GitReference added: #version #version_GIT - GitIndexHandle added: #version #version_GIT - GitRemoteCallbacksStructure added: #version #version_GIT - GitObjectType added: #version #version_GIT - GitSubmoduleIgnoreType added: #version #version_GIT - GitSubmoduleUpdateType added: #version #version_GIT - GitTagHandle added: #version #version_GIT - GitReflogEntryHandle added: #version #version_GIT - GitRefspecHandle added: #version #version_GIT - GitTreebuilderHandle added: #version #version_GIT - GitDialog added: #version #version_GIT - GitErrorKlass added: #version #version_GIT - GitRepositoryObject added: #version #version_GIT - GitRemote added: #version #version_GIT - GitPackageManager added: #packageNamed: #version #version_GIT #version_SVN changed: #initialize - GitOdbObjectHandle added: #version #version_GIT - GitRepositoryInitOptionsStructure added: #version #version_GIT - stx_libscm_git added: #version #version_GIT changed: #classNamesAndAttributes - GitBranchType added: #version #version_GIT - GitTimeStructure added: #version #version_GIT - GitSignature added: #version #version_GIT - GitCommand added: #version #version_GIT - GitDiffRangeStructure added: #version #version_GIT - GitRemoteCompletionType added: #version #version_GIT - GitErrorStructure added: #version #version_GIT - GitRepositoryHandle added: #version #version_GIT - GitCheckoutOptions added: #version #version_GIT - GitAuthorQuery added: #version #version_GIT - GitSourceCodeManagementSettingsAppl2 added:11 methods changed: #windowSpec - GitOdbStreamStructure added: #version #version_GIT - GitStructure added: #version #version_GIT - GitCommit added: #version #version_GIT - GitRemoteHeadStructure added: #version #version_GIT - GitTree added: #version #version_GIT - GitOidShortenHandle added: #version #version_GIT - GitStatusOptionsStructure added: #version #version_GIT - GitCvarMapStructure added: #version #version_GIT - GitReferenceHandle added: #version #version_GIT - GitCommitHandle added: #version #version_GIT - GitError added: #version #version_GIT - GitDiffListHandle added: #version #version_GIT - GitCommitterQuery added: #version #version_GIT - GitIndexerStatsStructure added: #version #version_GIT - GitNoteDataStructure added: #version #version_GIT - GitFileoutLikeTask added: #version #version_GIT changed:6 methods - GitObject added: #version #version_GIT - GitOid added: #version #version_GIT - GitTreeEntryHandle added: #version #version_GIT - GitDiffFileStructure added: #version #version_GIT - GitTag added: #version #version_GIT - GitDeltaType added: #version #version_GIT - GitIndexEntryStructure added: #version #version_GIT - GitRevwalkHandle added: #version #version_GIT - GitCommitDialog added: #version #version_GIT comment/format in: #doRunSanityChecks changed: #defaultSubtitle - GitStatusCodes added: #version #version_GIT - GitIconLibrary added: #version #version_GIT - GitNoteHandle added: #version #version_GIT - GitCommitTask added: #version #version_GIT changed: #doCommit #doSanityChecks - extensions ...
git/GitAttrType.st
git/GitAuthorQuery.st
git/GitBlobHandle.st
git/GitBranchType.st
git/GitCheckoutOptions.st
git/GitCheckoutStrategy.st
git/GitCommand.st
git/GitCommit.st
git/GitCommitDialog.st
git/GitCommitHandle.st
git/GitCommitTask.st
git/GitCommitterQuery.st
git/GitConfigFileStructure.st
git/GitConfigHandle.st
git/GitCvarMapStructure.st
git/GitCvarType.st
git/GitDeltaType.st
git/GitDialog.st
git/GitDiffDeltaStructure.st
git/GitDiffFileStructure.st
git/GitDiffListHandle.st
git/GitDiffOptionsStructure.st
git/GitDiffRangeStructure.st
git/GitError.st
git/GitErrorKlass.st
git/GitErrorStructure.st
git/GitFilemodeType.st
git/GitFileoutLikeTask.st
git/GitIconLibrary.st
git/GitIndex.st
git/GitIndexEntryStructure.st
git/GitIndexEntryUnmergedStructure.st
git/GitIndexHandle.st
git/GitIndexTimeStructure.st
git/GitIndexerHandle.st
git/GitIndexerStatsStructure.st
git/GitIndexerStreamHandle.st
git/GitLibraryObject.st
git/GitNoteDataStructure.st
git/GitNoteHandle.st
git/GitObject.st
git/GitObjectHandle.st
git/GitObjectType.st
git/GitOdbBackendStructure.st
git/GitOdbHandle.st
git/GitOdbObjectHandle.st
git/GitOdbStreamStructure.st
git/GitOid.st
git/GitOidShortenHandle.st
git/GitPackage.st
git/GitPackageManager.st
git/GitPrimitives.st
git/GitRefType.st
git/GitReference.st
git/GitReferenceHandle.st
git/GitReflogEntryHandle.st
git/GitReflogHandle.st
git/GitRefspecHandle.st
git/GitRemote.st
git/GitRemoteCallbacksStructure.st
git/GitRemoteCompletionType.st
git/GitRemoteHandle.st
git/GitRemoteHeadStructure.st
git/GitRepository.st
git/GitRepositoryHandle.st
git/GitRepositoryInitOptionsStructure.st
git/GitRepositoryObject.st
git/GitResetType.st
git/GitRevwalkHandle.st
git/GitSignature.st
git/GitSignatureQuery.st
git/GitSignatureStructure.st
git/GitSourceCodeManagementSettingsAppl2.st
git/GitSourceCodeManager2.st
git/GitStatusCodes.st
git/GitStatusOptionsStructure.st
git/GitStatusShowType.st
git/GitStringArray.st
git/GitStructure.st
git/GitSubmoduleHandle.st
git/GitSubmoduleIgnoreType.st
git/GitSubmoduleStatusType.st
git/GitSubmoduleUpdateType.st
git/GitTag.st
git/GitTagHandle.st
git/GitTask.st
git/GitTimeStructure.st
git/GitTree.st
git/GitTreeEntryHandle.st
git/GitTreeHandle.st
git/GitTreebuilderHandle.st
git/GitTreewalkModeType.st
git/GitWorkingCopy.st
git/GitWorkingCopyEntry.st
git/Make.proto
git/Make.spec
git/abbrev.stc
git/bc.mak
git/git.rc
git/libInit.cc
git/stx_libscm_git.st
--- a/git/GitAttrType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitAttrType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -42,6 +42,11 @@
 
 !GitAttrType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitAuthorQuery.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitAuthorQuery.st	Sat Oct 06 22:35:46 2012 +0000
@@ -10,6 +10,11 @@
 
 !GitAuthorQuery class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitBlobHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitBlobHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitBlobHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitBranchType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitBranchType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -30,6 +30,11 @@
 
 !GitBranchType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCheckoutOptions.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCheckoutOptions.st	Sat Oct 06 22:35:46 2012 +0000
@@ -129,6 +129,11 @@
 
 !GitCheckoutOptions class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCheckoutStrategy.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCheckoutStrategy.st	Sat Oct 06 22:35:46 2012 +0000
@@ -26,6 +26,11 @@
 
 !GitCheckoutStrategy class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommand.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommand.st	Sat Oct 06 22:35:46 2012 +0000
@@ -333,6 +333,11 @@
 
 !GitCommand class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommit.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommit.st	Sat Oct 06 22:35:46 2012 +0000
@@ -35,12 +35,6 @@
     "Created: / 10-09-2012 / 19:03:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
-
-
-
-
 author
     author isNil ifTrue:[
 	author := GitSignature new
@@ -145,6 +139,11 @@
 
 !GitCommit class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommitDialog.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommitDialog.st	Sat Oct 06 22:35:46 2012 +0000
@@ -331,13 +331,13 @@
 
     t := self task.
     ^t package notNil ifTrue:[
-        'Package: ' , t package asText allItalic
+        'Package: ' , t package name asText allItalic
     ] ifFalse:[
         t workingCopy branch url asText allItalic
     ]
 
     "Created: / 28-10-2008 / 09:14:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 08-02-2012 / 18:26:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:07:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 fileListToCommit
@@ -766,6 +766,11 @@
 
 !GitCommitDialog class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommitHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommitHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitCommitHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommitTask.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommitTask.st	Sat Oct 06 22:35:46 2012 +0000
@@ -164,8 +164,6 @@
                 ].
             "Do this only iff this is a package commit"
             self isPackageCommit ifTrue:[
-                self doCompileSvnRevisionNrMethod:true.
-                self doCompileSvnRepositoryUrlStringMethod.        
                 ActivityNotification notify:'Shrinking changes'.
                 (ChangeSet current)
                     condenseChangesForPackage2:self package;
@@ -175,13 +173,13 @@
                 ].
         ]
     ].
-    self workingCopy commited.
+    self package commited.
     ^ commitInfo
 
     "Created: / 11-04-2008 / 09:20:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 19-08-2009 / 12:27:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 14-03-2012 / 17:42:25 / jv"
-    "Modified: / 04-04-2012 / 17:39:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:32:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doPrepareWorkingCopy
@@ -231,7 +229,7 @@
     (ConfigurableFeatures includesFeature:#ProjectChecker) ifFalse:[ ^ nil ].
 
     ^ProjectChecker new 
-        package: self package;
+        package: self package name;
         classes: classes;
         methods: (extensionMethods = #() ifTrue:[nil] ifFalse:[extensionMethods]);
         check;
@@ -257,6 +255,11 @@
 
 !GitCommitTask class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCommitterQuery.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCommitterQuery.st	Sat Oct 06 22:35:46 2012 +0000
@@ -18,6 +18,11 @@
 
 !GitCommitterQuery class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitConfigFileStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitConfigFileStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -138,6 +138,11 @@
 
 !GitConfigFileStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitConfigHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitConfigHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitConfigHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCvarMapStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCvarMapStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -69,6 +69,11 @@
 
 !GitCvarMapStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitCvarType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitCvarType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -42,6 +42,11 @@
 
 !GitCvarType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDeltaType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDeltaType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -67,6 +67,11 @@
 
 !GitDeltaType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDialog.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDialog.st	Sat Oct 06 22:35:46 2012 +0000
@@ -876,6 +876,11 @@
 
 !GitDialog class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDiffDeltaStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDiffDeltaStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -99,6 +99,11 @@
 
 !GitDiffDeltaStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDiffFileStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDiffFileStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -87,6 +87,11 @@
 
 !GitDiffFileStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDiffListHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDiffListHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitDiffListHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDiffOptionsStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDiffOptionsStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -98,6 +98,11 @@
 
 !GitDiffOptionsStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitDiffRangeStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitDiffRangeStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -73,6 +73,11 @@
 
 !GitDiffRangeStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitError.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitError.st	Sat Oct 06 22:35:46 2012 +0000
@@ -70,6 +70,11 @@
 
 !GitError class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitErrorKlass.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitErrorKlass.st	Sat Oct 06 22:35:46 2012 +0000
@@ -123,6 +123,11 @@
 
 !GitErrorKlass class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitErrorStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitErrorStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -51,6 +51,11 @@
 
 !GitErrorStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitFilemodeType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitFilemodeType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -55,6 +55,11 @@
 
 !GitFilemodeType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitFileoutLikeTask.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitFileoutLikeTask.st	Sat Oct 06 22:35:46 2012 +0000
@@ -91,7 +91,7 @@
 
 packageDefinition
 
-    ^self workingCopy packageDefinition
+    ^self package definition
 
     "Created: / 27-11-2009 / 11:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -153,8 +153,6 @@
         doInitStateVariables;
         doCompileVersionMethods;
         doCompileCopyrightMethods;
-        doCompileSvnRepositoryUrlStringMethod;
-        doCompileSvnRevisionNrMethod:false;
         doUpdateProjectDefinition.
 
     "Created: / 10-05-2012 / 17:04:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -237,7 +235,7 @@
 doCompileVersionMethods
     |klasses versionMethodName|
 
-    versionMethodName := SVNSourceCodeManager nameOfVersionMethodInClasses.
+    versionMethodName := GitSourceCodeManager2 nameOfVersionMethodInClasses.
     ActivityNotification notify:'Compiling #version methods...'.
     klasses := self classesToFileOut asArray.
     klasses 
@@ -249,12 +247,12 @@
                 or:[ ((cls perform:versionMethodName asSymbol) startsWith:'$Id') not ]) 
                     ifTrue:[
                         metaCls compile:(metaCls 
-                                    versionMethodTemplateForSourceCodeManager:SVNSourceCodeManager)
+                                    versionMethodTemplateForSourceCodeManager:GitSourceCodeManager2)
                             classified:'documentation'.
                         (metaCls compiledMethodAt:versionMethodName) 
-                            setPackage:self package asSymbol
+                            setPackage:self package name asSymbol
                     ].
-            SVNSourceCodeManager utilities ensureCorrectVersionMethodsInClass: cls usingManager: SVNSourceCodeManager.
+            GitSourceCodeManager2 utilities ensureCorrectVersionMethodsInClass: cls usingManager: GitSourceCodeManager2.
             ProgressNotification 
                 notify:('Compiling %1 (%2)' bindWith:versionMethodName
                         with:cls nameWithoutPrefix)
@@ -279,7 +277,7 @@
     "Created: / 28-05-2008 / 07:43:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 16-08-2009 / 12:59:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 07-07-2011 / 20:15:21 / jv"
-    "Modified: / 28-03-2012 / 18:34:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:51:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doFileOutPackageClasses
@@ -316,11 +314,12 @@
 !
 
 doInitStateVariables
-    packageClassesChanged := self workingCopy packageClassesChanged.
-    packageExtensionsChanged := self workingCopy packageExtensionsChanged.
+    packageClassesChanged := self package classesHasChanged.
+    packageExtensionsChanged := self package extensionsHasChanged.
 
     "Created: / 17-06-2009 / 10:17:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 13-08-2009 / 10:18:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:28:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 doRemoveOldContainers
@@ -467,13 +466,13 @@
 
     suppressClasses == true ifTrue:[^#()].
 
-    ^ self workingCopy packageClassesFiltered:
+    ^ self package classesFiltered:
             [:class |
             class isLoaded and: [ classes isNil or: [ classes includes: class ] ] ]
 
     "Created: / 23-03-2009 / 12:08:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 11-06-2009 / 18:17:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
-    "Modified: / 15-10-2011 / 20:15:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:28:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 containersToFileOut
@@ -493,11 +492,12 @@
 !
 
 extensionMethodsToFileOut
-    ^ self workingCopy packageExtensionsFiltered:
-	    [:mth |
-	    extensionMethods isNil or: [ extensionMethods includes: mth ] ]
+    ^ self package extensionsFiltered:
+            [:mth |
+            extensionMethods isNil or: [ extensionMethods includes: mth ] ]
 
     "Created: / 14-05-2009 / 11:32:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
+    "Modified: / 06-10-2012 / 23:28:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 for: def generateFile: file
@@ -580,6 +580,11 @@
 
 !GitFileoutLikeTask class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIconLibrary.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIconLibrary.st	Sat Oct 06 22:35:46 2012 +0000
@@ -167,6 +167,11 @@
 
 !GitIconLibrary class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndex.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndex.st	Sat Oct 06 22:35:46 2012 +0000
@@ -117,6 +117,11 @@
 
 !GitIndex class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexEntryStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexEntryStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -172,6 +172,11 @@
 
 !GitIndexEntryStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexEntryUnmergedStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexEntryUnmergedStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -62,6 +62,11 @@
 
 !GitIndexEntryUnmergedStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitIndexHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexTimeStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexTimeStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -52,6 +52,11 @@
 
 !GitIndexTimeStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexerHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexerHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitIndexerHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexerStatsStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexerStatsStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -73,6 +73,11 @@
 
 !GitIndexerStatsStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitIndexerStreamHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitIndexerStreamHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitIndexerStreamHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitLibraryObject.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitLibraryObject.st	Sat Oct 06 22:35:46 2012 +0000
@@ -108,6 +108,11 @@
 
 !GitLibraryObject class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitNoteDataStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitNoteDataStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -55,6 +55,11 @@
 
 !GitNoteDataStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitNoteHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitNoteHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitNoteHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitObject.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitObject.st	Sat Oct 06 22:35:46 2012 +0000
@@ -80,6 +80,11 @@
 
 !GitObject class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitObjectHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitObjectHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitObjectHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitObjectType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitObjectType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -79,6 +79,11 @@
 
 !GitObjectType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOdbBackendStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOdbBackendStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -150,6 +150,11 @@
 
 !GitOdbBackendStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOdbHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOdbHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitOdbHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOdbObjectHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOdbObjectHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitOdbObjectHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOdbStreamStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOdbStreamStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -101,6 +101,11 @@
 
 !GitOdbStreamStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOid.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOid.st	Sat Oct 06 22:35:46 2012 +0000
@@ -110,6 +110,11 @@
 
 !GitOid class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitOidShortenHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitOidShortenHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitOidShortenHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitPackage.st	Sat Oct 06 22:35:46 2012 +0000
@@ -0,0 +1,201 @@
+"{ Package: 'stx:libscm/git' }"
+
+Object subclass:#GitPackage
+	instanceVariableNames:'name wc root classesHasChanged extensionsHasChanged'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SCM-Git-StX'
+!
+
+
+!GitPackage class methodsFor:'instance creation'!
+
+named: package in: wc
+    ^self new name: package wc: wc
+
+    "Created: / 06-10-2012 / 22:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackage methodsFor:'accessing'!
+
+classes
+
+    ^self classesIncludingPrivate reject:[:cls|cls owningClass notNil]
+
+    "Created: / 06-10-2012 / 23:14:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+classesFiltered: classFilter
+
+    ^self classes select: [:class|classFilter value: class].
+
+    "Created: / 06-10-2012 / 23:14:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+classesIncludingPrivate
+    ^ProjectDefinition searchForClassesWithProject: self name
+
+    "Created: / 06-10-2012 / 23:15:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+definition
+    ^LibraryDefinition definitionClassForPackage:self name createIfAbsent:true
+
+    "Created: / 06-10-2012 / 23:09:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+extensions
+
+    ^ProjectDefinition searchForExtensionsWithProject: self name
+
+    "Created: / 06-10-2012 / 23:12:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+extensionsFiltered:aBlock
+    ^self extensions select:aBlock
+
+    "Created: / 06-10-2012 / 23:19:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name
+    ^ name
+! !
+
+!GitPackage methodsFor:'accessing-tasks'!
+
+commitTask
+    ^GitCommitTask new 
+        package: self;
+        yourself
+
+    "Created: / 06-10-2012 / 22:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackage methodsFor:'initialization'!
+
+name: aSymbolOrPackageId wc: aGitWorkingCopy 
+    | components |
+
+    wc := aGitWorkingCopy.
+    name := aSymbolOrPackageId asSymbol.
+    components := (name copyReplaceAll:$: with: $/) tokensBasedOn:$/.
+    "This is rubbish but I have to move on..."
+    1 to: components size do:[ :i |
+        | f |
+
+        f := wc repository workdir.
+        i to: components size do:[ :j |
+            f :=  f / (components at: j).
+        ].
+        f exists ifTrue:[
+            root := wc root.
+            i to: components size do:[ :j |
+                root :=  root /  (components at: j).
+            ].
+            ^ self.
+        ]
+    ]
+
+    "Created: / 06-10-2012 / 22:56:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackage methodsFor:'queries'!
+
+classesHasChanged
+    classesHasChanged :=
+        (classesHasChanged == true) or:[self computeClassesHasChanged].
+
+    ^ classesHasChanged
+
+    "Created: / 06-10-2012 / 23:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+extensionsHasChanged
+    extensionsHasChanged :=
+        (extensionsHasChanged == true) or:[self computeExtensionsHasChanged].
+
+    ^ extensionsHasChanged
+
+    "Created: / 06-10-2012 / 23:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackage methodsFor:'queries-privacy'!
+
+computeClassesHasChanged
+    "
+        Answers true iff package classes differs from
+        those listed in ProjectDefinition>>classNamesAndAttributes"
+
+    |listedClasses realClasses pkgDef |
+
+    (pkgDef := self definition) isNil ifTrue:[^true].
+
+    listedClasses :=    pkgDef compiled_classNames_common ,
+                        pkgDef compiled_classNamesForPlatform ,
+                        pkgDef autoloaded_classNames.
+
+    realClasses := self classes collect:[:cls | cls fullName ].
+    listedClasses size ~= realClasses size 
+        ifTrue:[^ true].
+    (realClasses allSatisfy:[:realClass | listedClasses includes:realClass ])
+        ifFalse:[^true].
+    ^false
+
+
+
+
+    "
+        (CommitTask new package: 'stx:libsvn')
+            computePackageClassesChanged
+        (CommitTask new package: 'cvut:fel/smallruby')
+            computePackageClassesChanged
+        (SVN::RepositoryManager workingCopyForPackage: #'stx:libbasic')
+            computePackageClassesChanged 
+    "
+
+    "Created: / 06-10-2012 / 23:17:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+computeExtensionsHasChanged
+    "
+        Answers true iff package extension method differs from
+        those listed in ProjectDefinition>>extensionMethodNames"
+    
+    |listedExtensions listedExtensionsDictionary realExtensions|
+
+    realExtensions := self  extensions.
+    listedExtensions := self definition 
+                extensionMethodNames.
+    (listedExtensions size / 2) ~= realExtensions size ifTrue:[
+        ^ true
+    ].
+    listedExtensionsDictionary := Dictionary new.
+    listedExtensions 
+        pairWiseDo:[:className :selector | 
+            (listedExtensionsDictionary at:className
+                ifAbsentPut:[ OrderedCollection new ]) add:selector
+        ].
+    ^ (realExtensions 
+        allSatisfy:[:mth | 
+            (listedExtensionsDictionary includesKey:mth mclass name) 
+                and:[ (listedExtensionsDictionary at:mth mclass name) includes:mth selector ]
+        ]) 
+            not
+
+    "
+        (CommitTask new package: 'stx:libsvn')
+            packageExtensionsHasChanged"
+
+    "Created: / 06-10-2012 / 23:17:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackage class methodsFor:'documentation'!
+
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/git/GitPackageManager.st	Sat Oct 06 22:35:46 2012 +0000
@@ -0,0 +1,94 @@
+"{ Package: 'stx:libscm/git' }"
+
+Object subclass:#GitPackageManager
+	instanceVariableNames:'repositories wcs packages'
+	classVariableNames:'Current'
+	poolDictionaries:''
+	category:'SCM-Git-StX'
+!
+
+
+!GitPackageManager class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
+!GitPackageManager class methodsFor:'accessing'!
+
+current
+    Current isNil ifTrue:[
+        Current := self new
+    ].
+    ^Current
+
+    "Created: / 06-10-2012 / 19:00:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+flush
+    self current flush
+
+    "Created: / 06-10-2012 / 21:52:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+packageNamed:package
+    ^self current packageNamed:package.
+
+    "Created: / 06-10-2012 / 22:55:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackageManager methodsFor:'accessing'!
+
+packageNamed:package
+    "Returns a GitPackageWorkingCopy for given package."
+
+    | dir repo wc |
+
+    packages at: package ifPresent: [ :pkg | ^ pkg ].
+    wcs at: package ifPresent:[ :wc | ^ wc ].
+    dir := Smalltalk getPackageDirectoryForPackage: package.
+    dir := GitRepository discover: dir.
+    dir isNil ifTrue:[
+        GitError raiseErrorString: 'No repository found for package ',package.
+        ^nil.
+    ].
+    repo := repositories at: dir ifAbsentPut: [ GitRepository open: dir ].
+    wc := wcs at: repo ifAbsentPut: [ repo workingCopy ].
+    ^packages at: package ifAbsentPut: [ GitPackage named: package in: wc ].
+
+    "Created: / 06-10-2012 / 22:40:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackageManager methodsFor:'initialization'!
+
+flush
+    self initialize
+
+    "Created: / 06-10-2012 / 21:51:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initialize
+    "Invoked when a new instance is created."
+
+    "/ please change as required (and remove this comment)
+    repositories := Dictionary new.
+    wcs := Dictionary new.
+    packages := Dictionary new.
+
+    "/ super initialize.   -- commented since inherited method does nothing
+
+    "Modified: / 06-10-2012 / 22:26:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GitPackageManager class methodsFor:'documentation'!
+
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
+version_SVN
+    ^ '$Id::                                                                                                                        $'
+! !
--- a/git/GitPrimitives.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitPrimitives.st	Sat Oct 06 22:35:46 2012 +0000
@@ -2359,6 +2359,11 @@
 
 !GitPrimitives class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRefType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRefType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -55,6 +55,11 @@
 
 !GitRefType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitReference.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitReference.st	Sat Oct 06 22:35:46 2012 +0000
@@ -55,6 +55,11 @@
 
 !GitReference class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitReferenceHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitReferenceHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitReferenceHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitReflogEntryHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitReflogEntryHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitReflogEntryHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitReflogHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitReflogHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitReflogHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRefspecHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRefspecHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitRefspecHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRemote.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRemote.st	Sat Oct 06 22:35:46 2012 +0000
@@ -75,6 +75,11 @@
 
 !GitRemote class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRemoteCallbacksStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRemoteCallbacksStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -76,6 +76,11 @@
 
 !GitRemoteCallbacksStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRemoteCompletionType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRemoteCompletionType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -37,6 +37,11 @@
 
 !GitRemoteCompletionType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRemoteHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRemoteHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitRemoteHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRemoteHeadStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRemoteHeadStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -77,6 +77,11 @@
 
 !GitRemoteHeadStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRepository.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRepository.st	Sat Oct 06 22:35:46 2012 +0000
@@ -45,16 +45,38 @@
     "Created: / 01-10-2012 / 00:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-open: aString
+discover: path
+    "Find a git repository in given directory or super-directories.
+     If not repository is found, return nil.
+
+     Currently, it searches for presence of .git
+     directory"
+
+    | d |
+
+    path isNil ifTrue:[ ^ nil ].
+    d := path asFilename.
+    [ d notNil ] whileTrue:[
+        (d / '.git') exists ifTrue:[ ^ d ].
+        d := d isRootDirectory 
+            ifTrue:[nil]
+            ifFalse:[d := d directory].
+    ].
+    ^nil
+
+    "Created: / 06-10-2012 / 19:35:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+open: aStringOrFilename
     "Opens an existing git repository on given path"
 
     | ref |
 
     ref := ByteArray new: ExternalBytes sizeofPointer.
-    GitError raiseIfError: (GitPrimitives prim_git_repository_open: ref path: aString).
+    GitError raiseIfError: (GitPrimitives prim_git_repository_open: ref path: aStringOrFilename asString).
     ^self new 
         setHandleFromRef:ref;
-        setPath: aString;
+        setPath: aStringOrFilename;
         yourself
 
     "Created: / 07-09-2012 / 23:45:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -432,6 +454,11 @@
 
 !GitRepository class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRepositoryHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRepositoryHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitRepositoryHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRepositoryInitOptionsStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRepositoryInitOptionsStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -113,6 +113,11 @@
 
 !GitRepositoryInitOptionsStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRepositoryObject.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRepositoryObject.st	Sat Oct 06 22:35:46 2012 +0000
@@ -44,6 +44,11 @@
 
 !GitRepositoryObject class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitResetType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitResetType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -30,6 +30,11 @@
 
 !GitResetType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitRevwalkHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitRevwalkHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitRevwalkHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSignature.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSignature.st	Sat Oct 06 22:35:46 2012 +0000
@@ -162,6 +162,11 @@
 
 !GitSignature class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSignatureQuery.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSignatureQuery.st	Sat Oct 06 22:35:46 2012 +0000
@@ -10,6 +10,11 @@
 
 !GitSignatureQuery class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSignatureStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSignatureStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -87,6 +87,11 @@
 
 !GitSignatureStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSourceCodeManagementSettingsAppl2.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSourceCodeManagementSettingsAppl2.st	Sat Oct 06 22:35:46 2012 +0000
@@ -1,7 +1,7 @@
 "{ Package: 'stx:libscm/git' }"
 
 AbstractSourceCodeManagementSettingsAppl subclass:#GitSourceCodeManagementSettingsAppl2
-	instanceVariableNames:''
+	instanceVariableNames:'defaultLogo'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SCM-Git-StX-Interface'
@@ -86,9 +86,9 @@
      the UIPainter may not be able to read the specification."
 
     "
-     UIPainter new openOnClass:SVN::ConfigurationApp andSelector:#windowSpec
-     SVN::ConfigurationApp new openInterface:#windowSpec
-     SVN::ConfigurationApp open
+     UIPainter new openOnClass:GitSourceCodeManagementSettingsAppl2 andSelector:#windowSpec
+     GitSourceCodeManagementSettingsAppl2 new openInterface:#windowSpec
+     GitSourceCodeManagementSettingsAppl2 open
     "
 
     <resource: #canvas>
@@ -124,13 +124,18 @@
               translateLabel: true
               labelChannel: defaultLogo
             )
-
+           (CheckBoxSpec
+              label: 'Enable'
+              name: 'CheckBox1'
+              layout: (LayoutFrame 0 0 73 0 0 1 95 0)
+              activeHelpKey: shownInBrowserMenus
+              model: shownInBrowserMenusHolder
+              translateLabel: true
+            )
            )
-
+         
         )
       )
-
-    "Modified: / 04-10-2012 / 19:04:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GitSourceCodeManagementSettingsAppl2 class methodsFor:'queries'!
@@ -144,8 +149,55 @@
     "Modified: / 02-10-2012 / 14:30:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GitSourceCodeManagementSettingsAppl2 methodsFor:'aspects'!
+
+initialListOfModules
+    "raise an error: must be redefined in concrete subclass(es)"
+
+    ^ self shouldImplement
+! !
+
+!GitSourceCodeManagementSettingsAppl2 methodsFor:'protocol'!
+
+basicReadSettings
+    self shownInBrowserMenusHolder value:GitSourceCodeManager2 shownInBrowserMenus.
+
+    "Modified: / 06-10-2012 / 17:18:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+basicSaveSettings
+    GitSourceCodeManager2 shownInBrowserMenus:self shownInBrowserMenusHolder value
+
+    "Modified: / 06-10-2012 / 17:18:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+helpFilename
+    "subclasses must return the relative name of a helpFile
+     in the doc/online/<language>/help directory.
+     Or nil, if no help is available."
+
+    ^ self shouldImplement
+! !
+
+!GitSourceCodeManagementSettingsAppl2 methodsFor:'queries'!
+
+hasUnsavedChanges
+
+    (GitSourceCodeManager shownInBrowserMenus ~= self shownInBrowserMenusHolder value)
+        ifTrue:[^ true].
+
+    ^ false
+
+    "Modified: / 06-10-2012 / 17:17:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitSourceCodeManagementSettingsAppl2 class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSourceCodeManager2.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSourceCodeManager2.st	Sat Oct 06 22:35:46 2012 +0000
@@ -7,6 +7,13 @@
 	category:'SCM-Git-StX'
 !
 
+SourceCodeManagerUtilitiesForWorkspaceBasedManagers subclass:#Utilities
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:GitSourceCodeManager2
+!
+
 
 !GitSourceCodeManager2 class methodsFor:'accessing'!
 
@@ -14,7 +21,16 @@
     "Return the repository ULR for the given package. 
      Used for testing/debugging source code management configuration"
 
-    ^ self shouldImplement
+    ^ GitRepository discover: (Smalltalk getPackageDirectoryForPackage: packageId)
+
+    "Modified: / 06-10-2012 / 22:04:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+utilities
+
+    ^Utilities forManager: self.
+
+    "Created: / 06-10-2012 / 18:16:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GitSourceCodeManager2 class methodsFor:'basic access'!
@@ -104,7 +120,13 @@
      manager for that package, it only means that it has a repository
      configured for given package."
 
-    ^ self shouldImplement
+
+    "No configuration yet, so let's scan the working copy"
+    ^(GitRepository discover: 
+        (Smalltalk getPackageDirectoryForPackage: aStringOrSymbol))
+        notNil
+
+    "Modified: / 06-10-2012 / 19:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 managerTypeName
@@ -112,7 +134,31 @@
 
     ^ 'Git+'
 
-    "Modified: / 02-10-2012 / 13:25:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-10-2012 / 17:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+managerTypeNameShort
+    ^ 'GIT'
+
+    "Created: / 06-10-2012 / 17:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameOfVersionMethodForExtensions
+    "that is the old name; now, we use extensionsVersion_<SCM>"
+
+    ^ #'extensionsVersion_GIT'
+
+    "Modified (comment): / 29-09-2011 / 13:27:04 / cg"
+    "Modified: / 07-10-2012 / 00:04:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameOfVersionMethodInClasses
+    "that is the old name; now, we use version_<SCM>"
+
+    ^ #'version_GIT'
+
+    "Modified (comment): / 29-09-2011 / 13:27:09 / cg"
+    "Modified: / 07-10-2012 / 00:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 settingsApplicationClass
@@ -121,6 +167,45 @@
     ^ GitSourceCodeManagementSettingsAppl2
 
     "Modified: / 02-10-2012 / 14:29:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+versionMethodTemplateForJavaScriptFor:aSelector
+    "do not make the thing below a single string - otherwise
+     it would get expanded by the sourcecodemanager, which we do not want here"
+
+    ^
+"'function ',"aSelector,'() {
+    /* Never, ever change this method. Ask JV or CG why */
+    return thisContext.method().mclass().theNonMetaclass().instVarNamed("revision")
+}'
+
+    "Created: / 07-10-2012 / 00:23:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+versionMethodTemplateForRubyFor:aSelector
+    "do not make the thing below a single string - otherwise
+     it would get expanded by the sourcecodemanager, which we do not want here"
+
+    ^
+'def self.',aSelector,'()
+    # Never, ever change this method. Ask JV or CG why
+    return thisContext.method().mclass().theNonMetaclass().instVarNamed("revision")
+end'
+
+    "Created: / 07-10-2012 / 00:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+versionMethodTemplateForSmalltalkFor:aSelector
+    "do not make the thing below a single string - otherwise
+     it would get expanded by the sourcecodemanager, which we do not want here"
+
+    ^
+aSelector,'
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+'
+
+    "Created: / 07-10-2012 / 00:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GitSourceCodeManager2 class methodsFor:'source code administration'!
@@ -152,7 +237,9 @@
 revisionInfoFromString:aString
     "{ Pragma: +optSpace }"
 
-    ^ self shouldImplement
+    ^ nil
+
+    "Modified: / 06-10-2012 / 23:58:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GitSourceCodeManager2 class methodsFor:'subclass responsibility'!
@@ -163,8 +250,117 @@
     ^ self shouldImplement
 ! !
 
+!GitSourceCodeManager2::Utilities methodsFor:'utilities-cvs'!
+
+checkinClass:aClass withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
+    "check a class into the source repository.
+     If the argument, aLogInfoOrNil isNil, ask interactively for log-message.
+     If doCheckClass is true, the class is checked for send of halts etc."
+
+   ^self checkinClasses:(Array with: aClass) withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
+
+    "Created: / 25-12-2011 / 23:45:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+checkinClasses:classes withInfo:aLogInfoOrNil withCheck:doCheckClass usingManager:aManagerOrNil
+    | classesPerPackage |
+
+    classesPerPackage := Dictionary new.
+    classes do: [:class|
+        (classesPerPackage at: class theNonMetaclass package ifAbsentPut:[Set new])
+            add: class theNonMetaclass].
+    classesPerPackage keysAndValuesDo:
+        [:packageId :classes| | package |
+        package := GitPackageManager packageNamed: packageId.
+        GitCommitDialog new
+                task: (package commitTask
+                        classes: classes;
+                        message: aLogInfoOrNil;
+                        extensionMethods: #()
+                        yourself);
+                open].
+    ^ true
+
+    "Modified: / 06-05-2011 / 10:32:55 / cg"
+    "Created: / 25-12-2011 / 23:46:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+checkinPackage:packageToCheckIn classes:doClasses extensions:doExtensions buildSupport:doBuild askForMethodsInOtherPackages:askForMethodsInOtherPackages
+
+    | package task |
+    package := GitPackageManager packageNamed: packageToCheckIn.
+    package isNil ifTrue:[
+        Dialog warn: (resources string: 'No repository for package %1' with: packageToCheckIn).
+        ^self
+    ].
+    task := package commitTask.
+    task suppressClasses: doClasses not.
+    task suppressExtensions: doExtensions not.
+    task suppresBuildSupportFiles: doBuild not.
+
+    GitCommitDialog new
+            task: task;
+            open
+
+    "Created: / 13-10-2011 / 11:16:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+compareProject:aProject withRepositoryVersionFrom:aDateOrNilForNewest
+    |diffSet|
+
+    diffSet := self diffSetOfProject:aProject againstRepositoryVersionFrom:aDateOrNilForNewest.
+
+    (Tools::ChangeSetDiffTool new)
+        diffset:diffSet;
+        title:('Differences of %1' bindWith:aProject);
+        open.
+
+    "Created: / 18-01-2012 / 16:04:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+diffSetOfProject: package againstRepositoryVersionFrom:dateOrNil
+
+    | rev branch |
+
+    rev := dateOrNil isNil ifTrue:[SVN::Revision head] ifFalse:[SVN::Revision date: dateOrNil].
+    branch := SVNSourceCodeManager branchForPackage: package.
+    branch isNil ifTrue:[^nil].
+    ^branch diffSetBetweenImageAndRevision: rev.
+
+    "Created: / 15-10-2011 / 23:26:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tagClass:aClass as:tag
+
+    Dialog warn: 'Individual class tagging not supported by SubVersion. Tag whole package instead'.
+
+    "Modified: / 12-09-2006 / 13:03:59 / cg"
+    "Created: / 15-10-2011 / 22:48:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tagClasses:classes as:tag
+
+    Dialog warn: 'Individual class tagging not supported by SubVersion. Tag whole package instead'.
+
+    "Modified: / 12-09-2006 / 13:03:59 / cg"
+    "Created: / 15-10-2011 / 22:49:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tagPackage: package as:tag
+
+    Dialog warn: 'Not yet implemented'
+
+    "Created: / 12-09-2006 / 13:04:29 / cg"
+    "Created: / 15-10-2011 / 22:49:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitSourceCodeManager2 class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitStatusCodes.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitStatusCodes.st	Sat Oct 06 22:35:46 2012 +0000
@@ -32,6 +32,11 @@
 
 !GitStatusCodes class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitStatusOptionsStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitStatusOptionsStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -71,6 +71,11 @@
 
 !GitStatusOptionsStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitStatusShowType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitStatusShowType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -43,6 +43,11 @@
 
 !GitStatusShowType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitStringArray.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitStringArray.st	Sat Oct 06 22:35:46 2012 +0000
@@ -125,6 +125,11 @@
 
 !GitStringArray class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -70,6 +70,11 @@
 
 !GitStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSubmoduleHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSubmoduleHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitSubmoduleHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSubmoduleIgnoreType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSubmoduleIgnoreType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -50,6 +50,11 @@
 
 !GitSubmoduleIgnoreType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSubmoduleStatusType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSubmoduleStatusType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -108,6 +108,11 @@
 
 !GitSubmoduleStatusType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitSubmoduleUpdateType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitSubmoduleUpdateType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -50,6 +50,11 @@
 
 !GitSubmoduleUpdateType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTag.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTag.st	Sat Oct 06 22:35:46 2012 +0000
@@ -35,6 +35,11 @@
 
 !GitTag class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTagHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTagHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitTagHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTask.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTask.st	Sat Oct 06 22:35:46 2012 +0000
@@ -104,24 +104,6 @@
     ^self workingCopy repository
 
     "Created: / 23-03-2009 / 11:24:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-workingCopy
-
-    workingCopy ifNil:
-        [workingCopy := 
-            (SVN::RepositoryManager repositoryForPackage: self package)
-                workingCopy].
-    ^workingCopy
-
-    "Created: / 23-03-2009 / 11:18:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
-!
-
-workingCopy:aWorkingCopy
-    workingCopy := aWorkingCopy.
-    package := aWorkingCopy package
-
-    "Modified: / 23-03-2009 / 11:44:49 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !GitTask methodsFor:'executing'!
@@ -203,6 +185,11 @@
 
 !GitTask class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTimeStructure.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTimeStructure.st	Sat Oct 06 22:35:46 2012 +0000
@@ -51,6 +51,11 @@
 
 !GitTimeStructure class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTree.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTree.st	Sat Oct 06 22:35:46 2012 +0000
@@ -67,6 +67,11 @@
 
 !GitTree class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTreeEntryHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTreeEntryHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitTreeEntryHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTreeHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTreeHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitTreeHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTreebuilderHandle.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTreebuilderHandle.st	Sat Oct 06 22:35:46 2012 +0000
@@ -27,6 +27,11 @@
 
 !GitTreebuilderHandle class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitTreewalkModeType.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitTreewalkModeType.st	Sat Oct 06 22:35:46 2012 +0000
@@ -30,6 +30,11 @@
 
 !GitTreewalkModeType class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitWorkingCopy.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitWorkingCopy.st	Sat Oct 06 22:35:46 2012 +0000
@@ -209,6 +209,11 @@
 
 !GitWorkingCopy class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/GitWorkingCopyEntry.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/GitWorkingCopyEntry.st	Sat Oct 06 22:35:46 2012 +0000
@@ -90,6 +90,22 @@
     "Created: / 24-09-2012 / 23:25:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GitWorkingCopyEntry methodsFor:'printing & storing'!
+
+printOn:aStream
+    "append a printed representation if the receiver to the argument, aStream"
+
+    | path |
+
+    aStream nextPut:$[.
+    path := file pathName.
+    path := path copyFrom: wc repository workdir pathName size + 1.
+    aStream nextPutAll: path.
+    aStream nextPut:$].
+
+    "Modified: / 06-10-2012 / 21:56:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GitWorkingCopyEntry methodsFor:'testing'!
 
 isChanged
@@ -148,6 +164,11 @@
 
 !GitWorkingCopyEntry class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !
--- a/git/Make.proto	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/Make.proto	Sat Oct 06 22:35:46 2012 +0000
@@ -107,13 +107,13 @@
 
 prereq: $(REQUIRED_SUPPORT_DIRS)
 	cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
@@ -166,6 +166,8 @@
 $(OUTDIR)GitOdbObjectHandle.$(O) GitOdbObjectHandle.$(H): GitOdbObjectHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOid.$(O) GitOid.$(H): GitOid.st $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitOidShortenHandle.$(O) GitOidShortenHandle.$(H): GitOidShortenHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitPackage.$(O) GitPackage.$(H): GitPackage.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitPackageManager.$(O) GitPackageManager.$(H): GitPackageManager.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitPrimitives.$(O) GitPrimitives.$(H): GitPrimitives.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefType.$(O) GitRefType.$(H): GitRefType.st $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GitReferenceHandle.$(O) GitReferenceHandle.$(H): GitReferenceHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -179,7 +181,7 @@
 $(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)GitSourceCodeManagementSettingsAppl2.$(O) GitSourceCodeManagementSettingsAppl2.$(H): GitSourceCodeManagementSettingsAppl2.st $(INCLUDE_TOP)/stx/libtool/AbstractSourceCodeManagementSettingsAppl.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GitSourceCodeManager2.$(O) GitSourceCodeManager2.$(H): GitSourceCodeManager2.st $(INCLUDE_TOP)/stx/libbasic3/AbstractSourceCodeManager.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GitSourceCodeManager2.$(O) GitSourceCodeManager2.$(H): GitSourceCodeManager2.st $(INCLUDE_TOP)/stx/libbasic3/AbstractSourceCodeManager.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic3/SourceCodeManagerUtilitiesForWorkspaceBasedManagers.$(H) $(INCLUDE_TOP)/stx/libbasic3/SourceCodeManagerUtilities.$(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)
--- a/git/Make.spec	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/Make.spec	Sat Oct 06 22:35:46 2012 +0000
@@ -143,6 +143,8 @@
 	GitFileoutLikeTask \
 	GitCommitTask \
 	GitRemote \
+	GitPackage \
+	GitPackageManager \
 
 
 
@@ -241,6 +243,8 @@
     $(OUTDIR)GitFileoutLikeTask.$(O) \
     $(OUTDIR)GitCommitTask.$(O) \
     $(OUTDIR)GitRemote.$(O) \
+    $(OUTDIR)GitPackage.$(O) \
+    $(OUTDIR)GitPackageManager.$(O) \
     $(OUTDIR)extensions.$(O) \
 
 
--- a/git/abbrev.stc	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/abbrev.stc	Sat Oct 06 22:35:46 2012 +0000
@@ -85,7 +85,7 @@
 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-Core' 0
-GitCommand GitCommand stx:libscm/git 'SCM-Git-Core-Internal' 0
+GitCommand GitCommand stx:libscm/git 'SCM-Git-Internal' 0
 GitStringArray GitStringArray stx:libscm/git 'SCM-Git-Core-Internal-Structures' 1
 GitSourceCodeManagementSettingsAppl2 GitSourceCodeManagementSettingsAppl2 stx:libscm/git 'SCM-Git-StX-Interface' 1
 GitSourceCodeManager2 GitSourceCodeManager2 stx:libscm/git 'SCM-Git-StX' 0
@@ -96,3 +96,5 @@
 GitFileoutLikeTask GitFileoutLikeTask stx:libscm/git 'SCM-Git-StX-Tasks' 0
 GitCommitTask GitCommitTask stx:libscm/git 'SCM-Git-StX-Tasks' 0
 GitRemote GitRemote stx:libscm/git 'SCM-Git-Core' 0
+GitPackage GitPackage stx:libscm/git 'SCM-Git-StX' 0
+GitPackageManager GitPackageManager stx:libscm/git 'SCM-Git-StX' 0
--- a/git/bc.mak	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/bc.mak	Sat Oct 06 22:35:46 2012 +0000
@@ -51,13 +51,13 @@
 # build all prerequisite packages for this package
 prereq:
 	pushd ..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -102,6 +102,8 @@
 $(OUTDIR)GitOdbObjectHandle.$(O) GitOdbObjectHandle.$(H): GitOdbObjectHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOid.$(O) GitOid.$(H): GitOid.st $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitOidShortenHandle.$(O) GitOidShortenHandle.$(H): GitOidShortenHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitPackage.$(O) GitPackage.$(H): GitPackage.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitPackageManager.$(O) GitPackageManager.$(H): GitPackageManager.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitPrimitives.$(O) GitPrimitives.$(H): GitPrimitives.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitRefType.$(O) GitRefType.$(H): GitRefType.st $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GitReferenceHandle.$(O) GitReferenceHandle.$(H): GitReferenceHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -115,7 +117,7 @@
 $(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)GitSourceCodeManagementSettingsAppl2.$(O) GitSourceCodeManagementSettingsAppl2.$(H): GitSourceCodeManagementSettingsAppl2.st $(INCLUDE_TOP)\stx\libtool\AbstractSourceCodeManagementSettingsAppl.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GitSourceCodeManager2.$(O) GitSourceCodeManager2.$(H): GitSourceCodeManager2.st $(INCLUDE_TOP)\stx\libbasic3\AbstractSourceCodeManager.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GitSourceCodeManager2.$(O) GitSourceCodeManager2.$(H): GitSourceCodeManager2.st $(INCLUDE_TOP)\stx\libbasic3\AbstractSourceCodeManager.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic3\SourceCodeManagerUtilitiesForWorkspaceBasedManagers.$(H) $(INCLUDE_TOP)\stx\libbasic3\SourceCodeManagerUtilities.$(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)
--- a/git/git.rc	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/git.rc	Sat Oct 06 22:35:46 2012 +0000
@@ -3,7 +3,7 @@
 // automagically generated from the projectDefinition: stx_libscm_git.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,27,27
+  FILEVERSION     6,2,0,1
   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.27.27\0"
+      VALUE "FileVersion", "6.2.0.1\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", "Thu, 04 Oct 2012 17:52:30 GMT\0"
+      VALUE "ProductDate", "Sat, 06 Oct 2012 22:36:54 GMT\0"
     END
 
   END
--- a/git/libInit.cc	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/libInit.cc	Sat Oct 06 22:35:46 2012 +0000
@@ -52,6 +52,8 @@
 _GitOdbObjectHandle_Init(pass,__pRT__,snd);
 _GitOid_Init(pass,__pRT__,snd);
 _GitOidShortenHandle_Init(pass,__pRT__,snd);
+_GitPackage_Init(pass,__pRT__,snd);
+_GitPackageManager_Init(pass,__pRT__,snd);
 _GitPrimitives_Init(pass,__pRT__,snd);
 _GitRefType_Init(pass,__pRT__,snd);
 _GitReferenceHandle_Init(pass,__pRT__,snd);
--- a/git/stx_libscm_git.st	Thu Oct 04 17:54:38 2012 +0000
+++ b/git/stx_libscm_git.st	Sat Oct 06 22:35:46 2012 +0000
@@ -144,7 +144,12 @@
         GitFileoutLikeTask
         GitCommitTask
         GitRemote
+        GitPackage
+        GitPackageManager
+
     )
+
+    "Modified: / 07-10-2012 / 00:28:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 extensionMethodNames
@@ -224,6 +229,11 @@
 
 !stx_libscm_git class methodsFor:'documentation'!
 
+version_GIT
+    "Never, ever change this method. Ask JV or CG why"
+    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
+!
+
 version_SVN
     ^ '$Id::                                                                                                                        $'
 ! !