Knock off a to-do item: "If the argument to cvs add smells like a

binary file, cvs add -kb it (for attachment support)."
master
Amitai Schlair 2009-08-30 00:17:42 -04:00
parent 992d0aac09
commit b493f9b6d8
1 changed files with 13 additions and 2 deletions

View File

@ -219,14 +219,25 @@ sub rcs_add ($) {
my $parent=IkiWiki::dirname($file);
my @files_to_add = ($file);
eval q{use File::MimeInfo};
error($@) if $@;
until ((length($parent) == 0) || cvs_is_controlling("$config{srcdir}/$parent")){
push @files_to_add, $parent;
$parent = IkiWiki::dirname($parent);
}
while ($file = pop @files_to_add) {
cvs_runcvs(['add', $file]) ||
warn("cvs add $file failed\n");
if ((@files_to_add == 0) &&
(File::MimeInfo::default $file ne 'text/plain')) {
# it's a binary file, add specially
cvs_runcvs(['add', '-kb', $file]) ||
warn("cvs add $file failed\n");
} else {
# directory or regular file
cvs_runcvs(['add', $file]) ||
warn("cvs add $file failed\n");
}
}
}