# HG changeset patch # User Stefan Vogel # Date 1553781421 -3600 # Node ID 7bdf532163ba129fdc6a819dd16c8a5343b09f2e # Parent 934abbca7d85475f9428bd0b1548e8f426598eb5 #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 diff -r 934abbca7d85 -r 7bdf532163ba 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