AbstractFileBrowser.st
changeset 8588 e0b4240e621e
parent 8568 fe221c53eead
child 8590 ed2ee3a6e866
--- a/AbstractFileBrowser.st	Mon Mar 23 20:49:44 2009 +0100
+++ b/AbstractFileBrowser.st	Tue Mar 24 11:00:58 2009 +0100
@@ -4522,7 +4522,7 @@
 !
 
 cvsAddAndCommitAsBinary:asBinary
-    |sel log logArg cmd dir executionBlock nameString|
+    |sel log logArg binArg cmd dir executionBlock nameString|
 
     log := Dialog
         requestText:(resources string:'Enter initial log message')
@@ -4537,6 +4537,10 @@
         logArg := '-m ''' , log , ''''.
     ].
 
+    binArg := ''.
+    asBinary ifTrue:[
+        binArg := '-kb '.
+    ].
     sel := self currentSelectedFiles.
     executionBlock := [ : stream |
         log notNil ifTrue:[
@@ -4547,12 +4551,14 @@
                     nameArg := '"',fn baseName,'"'.
 
                     dir := self getDirWithoutFileName:fn.
-                    cmd := 'cvs add ',logArg,' ',nameArg.
+                    cmd := 'cvs add ',logArg,' ',binArg,nameArg.
                     (self getExecutionBlockForCommand:cmd inDirectory:dir) value:stream.
 
                     cmd := ('cvs commit -l ',logArg,' ',nameArg).
                     (self getExecutionBlockForCommand:cmd inDirectory:dir) value:stream.
-
+                    "/ mhmh - it seems that only old CVS implementations (at least turqoise)
+                    "/ support and need the 'admin -kb' command.
+                    "/ newer ones use the '-kb' option in the 'cvs add' command
                     asBinary ifTrue:[
                         cmd := ('cvs admin -kb ' , nameArg).
                         (self getExecutionBlockForCommand:cmd inDirectory:dir) value:stream.
@@ -7737,5 +7743,5 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.401 2009-03-06 21:09:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.402 2009-03-24 10:00:58 cg Exp $'
 ! !