[Haven't actually looked at this patch. But the general idea of using Dos* functions instead of "attrib" is definitely the way to go. -kingdon] Date: Tue, 07 Apr 1998 16:55:22 +0200 From: tobi@bland.fido.de (Tobias Ernst) Subject: cvs 1.9.26 OS/2 patch submittal To: bug-cvs@gnu.org (UUCP) Hello! I have created a patch to CVS 1.9.26. It only applies to the OS/2 versions of CVS located in the os2/ and emx/ subdirectories and gives a factor 3 speed improvement on "cvs co" and other actions that require changing the read only attribute of a file. The patch does not change the behaviour of CVS in any way, so it should be transparent to the user (besides the speed increase). All I did to achieve this improvement was to replace the xchmod() routine that just did a system("attrib.exe") by a self-written one that calls the corresponding OS/2 API directly. I have attached two GNU context-style diffs: os2.dif is for the files in the os2/ subdirectory, and emx.dif is for the files in the emx/ subdirectory. I uuencoded them to avoid my newsreader from mangling up linebreaks or similar. I hope I did abide to all rules for submitting a CVS patch. This is the first time that I submit a patch for a GNU software, so please be forbearing if I should have made something wrong. :-) Kind Regards, Tobias Ernst. begin 666 emx.dif M*BHJ("XN+RXN+V-V5!A=&A);F9O("HO"B`@(VEN8VQU9&4@/'-Y M0HM("`J M(&)I="X@($)U="!I="!A;'=A>7,@PHM(`EE M&ES="(L"BT@"2`@("`@("!F;F%M92D["BT@"7)E='5R M;CL*+2`@("`@?0HM(`HM("`@("!A='1R:6)?8VUD(#T@(F%T=')I8B`B.R`O M*B!.;RP@2`J+PHA("`@("`@("`@"B$@("`@('=H M;VQE7V-M9"`]('AM86QL;V,@*'-T&UA;&QO8R`HF5O9BAS*2P@,$PI("$](#`I"B$@("`@ M('L*(2`)97)R;W(@*#`L(#`L(")C86YN;W0@8VAA;F=E(&UO9&4@;V8@9FEL M92`E7-T96T@8V%L;"!T;R`B871T&-H M;6]D("AF;F%M92P@=W)I=&%B;&4I"B`@("`@(&-H87(@*F9N86UE.PH@("`@ M("!I;G0@=W)I=&%B;&4["B`@>PHA("`@("!C:&%R("IA='1R:6)?8VUD.PHA M("`@("!C:&%R("IA='1R:6)?;W!T:6]N.PHA("`@("!C:&%R("IW:&]L95]C M;60["B$@("`@(&-H87(@*G`["B$@("`@(&-H87(@*G$["B$@"B$@("`@(&EF M("@A:7-F:6QE("AF;F%M92DI"B$@("`@('L*(2`)97)R;W(@*#`L(#`L(")C M86YN;W0@8VAA;F=E(&UO9&4@;V8@9FEL92`E3\@ M*B\*("`*+2`@("`@:68@*'=R:71A8FQE*0HM("`@("`@("`@871T2`H=VAO;&5?8VUD M+"!A='1R:6)?8VUD*3L*(2`@("`@2!P87)T0HA M("`@("`@("!O;B!B96EN9R!A8FQE('1O('5S92!I="X@("HO"B$@("`@('`@ M/2!W:&]L95]C;60@*R!S=')L96X@*'=H;VQE7V-M9"D["B`@("`@('$@/2!F M;F%M93L*("`@("`@=VAI;&4@*"IQ*0H@("`@("!["B`@"6EF("@J<2`]/2`G M+R&-H M;6]D("AF;F%M92P@=W)I=&%B;&4I"B`@("`@(&-H87(@*F9N86UE.PH@("`@ M("!I;G0@=W)I=&%B;&4["B`@>PHA("`@("!&24Q%4U1!5%53,R!S.PHA("`@ M("!C:&%R("IB86-KPH@(`EI9B`H*G$@/3T@)R\G*0HJ M*BHJ*BHJ*BHJ*BHJ*BH@>&-H;6]D("AF;F%M92P@=W)I=&%B;&4I"BHJ*B`S M-#,L,S4P("HJ*BH*("`@("`@?0H@("`@("`J<"`]("=<,"<["B`@"B$@("`@ M('-Y5!A=&A);F9O*"A04UHI M8F%C:W-L87-H:69I960L($9)3%]35$%.1$%21"P*(2`@("`@("`@("`@("`@ M("`@("`@("`@("`@*%!63TE$*29S+"!S:7IE;V8H2`J+PHA("`@("!E;'-E("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@+RH@=W)I=&EN9R!A;&QO=V5D("HO"B$@("`@ M("`@("!S+F%T=')&:6QE("8]('Y&24Q%7U)%041/3DQ9.R`@("`@("`O*B!T M=7)N(&]F9B!R96%D+6]N;'D@*B\*(2`*(2`@("`@:68@*$1OPHA(`EE&-H;6]D*3H@4F5P;&%C960@&4B('=I=&@@80HK("`@("`@("`@9&ER96-T(&-A;&P@=&\@=&AE(&-O