From af1051b429064492dacb69a2e2e7c4b5b68c19f8 Mon Sep 17 00:00:00 2001 From: short <> Date: Sun, 19 Jun 2005 08:47:43 +0000 Subject: [PATCH] Better (what does really mean "better"?) handling of new/deleted files. Improved a bit error reporting backtraces. --- bin/cvsutil | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/cvsutil b/bin/cvsutil index 0ebe138..1048e97 100755 --- a/bin/cvsutil +++ b/bin/cvsutil @@ -17,6 +17,7 @@ use Getopt::Long; use Cwd qw(chdir fastgetcwd); use Errno qw(ENOENT); use File::Remove qw(remove); +use Carp qw(confess cluck croak carp); use constant ENTRIES =>"CVS/Entries"; use constant CVSIGNORE=>".cvsignore"; @@ -86,8 +87,8 @@ my($msg,%opts)=@_; my $errstr=$!; $msg.=" in \"".fastgetcwd."\" (CVS \"$dir_dirname\")".($opts{"noerrno"} ? "" : ": $errstr"); - die $msg if $opt_fatal; - warn $msg; + croak $msg if $opt_fatal; + carp $msg; } sub fordirs @@ -149,9 +150,11 @@ sub localreaddir } while () { chomp; + next if /^D$/; do { push @dir_dirs ,$1; next; } if m#^D/([^/]*)/#; + next if m#^/[^/]*/-#; # deleted file: /filename/-1.1/dummy timestamp// + next if m#^/[^/]*/0/#; # new file: /filename/0/dummy timestamp// do { push @dir_files,$1; next; } if m#^/([^/]*)/# ; - next if /^D$/; mayfatal "File ".ENTRIES." contains invalid line \"$_\"",("noerrno"=>1); } close E; -- 1.8.3.1