--- couchdb/design-couch.pl 2009/08/18 14:30:06 252 +++ couchdb/design-couch.pl 2009/08/30 11:56:31 367 @@ -23,6 +23,11 @@ my ( $command, $database, $design ) = @ARGV; die "usage: $0 [push|pull] database design\n" unless $database && $design; +if ( ! -e $design && $command eq 'pull') { + warn "# create new design $design\n"; + mkdir $design; +} + chdir $design || die "can't find $design: $!"; my $ua = LWP::UserAgent->new; @@ -38,12 +43,20 @@ #warn "# dir $dir"; } } + +sub svn { + my $path = shift; + return if $path =~ m{(_rev|.*\.(push|pull)\.js)$}; + system "svn add --parents $path"; +} + sub write_file { my ( $path, $content ) = @_; $path =~ s{^/+}{}; create_path $path; File::Slurp::write_file $path, $content; print "$path ", -s $path, " bytes created\n"; + svn $path; } sub write_attachment { @@ -52,6 +65,7 @@ create_path $file; $ua->mirror( "$url/$path", $file ); print "detached $file ", -s $file, " bytes\n"; + svn $file; }