⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6ra.t

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 T
字号:
#!/usr/bin/perl -wuse Test::More tests => 7;use File::Temp qw(tempdir);use File::Path qw(rmtree);use strict;use SVN::Core;use SVN::Repos;use SVN::Ra;use SVN::Fs;use SVN::Delta;my $repospath = tempdir('svn-perl-test-XXXXXX', TMPDIR => 1, CLEANUP => 1);my $repos;ok($repos = SVN::Repos::create("$repospath", undef, undef, undef, undef),   "create repository at $repospath");my $fs = $repos->fs;my $txn = $fs->begin_txn($fs->youngest_rev);$txn->root->make_dir('trunk');$txn->commit;my $uri = $repospath;$uri =~ s{^|\\}{/}g if $^O eq 'MSWin32';$uri = "file://$uri";my $ra = SVN::Ra->new( url => $uri);isa_ok ($ra, 'SVN::Ra');is ($ra->get_uuid, $fs->get_uuid);is ($ra->get_latest_revnum, 1);isa_ok ($ra->rev_proplist (1), 'HASH');#is ($ra->get_latest_revnum, 0);my $reporter = $ra->do_update (1, '', 1, SVN::Delta::Editor->new);isa_ok ($reporter, 'SVN::Ra::Reporter');$reporter->abort_report;my $ed = MockEditor->new;$ra->replay(1, 0, 1, $ed);is($ed->{trunk}{type}, 'dir', "replay: got trunk");END {diag "cleanup";rmtree($repospath);}package MockEditor;sub new { bless {}, shift }sub set_target_revision {    my ($self, $revnum) = @_;    $self->{_target_revnum} = $revnum;}sub delete_entry {    my ($self, $path) = @_;    die "delete_entry called";}sub add_directory {    my ($self, $path, $baton) = @_;    return $self->{$path} = { type => 'dir' };}sub open_root {    my ($self, $base_revision, $dir_pool) = @_;    $self->{_base_revnum} = $base_revision;    return $self->{_root} = { type => 'root' };}sub open_directory {    my ($self, $path) = @_;    die "open_directory on file" unless $self->{$path}{type} eq 'dir';    return $self->{$path};}sub open_file {    my ($self, $path) = @_;    die "open_file on directory" unless $self->{$path}{type} eq 'file';    return $self->{$path};}sub change_dir_prop {    my ($self, $baton, $name, $value) = @_;    $baton->{props}{$name} = $value;}sub change_file_prop {    my ($self, $baton, $name, $value) = @_;    $baton->{props}{$name} = $value;}sub absent_directory {    my ($self, $path) = @_;    die "absent_directory called";}sub absent_file {    my ($self, $path) = @_;    die "absent_file called";}sub close_directory {    my ($self, $baton) = @_;}sub close_file {    my ($self, $baton) = @_;}sub add_file {    my ($self, $path, $baton) = @_;    return $self->{$path} = { type => 'file' };}sub apply_textdelta {    my ($self, $baton, $base_checksum, $pool) = @_;    my $data = $baton->{data} = \'';    open my $out_fh, '>', $data        or die "error opening in-memory file to store Subversion update: $!";    open my $in_fh, '<', \''        or die "error opening in-memory file for delta source: $!";    return [ SVN::TxDelta::apply($in_fh, $out_fh, undef, "$baton", $pool) ];}sub close_edit {    my ($self, $pool) = @_;}sub abort_edit {    my ($self, $pool) = @_;    die "abort_edit called";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -