let add_files ?(binary=false) files =
match files with
[] ->
([], [])
| files ->
let f (acc_ok, acc_ko) file =
let d = Filename.dirname file in
let f = Filename.basename file in
let com = Printf.sprintf "cd %s ; cvs add %s %s %s"
(Filename.quote d)
!Ocvs_config.add_options
(if binary then "-kb " else "")
(Filename.quote f)
in
let n = Sys.command com in
if n = 0 then
(acc_ok @ [file], acc_ko)
else
(acc_ok, acc_ko @ [file])
in
List.fold_left f ([], []) files