let status_dir dir =
  let temp_file = Filename.temp_file "ocamlcvs" "status" in
  let com = Printf.sprintf "cd %s ; cvs status %s -l . > %s"
      (Filename.quote dir)
      !Ocvs_config.status_options
      temp_file
  in
  let n = Sys.command com in
  if n = 0 then
    (
     let l = analyse_status_file temp_file in
     delete_file temp_file ;
     List.map
       (fun ci -> { ci with
                    cvs_file = Filename.concat dir ci.cvs_file }
       )
       l
    )
  else
    (
     delete_file temp_file ;
     raise (Ocvs_types.CvsFailure (Ocvs_messages.error_exec com))
    )