#BUGFIX by stefan
authorStefan Vogel <sv@exept.de>
Thu, 28 Mar 2019 14:57:01 +0100
changeset 4414 7bdf532163ba
parent 4413 934abbca7d85
child 4415 af25faef1fc1
#BUGFIX by stefan class: CVSSourceCodeManager class changed: #cvsTmpDirectory #diffListFor:fileName:directory:module:revision1:revision2:cache: #streamForClass:fileName:revision:directory:module:cache: Make sure that created directories shared by users are accessible by all users
CVSSourceCodeManager.st
--- a/CVSSourceCodeManager.st	Fri Mar 22 12:54:40 2019 +0100
+++ b/CVSSourceCodeManager.st	Thu Mar 28 14:57:01 2019 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1995 by Claus Gittinger
               All Rights Reserved
@@ -437,7 +439,11 @@
     CVSTempDir notNil ifTrue:[^ CVSTempDir].
     d := Filename tempDirectory / 'stx_cvs'.
     d exists ifFalse:[
-        d recursiveMakeDirectory.
+        d makeDirectory;
+          addAccessRights:#(readUser readGroup readOthers
+                            writeUser writeGroup writeOthers
+                            executeUser executeGroup executeOthers
+                            removeOnlyByOwner).
     ].
     ^ d pathName
 
@@ -3133,7 +3139,9 @@
         (cacheSubDir isNil) ifTrue:[
             cacheIt := false
         ] ifFalse:[
-            cacheSubDir recursiveMakeDirectory.
+            cacheSubDir 
+                recursiveMakeDirectoryForEachCreatedDo:[:dirName| dirName accessRights:cacheDir accessRights].
+
             fullCachedName := cacheSubDir constructString:cachedSourceFilename.
         ].
         fullTempName exists ifFalse:[
@@ -4635,17 +4643,17 @@
             "/ The repair code will be removed at some time in the future...
 
             "/ temporary fix Felix' bad string translation:
-            (aString startsWith:'§Header:') ifTrue:[
-                (aString endsWith:'Exp §') ifTrue:[
+            (aString startsWith:'§Header:') ifTrue:[
+                (aString endsWith:'Exp §') ifTrue:[
                     fixedString := '$' , (aString copyFrom:3 to:(aString size - 2)) , '$'.
 
                     aClass isNil ifTrue:[
                         autoFixHolder value ifFalse:[
-                            Dialog information:'Attention: the CVS version string is corrupted (§-bug). Please fix it manually'.
+                            Dialog information:'Attention: the CVS version string is corrupted (§-bug). Please fix it manually'.
                         ]
                     ] ifFalse:[
                         (autoFixHolder value 
-                            or:[ Dialog confirm:('Attention: the CVS version string is corrupted in "%1" (§-bug). Fix it?' withCRs bindWith:aClass name) ]
+                            or:[ Dialog confirm:('Attention: the CVS version string is corrupted in "%1" (§-bug). Fix it?' withCRs bindWith:aClass name) ]
                         ) ifTrue:[
                             self updateVersionMethodOf:aClass for:fixedString.
                         ].
@@ -4653,7 +4661,7 @@
                 ].
             ].
 
-            "/ temporary fix Jan's bad Umlaut-removal (which results in Felix's bad § being removed):
+            "/ temporary fix Jan's bad Umlaut-removal (which results in Felix's bad § being removed):
             (aString startsWith:'Header: ') ifTrue:[
                 (aString endsWith:'Exp ') ifTrue:[
                     fixedString := '$' , aString , '$'.
@@ -5787,7 +5795,8 @@
         ] ifFalse:[
             diffDir := cacheDir / modulePath / '.diffs'.
             diffDir exists ifFalse:[
-                diffDir makeDirectory.
+                diffDir 
+                    recursiveMakeDirectoryForEachCreatedDo:[:dirName| dirName accessRights:cacheDir accessRights].
             ].
             cachedFile := diffDir / (classFileName,'_',rev1,'_',rev2).
             cachedFile exists ifTrue:[
@@ -5983,7 +5992,7 @@
     "/ $-Revision: rev $
     "/ $-Id:       fileName rev date time user state $
     "/
-    (firstWord = '$Header:' or:[firstWord = '§Header:']) ifTrue:[
+    (firstWord = '$Header:' or:[firstWord = '§Header:']) ifTrue:[
         d := firstWord first.
         s skipSeparators.
         nm := s throughAll:',v '.
@@ -6013,12 +6022,12 @@
         ^ info
     ].
 
-    (firstWord = '$Revision:' or:[firstWord = '§Revision:']) ifTrue:[
+    (firstWord = '$Revision:' or:[firstWord = '§Revision:']) ifTrue:[
         info revision:(s upToEnd asCollectionOfWords first).
         ^ info
     ].
 
-    (firstWord = '$Id:' or:[firstWord = '§Id:']) ifTrue:[
+    (firstWord = '$Id:' or:[firstWord = '§Id:']) ifTrue:[
         "/commented out by Jan Vrany, 2009/10/20
         "/according to http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html
         "/svn has no support for $ Header $ expansion. Therefore