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 |
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: |
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 |