SourceCodeManagerUtilities.st
changeset 2794 77c62d93cc76
parent 2793 3732543d2393
child 2795 26cfabcd623e
equal deleted inserted replaced
2793:3732543d2393 2794:77c62d93cc76
  2045                                                and:[change changeClass isMeta]]) not].
  2045                                                and:[change changeClass isMeta]]) not].
  2046 
  2046 
  2047         diffSet := listHere diffSetsAgainst:listRep.
  2047         diffSet := listHere diffSetsAgainst:listRep.
  2048         changed := diffSet changed.
  2048         changed := diffSet changed.
  2049         onlyHere := diffSet onlyInReceiver.
  2049         onlyHere := diffSet onlyInReceiver.
  2050         onlyHere := onlyHere select:[:eachDiff|  
  2050 
       
  2051         "/ reject extensions
       
  2052         onlyHere := onlyHere reject:[:eachDiff|  
  2051                         |method methodsPackage|
  2053                         |method methodsPackage|
  2052                         eachDiff isClassDefinitionChange not 
  2054 
  2053                         and:[
  2055                         eachDiff isClassDefinitionChange  
  2054                             eachDiff changeClass isNil
  2056                         and:[ eachDiff changeClass notNil
  2055                             or:[
  2057                         and:[ (method := (eachDiff changeClass compiledMethodAt:eachDiff selector)) notNil 
  2056                                 method := (eachDiff changeClass compiledMethodAt:eachDiff selector).
  2058                         and:[ (methodsPackage := method package) ~= containerPackage
  2057                                 method isNil or:[ (methodsPackage := method package) == containerPackage ]]
  2059                         and:[ methodsPackage ~= PackageId noProjectID  ]]]]
  2058                         ]
  2060                     ]. 
  2059                     ].
       
  2060 
  2061 
  2061         onlyInRep := diffSet onlyInArg.
  2062         onlyInRep := diffSet onlyInArg.
  2062 
  2063 
  2063         changedClassDefinitions := changed select:[:eachChangePair | eachChangePair first isClassDefinitionChange]. 
  2064         changedClassDefinitions := changed select:[:eachChangePair | eachChangePair first isClassDefinitionChange]. 
  2064         changed := changed reject:[:eachChangePair | eachChangePair first isClassDefinitionChange]. 
  2065         changed := changed reject:[:eachChangePair | eachChangePair first isClassDefinitionChange]. 
  2073         msg := 'About to load ''%4''.\\'.
  2074         msg := 'About to load ''%4''.\\'.
  2074         onlyInRep size > 0 ifTrue:[
  2075         onlyInRep size > 0 ifTrue:[
  2075             msg := msg , 'The repositories version contains %1 method(s) which are not in your current class.\'.
  2076             msg := msg , 'The repositories version contains %1 method(s) which are not in your current class.\'.
  2076         ].
  2077         ].
  2077         onlyHere size > 0 ifTrue:[
  2078         onlyHere size > 0 ifTrue:[
  2078             onlyInRep size > 0 ifTrue:[
  2079             msg := msg , (onlyInRep size > 0 ifTrue:['And there '] ifFalse:['There ']).
  2079                 msg := msg , 'And there '.
       
  2080             ] ifFalse:[
       
  2081                 msg := msg , 'There '.
       
  2082             ].
       
  2083             msg := msg , 'are %2 methods in your current class, which are not in the repository.\'.
  2080             msg := msg , 'are %2 methods in your current class, which are not in the repository.\'.
  2084         ].
  2081         ].
  2085         changed size > 0 ifTrue:[
  2082         changed size > 0 ifTrue:[
  2086             changed size == 1 ifTrue:[
  2083             changed size == 1 ifTrue:[
  2087                 msg := msg , 'The ''%6''-method is different (present in both).\\'.
  2084                 msg := msg , 'The ''%6''-method is different (present in both).\\'.
  2089             ] ifFalse:[
  2086             ] ifFalse:[
  2090                 msg := msg , '%3 methods are different (present in both).\\'.
  2087                 msg := msg , '%3 methods are different (present in both).\\'.
  2091             ]
  2088             ]
  2092         ].
  2089         ].
  2093         changedClassDefinitions size > 0 ifTrue:[
  2090         changedClassDefinitions size > 0 ifTrue:[
  2094             changedClassDefinitions size == 1 ifTrue:[
  2091             msg := msg , (changedClassDefinitions size == 1 
  2095                 msg := msg , 'The class definition is different.\\'.
  2092                             ifTrue:['The class definition is different.\\'] 
  2096             ] ifFalse:[
  2093                             ifFalse:['%5 class definitions are different.\\'])
  2097                 msg := msg , '%5 class definitions are different.\\'.
       
  2098             ]
       
  2099         ].
  2094         ].
  2100 
  2095 
  2101         onlyHere isEmpty ifTrue:[
  2096         onlyHere isEmpty ifTrue:[
  2102             onlyInRep isEmpty ifTrue:[
  2097             onlyInRep isEmpty ifTrue:[
  2103                 (changed isEmpty and:[changedClassDefinitions isEmpty]) ifTrue:[
  2098                 (changed isEmpty and:[changedClassDefinitions isEmpty]) ifTrue:[
  2283         Smalltalk changed:#projectOrganization.
  2278         Smalltalk changed:#projectOrganization.
  2284         self activityNotification:'... done'.
  2279         self activityNotification:'... done'.
  2285     ].
  2280     ].
  2286 
  2281 
  2287     "Modified: / 07-02-2001 / 18:18:32 / ps"
  2282     "Modified: / 07-02-2001 / 18:18:32 / ps"
  2288     "Modified: / 10-02-2012 / 17:37:55 / cg"
  2283     "Modified: / 06-03-2012 / 16:40:33 / cg"
  2289 !
  2284 !
  2290 
  2285 
  2291 checkoutExtensionMethodsForPackage:packageToCheckOut askForRevision:askForRevision askForMerge:askForMerge usingManager:aSourceCodeManager
  2286 checkoutExtensionMethodsForPackage:packageToCheckOut askForRevision:askForRevision askForMerge:askForMerge usingManager:aSourceCodeManager
  2292     "check-out a class from the source repository.
  2287     "check-out a class from the source repository.
  2293      If askForRevision is false, check-out the newest version."
  2288      If askForRevision is false, check-out the newest version."
  4378 ! !
  4373 ! !
  4379 
  4374 
  4380 !SourceCodeManagerUtilities class methodsFor:'documentation'!
  4375 !SourceCodeManagerUtilities class methodsFor:'documentation'!
  4381 
  4376 
  4382 version
  4377 version
  4383     ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.244 2012-03-06 11:58:18 cg Exp $'
  4378     ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.245 2012-03-06 15:41:27 cg Exp $'
  4384 !
  4379 !
  4385 
  4380 
  4386 version_CVS
  4381 version_CVS
  4387     ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.244 2012-03-06 11:58:18 cg Exp $'
  4382     ^ '$Header: /cvs/stx/stx/libbasic3/SourceCodeManagerUtilities.st,v 1.245 2012-03-06 15:41:27 cg Exp $'
  4388 ! !
  4383 ! !