Changeset 312
- Timestamp:
- 06/11/2007 10:35:15 PM
- Files:
-
- trunk/script/Vss2Svn/Dumpfile.pm (modified) (9 diffs)
- trunk/script/Vss2Svn/Dumpfile/Node.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/script/Vss2Svn/Dumpfile.pm
r311 r312 9 9 use warnings; 10 10 use strict; 11 12 use File::Copy; 11 13 12 14 our %gHandlers = … … 216 218 217 219 if ($data->{itemtype} == 2) { 218 $self->get_export_ contents($node, $data, $expdir);220 $self->get_export_file($node, $data, $expdir); 219 221 } 220 222 … … 244 246 245 247 if ($data->{itemtype} == 2) { 246 $self->get_export_ contents($node, $data, $expdir);248 $self->get_export_file($node, $data, $expdir); 247 249 } 248 250 … … 707 709 708 710 ############################################################################### 709 # get_export_ contents710 ############################################################################### 711 sub get_export_ contents{711 # get_export_file 712 ############################################################################### 713 sub get_export_file { 712 714 my($self, $node, $data, $expdir) = @_; 713 715 … … 720 722 } 721 723 722 my $file = "$expdir/$data->{physname}.$data->{version}"; 723 724 if (!open EXP, "$file") { 725 $self->add_error("Could not open export file '$file'"); 726 return 0; 727 } 728 729 binmode(EXP); 730 731 # $node->{text} = join('', <EXP>); 732 $node->{text} = do { local( $/ ) ; <EXP> } ; 733 734 close EXP; 735 724 $node->{file} = "$expdir/$data->{physname}.$data->{version}"; 736 725 return 1; 737 726 738 } # End get_export_ contents727 } # End get_export_file 739 728 740 729 ############################################################################### … … 748 737 print $fh $string; 749 738 $self->output_content($node->{hideprops}? undef : $node->{props}, 750 $node->{text} );739 $node->{text}, $node->{file}); 751 740 } # End output_node 752 741 … … 755 744 ############################################################################### 756 745 sub output_content { 757 my($self, $props, $text ) = @_;746 my($self, $props, $text, $file) = @_; 758 747 759 748 my $fh = $self->{fh}; 760 749 761 $text = '' unless defined $text ;750 $text = '' unless defined $text || defined $file; 762 751 763 752 my $proplen = 0; … … 781 770 } 782 771 783 $textlen = length($text); 772 if(!defined $text && defined $file) { 773 $textlen = -s $file; 774 } else { 775 $textlen = length($text); 776 } 784 777 return if ($textlen + $proplen == 0); 785 778 … … 793 786 794 787 print $fh "Content-length: " . ($proplen + $textlen) 795 . "\n\n$propout$text\n"; 788 . "\n\n$propout"; 789 790 if(!defined $text && defined $file) { 791 copy($file, $fh); 792 print $fh "\n"; 793 } else { 794 print $fh "$text\n"; 795 } 796 796 797 797 } # End output_content trunk/script/Vss2Svn/Dumpfile/Node.pm
r297 r312 33 33 props => undef, 34 34 hideprops => 0, 35 file => undef, 35 36 text => undef, 36 37 };
