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