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." |