GitSourceCodeManagementSettingsAppl.st
changeset 11356 b9e54e0a5cb6
parent 11351 6d878bc17b09
child 11403 9152fe5dd543
equal deleted inserted replaced
11355:bee1dd77d6b6 11356:b9e54e0a5cb6
    10  hereby transferred.
    10  hereby transferred.
    11 "
    11 "
    12 "{ Package: 'stx:libtool' }"
    12 "{ Package: 'stx:libtool' }"
    13 
    13 
    14 AbstractSourceCodeManagementSettingsAppl subclass:#GitSourceCodeManagementSettingsAppl
    14 AbstractSourceCodeManagementSettingsAppl subclass:#GitSourceCodeManagementSettingsAppl
    15 	instanceVariableNames:'repositoryHolder manager repository repositoryPrototypeList
    15 	instanceVariableNames:'repositoryHolder workDirectoryHolder manager repository
    16 		addPerModuleRepository removePerModuleRepository
    16 		repositoryPrototypeList addPerModuleRepository
    17 		perModuleRepository defaultRepositoryHolder
    17 		removePerModuleRepository perModuleRepository
    18 		selectedPerModuleRepository repositoriesPerModule
    18 		defaultRepositoryHolder selectedPerModuleRepository
    19 		perModuleRepositoryModule gitBinDirectoryHolder
    19 		repositoriesPerModule perModuleRepositoryModule
    20 		gitExecutableHolder gitCommandTimeoutHolder pushURL
    20 		gitBinDirectoryHolder gitExecutableHolder gitCommandTimeoutHolder
    21 		pushURLPrototypeList selectedPushURL listOfPushURLs'
    21 		pushURL pushURLPrototypeList selectedPushURL listOfPushURLs'
    22 	classVariableNames:'RecentlyUsedRepositoryURLS'
    22 	classVariableNames:'RecentlyUsedRepositoryURLS'
    23 	poolDictionaries:''
    23 	poolDictionaries:''
    24 	category:'System-SourceCodeManagement'
    24 	category:'System-SourceCodeManagement'
    25 !
    25 !
    26 
    26 
    94 'The command to use for cvs operations\(the path to "cvs"/"cvs.exe"-command. Not needed, if already in the shell''s PATH value)'
    94 'The command to use for cvs operations\(the path to "cvs"/"cvs.exe"-command. Not needed, if already in the shell''s PATH value)'
    95 
    95 
    96 #cvsCommandTimeout
    96 #cvsCommandTimeout
    97 'The command timeout.\For slow connections (ssl-tunnel), it may make sense to increase this value.'
    97 'The command timeout.\For slow connections (ssl-tunnel), it may make sense to increase this value.'
    98 
    98 
    99 #cvsLogin
       
   100 'Perform a "cvs login" operation for the default CVSROOT'
       
   101 
       
   102 #cvsRootDefault
       
   103 'The default CVSROOT.\This will be used for all modules which are not listed below.'
       
   104 
       
   105 #cvsRootPerModule
    99 #cvsRootPerModule
   106 'Specifies per-module CVSROOTs.\This allows for individual projects to be stored in different cvs repositories.'
   100 'Specifies per-module CVSROOTs.\This allows for individual projects to be stored in different cvs repositories.'
   107 
   101 
   108 #cvsRootPerModuleModule
   102 #cvsRootPerModuleModule
   109 'The module for which a specific CVSROOT is defined'
   103 'The module for which a specific CVSROOT is defined'
   154 'The module for which a specific git repository is defined'
   148 'The module for which a specific git repository is defined'
   155 
   149 
   156 #gitRootPerModuleRoot
   150 #gitRootPerModuleRoot
   157 'The git repository for which this specific module is defined'
   151 'The git repository for which this specific module is defined'
   158 
   152 
   159 #loginPerModuleRoot
       
   160 'Execute a "cvs login" operation for this CVSROOT'
       
   161 
       
   162 #moveManagerDown
   153 #moveManagerDown
   163 'Move the selected entry down in the list.\(The first matching definition is used to determine which repository type is used.)'
   154 'Move the selected entry down in the list.\(The first matching definition is used to determine which repository type is used.)'
   164 
   155 
   165 #moveManagerUp
   156 #moveManagerUp
   166 'Move the selected entry up in the list.\(The first matching definition is used to determine which repository type is used.)'
   157 'Move the selected entry up in the list.\(The first matching definition is used to determine which repository type is used.)'
   186 #verboseSourceCodeAccess
   177 #verboseSourceCodeAccess
   187 'Output debugging messages on the Transcript\(mostly traces of the underlying scm mechanism, such as cvs commands)'
   178 'Output debugging messages on the Transcript\(mostly traces of the underlying scm mechanism, such as cvs commands)'
   188 
   179 
   189 )
   180 )
   190 
   181 
   191     "Modified: / 02-03-2012 / 16:52:43 / cg"
   182     "Modified: / 03-03-2012 / 10:36:12 / cg"
   192 ! !
   183 ! !
   193 
   184 
   194 !GitSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
   185 !GitSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
   195 
   186 
   196 defaultIcon
   187 defaultIcon
   276         window: 
   267         window: 
   277        (WindowSpec
   268        (WindowSpec
   278           label: 'Git Settings'
   269           label: 'Git Settings'
   279           name: 'Git Settings'
   270           name: 'Git Settings'
   280           min: (Point 10 10)
   271           min: (Point 10 10)
   281           bounds: (Rectangle 0 0 811 693)
   272           bounds: (Rectangle 0 0 811 719)
   282         )
   273         )
   283         component: 
   274         component: 
   284        (SpecCollection
   275        (SpecCollection
   285           collection: (
   276           collection: (
   286            (VerticalPanelViewSpec
   277            (VerticalPanelViewSpec
   314                                 activeHelpKey: shownInBrowserMenus
   305                                 activeHelpKey: shownInBrowserMenus
   315                                 model: shownInBrowserMenusHolder
   306                                 model: shownInBrowserMenusHolder
   316                                 translateLabel: true
   307                                 translateLabel: true
   317                               )
   308                               )
   318                              (ViewSpec
   309                              (ViewSpec
   319                                 name: 'Box1'
   310                                 name: 'CommandBox'
   320                                 layout: (LayoutFrame 0 0 35 0 0 1 60 0)
   311                                 layout: (LayoutFrame 0 0 35 0 0 1 60 0)
   321                                 component: 
   312                                 component: 
   322                                (SpecCollection
   313                                (SpecCollection
   323                                   collection: (
   314                                   collection: (
   324                                    (LabelSpec
   315                                    (LabelSpec
   342                                    )
   333                                    )
   343                                  
   334                                  
   344                                 )
   335                                 )
   345                               )
   336                               )
   346                              (ViewSpec
   337                              (ViewSpec
   347                                 name: 'Box12'
   338                                 name: 'TimeoutBox'
   348                                 layout: (LayoutFrame 0 0 61 0 0 1 86 0)
   339                                 layout: (LayoutFrame 0 0 61 0 0 1 86 0)
   349                                 component: 
   340                                 component: 
   350                                (SpecCollection
   341                                (SpecCollection
   351                                   collection: (
   342                                   collection: (
   352                                    (LabelSpec
   343                                    (LabelSpec
   371                                    )
   362                                    )
   372                                  
   363                                  
   373                                 )
   364                                 )
   374                               )
   365                               )
   375                              (ViewSpec
   366                              (ViewSpec
   376                                 name: 'Box7'
   367                                 name: 'WorkingDirBox'
   377                                 layout: (LayoutFrame 0 0.0 92 0 0 1 117 0)
   368                                 layout: (LayoutFrame 0 0 87 0 0 1 112 0)
       
   369                                 component: 
       
   370                                (SpecCollection
       
   371                                   collection: (
       
   372                                    (LabelSpec
       
   373                                       label: 'Working Directory:'
       
   374                                       name: 'Label9'
       
   375                                       layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0)
       
   376                                       activeHelpKey: workDirectory
       
   377                                       level: 0
       
   378                                       translateLabel: true
       
   379                                       adjust: right
       
   380                                     )
       
   381                                    (InputFieldSpec
       
   382                                       name: 'EntryField2'
       
   383                                       layout: (LayoutFrame 64 0.25 0 0 0 1 22 0)
       
   384                                       activeHelpKey: workDirectory
       
   385                                       tabable: true
       
   386                                       model: workDirectoryHolder
       
   387                                       type: string
       
   388                                       acceptChannel: acceptChannel
       
   389                                       acceptOnPointerLeave: true
       
   390                                     )
       
   391                                    )
       
   392                                  
       
   393                                 )
       
   394                               )
       
   395                              (ViewSpec
       
   396                                 name: 'DefaultRepositoryBox7'
       
   397                                 layout: (LayoutFrame 0 0.0 118 0 0 1 143 0)
   378                                 component: 
   398                                 component: 
   379                                (SpecCollection
   399                                (SpecCollection
   380                                   collection: (
   400                                   collection: (
   381                                    (LabelSpec
   401                                    (LabelSpec
   382                                       label: 'Default Repository:'
   402                                       label: 'Default Repository:'
   407                                 )
   427                                 )
   408                               )
   428                               )
   409                              (ActionButtonSpec
   429                              (ActionButtonSpec
   410                                 label: 'Init'
   430                                 label: 'Init'
   411                                 name: 'Button2'
   431                                 name: 'Button2'
   412                                 layout: (LayoutFrame -201 1 122 0 -101 1 144 0)
   432                                 layout: (LayoutFrame -201 1 148 0 -101 1 170 0)
   413                                 activeHelpKey: gitInit
   433                                 activeHelpKey: gitInit
   414                                 translateLabel: true
   434                                 translateLabel: true
   415                                 tabable: true
   435                                 tabable: true
   416                                 model: initializeRepository
   436                                 model: initializeRepository
   417                                 enableChannel: cvsLoginEnabled
   437                                 enableChannel: cvsLoginEnabled
   418                               )
   438                               )
   419                              (ActionButtonSpec
   439                              (ActionButtonSpec
   420                                 label: 'Check Access'
   440                                 label: 'Check Access'
   421                                 name: 'Button1'
   441                                 name: 'Button1'
   422                                 layout: (LayoutFrame -100 1 122 0 0 1 144 0)
   442                                 layout: (LayoutFrame -100 1 148 0 0 1 170 0)
   423                                 activeHelpKey: gitCheckAccess
   443                                 activeHelpKey: gitCheckAccess
   424                                 translateLabel: true
   444                                 translateLabel: true
   425                                 tabable: true
   445                                 tabable: true
   426                                 model: checkAccess
   446                                 model: checkAccess
   427                                 enableChannel: cvsLoginEnabled
   447                                 enableChannel: cvsLoginEnabled
   428                               )
   448                               )
   429                              (LabelSpec
   449                              (LabelSpec
   430                                 label: 'Repository per Module:'
   450                                 label: 'Repository per Module:'
   431                                 name: 'knownModulesLabel'
   451                                 name: 'knownModulesLabel'
   432                                 layout: (LayoutFrame 0 0.0 150 0 60 0.25 172 0)
   452                                 layout: (LayoutFrame 0 0.0 184 0 60 0.25 206 0)
   433                                 activeHelpKey: gitRootPerModule
   453                                 activeHelpKey: gitRootPerModule
   434                                 translateLabel: true
   454                                 translateLabel: true
   435                                 adjust: right
   455                                 adjust: right
   436                               )
   456                               )
   437                              (SequenceViewSpec
   457                              (SequenceViewSpec
   438                                 name: 'List1'
   458                                 name: 'List1'
   439                                 layout: (LayoutFrame 64 0.25 150 0 0 1 269 0)
   459                                 layout: (LayoutFrame 64 0.25 184 0 0 1 303 0)
   440                                 activeHelpKey: gitRootPerModule
   460                                 activeHelpKey: gitRootPerModule
   441                                 tabable: true
   461                                 tabable: true
   442                                 model: selectedPerModuleRepository
   462                                 model: selectedPerModuleRepository
   443                                 hasHorizontalScrollBar: true
   463                                 hasHorizontalScrollBar: true
   444                                 hasVerticalScrollBar: true
   464                                 hasVerticalScrollBar: true
   447                                 sequenceList: listOfModules
   467                                 sequenceList: listOfModules
   448                               )
   468                               )
   449                              (LabelSpec
   469                              (LabelSpec
   450                                 label: 'Module:'
   470                                 label: 'Module:'
   451                                 name: 'moduleLabel'
   471                                 name: 'moduleLabel'
   452                                 layout: (LayoutFrame 0 0.0 279 0 60 0.25 296 0)
   472                                 layout: (LayoutFrame 0 0.0 313 0 60 0.25 330 0)
   453                                 activeHelpKey: gitRootPerModuleModule
   473                                 activeHelpKey: gitRootPerModuleModule
   454                                 translateLabel: true
   474                                 translateLabel: true
   455                                 adjust: right
   475                                 adjust: right
   456                               )
   476                               )
   457                              (InputFieldSpec
   477                              (InputFieldSpec
   458                                 name: 'perModuleRepositoryModuleEntryField'
   478                                 name: 'perModuleRepositoryModuleEntryField'
   459                                 layout: (LayoutFrame 64 0.25 275 0 0 1 297 0)
   479                                 layout: (LayoutFrame 64 0.25 309 0 0 1 331 0)
   460                                 activeHelpKey: gitRootPerModuleModule
   480                                 activeHelpKey: gitRootPerModuleModule
   461                                 tabable: true
   481                                 tabable: true
   462                                 model: perModuleRepositoryModule
   482                                 model: perModuleRepositoryModule
   463                                 acceptChannel: acceptChannel
   483                                 acceptChannel: acceptChannel
   464                                 acceptOnPointerLeave: true
   484                                 acceptOnPointerLeave: true
   465                               )
   485                               )
   466                              (LabelSpec
   486                              (LabelSpec
   467                                 label: 'Git Repository:'
   487                                 label: 'Git Repository:'
   468                                 name: 'gitRepository'
   488                                 name: 'gitRepository'
   469                                 layout: (LayoutFrame 0 0.0 304 0 60 0.25 321 0)
   489                                 layout: (LayoutFrame 0 0.0 338 0 60 0.25 355 0)
   470                                 activeHelpKey: gitRootPerModuleRoot
   490                                 activeHelpKey: gitRootPerModuleRoot
   471                                 translateLabel: true
   491                                 translateLabel: true
   472                                 adjust: right
   492                                 adjust: right
   473                               )
   493                               )
   474                              (ComboBoxSpec
   494                              (ComboBoxSpec
   475                                 name: 'perModuleRepositoryComboBox'
   495                                 name: 'perModuleRepositoryComboBox'
   476                                 layout: (LayoutFrame 64 0.25 300 0 0 1.0 322 0)
   496                                 layout: (LayoutFrame 64 0.25 334 0 0 1.0 356 0)
   477                                 activeHelpKey: gitRootPerModuleRoot
   497                                 activeHelpKey: gitRootPerModuleRoot
   478                                 tabable: true
   498                                 tabable: true
   479                                 model: perModuleRepository
   499                                 model: perModuleRepository
   480                                 immediateAccept: true
   500                                 immediateAccept: true
   481                                 acceptOnLeave: true
   501                                 acceptOnLeave: true
   485                                 acceptChannel: acceptChannel
   505                                 acceptChannel: acceptChannel
   486                                 acceptOnPointerLeave: true
   506                                 acceptOnPointerLeave: true
   487                                 comboList: gitRepositoryPrototypeList
   507                                 comboList: gitRepositoryPrototypeList
   488                               )
   508                               )
   489                              (HorizontalPanelViewSpec
   509                              (HorizontalPanelViewSpec
   490                                 name: 'HorizontalPanel2'
   510                                 name: 'PerModuleButtonHorizontalPanel'
   491                                 layout: (LayoutFrame 64 0.25 327 0 -1 1 352 0)
   511                                 layout: (LayoutFrame 64 0.25 361 0 -1 1 386 0)
   492                                 horizontalLayout: right
   512                                 horizontalLayout: right
   493                                 verticalLayout: center
   513                                 verticalLayout: center
   494                                 horizontalSpace: 3
   514                                 horizontalSpace: 3
   495                                 verticalSpace: 3
   515                                 verticalSpace: 3
   496                                 component: 
   516                                 component: 
   548                           )
   568                           )
   549                         )
   569                         )
   550                        )
   570                        )
   551                      
   571                      
   552                     )
   572                     )
   553                     extent: (Point 811 389)
   573                     extent: (Point 811 418)
   554                   )
   574                   )
   555                  (FramedBoxSpec
   575                  (FramedBoxSpec
   556                     label: 'Push URLs'
   576                     label: 'Push URLs'
   557                     name: 'FramedBox2'
   577                     name: 'FramedBox2'
   558                     labelPosition: topLeft
   578                     labelPosition: topLeft
   649                           )
   669                           )
   650                         )
   670                         )
   651                        )
   671                        )
   652                      
   672                      
   653                     )
   673                     )
   654                     extent: (Point 811 187)
   674                     extent: (Point 811 181)
   655                   )
   675                   )
   656                  (FramedBoxSpec
   676                  (FramedBoxSpec
   657                     label: 'Source Cache'
   677                     label: 'Source Cache'
   658                     name: 'FramedBox1'
   678                     name: 'FramedBox1'
   659                     visibilityChannel: false
   679                     visibilityChannel: false
   730             )
   750             )
   731            )
   751            )
   732          
   752          
   733         )
   753         )
   734       )
   754       )
   735 
       
   736     "Modified: / 02-03-2012 / 16:53:53 / cg"
       
   737 ! !
   755 ! !
   738 
   756 
   739 !GitSourceCodeManagementSettingsAppl class methodsFor:'queries'!
   757 !GitSourceCodeManagementSettingsAppl class methodsFor:'queries'!
   740 
   758 
   741 managerClass
   759 managerClass
   766 
   784 
   767     self sourceCacheDir value:(GitSourceCodeManager cacheDirectoryName).
   785     self sourceCacheDir value:(GitSourceCodeManager cacheDirectoryName).
   768 
   786 
   769     repository := GitSourceCodeManager repositoryName.
   787     repository := GitSourceCodeManager repositoryName.
   770     self repositoryHolder value:(repository ? '') asValue.
   788     self repositoryHolder value:(repository ? '') asValue.
       
   789     self workDirectoryHolder value:GitSourceCodeManager workDirectory.
   771 
   790 
   772     infoPerModule := GitSourceCodeManager repositoryInfoPerModule.
   791     infoPerModule := GitSourceCodeManager repositoryInfoPerModule.
   773     infoPerModule keysAndValuesDo:[:module :info | 
   792     infoPerModule keysAndValuesDo:[:module :info | 
   774         repositoriesPerModule at:module put:(Array with:GitSourceCodeManager with:info).
   793         repositoriesPerModule at:module put:(Array with:GitSourceCodeManager with:info).
   775     ].
   794     ].
   784         self listOfModules removeAll.
   803         self listOfModules removeAll.
   785         listOfModules addAll:repositoriesPerModule keys asList.
   804         listOfModules addAll:repositoriesPerModule keys asList.
   786     ].
   805     ].
   787 "/    self selectedPerModuleRootChanged.
   806 "/    self selectedPerModuleRootChanged.
   788 
   807 
   789     "Modified: / 02-03-2012 / 15:23:00 / cg"
   808     "Modified: / 03-03-2012 / 11:08:11 / cg"
   790 !
   809 !
   791 
   810 
   792 basicSaveSettings
   811 basicSaveSettings
   793     |modules nm fn infoPerModule|
   812     |modules nm fn infoPerModule|
   794 
   813 
   819         entry first == GitSourceCodeManager ifTrue:[
   838         entry first == GitSourceCodeManager ifTrue:[
   820             infoPerModule at:module put:(entry second).
   839             infoPerModule at:module put:(entry second).
   821         ].
   840         ].
   822     ].
   841     ].
   823     GitSourceCodeManager repositoryInfoPerModule:infoPerModule.
   842     GitSourceCodeManager repositoryInfoPerModule:infoPerModule.
       
   843     GitSourceCodeManager workDirectory:self workDirectoryHolder value.
   824 
   844 
   825     self basicSaveGitSettings.
   845     self basicSaveGitSettings.
   826 
   846 
   827     self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
   847     self sourceCacheDir value:(AbstractSourceCodeManager cacheDirectoryName).
   828 
   848 
   829     DebugView newDebugger. "/ ???
   849     DebugView newDebugger. "/ ???
   830 
   850 
   831     self acceptChannel value.
   851     self acceptChannel value.
   832 
   852 
   833     "Modified: / 02-03-2012 / 15:19:14 / cg"
   853     "Modified: / 03-03-2012 / 11:25:12 / cg"
   834 !
   854 !
   835 
   855 
   836 removePerModuleRoot
   856 removePerModuleRoot
   837     |module|
   857     |module|
   838 
   858 
  1048         selectedPushURL addDependent:self.
  1068         selectedPushURL addDependent:self.
  1049     ].
  1069     ].
  1050     ^ selectedPushURL.
  1070     ^ selectedPushURL.
  1051 
  1071 
  1052     "Created: / 02-03-2012 / 16:20:21 / cg"
  1072     "Created: / 02-03-2012 / 16:20:21 / cg"
       
  1073 !
       
  1074 
       
  1075 workDirectoryHolder
       
  1076     workDirectoryHolder isNil ifTrue:[
       
  1077         workDirectoryHolder := ValueHolder new.
       
  1078         workDirectoryHolder addDependent:self.
       
  1079     ].
       
  1080     ^ workDirectoryHolder.
       
  1081 
       
  1082     "Created: / 03-03-2012 / 10:34:19 / cg"
  1053 ! !
  1083 ! !
  1054 
  1084 
  1055 !GitSourceCodeManagementSettingsAppl methodsFor:'change & update'!
  1085 !GitSourceCodeManagementSettingsAppl methodsFor:'change & update'!
  1056 
  1086 
  1057 selectedPerModuleRepositoryChanged
  1087 selectedPerModuleRepositoryChanged
  1238 ! !
  1268 ! !
  1239 
  1269 
  1240 !GitSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
  1270 !GitSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
  1241 
  1271 
  1242 version
  1272 version
  1243     ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.3 2012-03-02 16:10:48 cg Exp $'
  1273     ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.4 2012-03-03 10:28:57 cg Exp $'
  1244 !
  1274 !
  1245 
  1275 
  1246 version_CVS
  1276 version_CVS
  1247     ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.3 2012-03-02 16:10:48 cg Exp $'
  1277     ^ '$Header: /cvs/stx/stx/libtool/GitSourceCodeManagementSettingsAppl.st,v 1.4 2012-03-03 10:28:57 cg Exp $'
  1248 ! !
  1278 ! !