5 let rec iter srcdir destdir
=
6 lprintf
"iter: \n%s\n%s\n" srcdir destdir
;
9 File.to_string
(Filename.concat srcdir
"CVS/Entries")
11 File.to_string
(Filename.concat srcdir
"cvs/Entries")
13 List.iter (fun line
->
14 match String2.split line '
/'
with
15 "D" :: directory
:: _
->
16 lprintf
"Directory [%s]\n" directory
;
17 let new_srcdir = Filename.concat srcdir directory
in
18 if file_exists
new_srcdir then
19 let new_destdir = Filename.concat destdir directory
in
20 mkdir
new_destdir 0o755
;
21 iter new_srcdir new_destdir
23 lprintf
"File [%s]\n" file
;
24 let full_srcfile = Filename.concat srcdir file
in
25 let full_destfile = Filename.concat destdir file
in
27 Unix2.copy full_srcfile full_destfile;
29 ignore
(command
(Printf.sprintf
"cp '%s' '%s'"
30 full_srcfile full_destfile))
32 ) (String2.split_simplify
s '
\n'
)
35 let directory = Sys.argv
.(1) in
36 ignore
(command
("rm -rf " ^
directory));
37 mkdir
directory 0o755
;