view release on metacpan or search on metacpan
CHANGES-1.0 view on Meta::CPAN
[Changes for 1.03 - 18 Aug 2005]
* "svk status" now accepts a --verbose (-v) switch which functions
just like the svn clients switch of the same name.
* "svk log" and "svk revert" now accept a --quiet (-q) switch.
* "svk diff" now accepts a --non-recursive (-N) switch.
* Support --quiet in svk propdel and svk propset.
* Fix message when doing svk propdel --revprop.
* Allow svk update --sync --check-only to sync and then check what
would be updated in your working copy.
* Fix a bug that that status and revert won't work on explicit
command line targets that are replaced with history.
* Fix path encoding for replaced item in "svk add".
CHANGES-1.0 view on Meta::CPAN
* Make "svk revert" work in a few cases where it didn't before, with
moved files in the working copy.
* "svk ci --import" now replace symlinks with files properly.
* "svk mv" is now more careful about making sure that the target path
exists.
* "svk rm" across multiple depot paths could cause svk to hang.
* "svk propset" now works directly on mirrored paths.
* Various commands that would silently ignore excess arguments now
raise errors.
* Specifying a revision for "svk propset" and "svk propedit" commands
is now correctly disallowed on checkout paths.
* Using "svk smerge" without all of your mirrored paths up to date
would try to merge too much if you merged components from those
out-of-date paths. This has been fixed.
* Various cosmetic fixes to make svk output more precise, for
scriptability purposes. This was mostly centred around removal of
spurious blank lines.
CHANGES-1.0 view on Meta::CPAN
* Do proper eol translation per svn:eol on local (yours) node
before textual merges are invoked.
* Proper io layer ordering, and force re-translation for merge text
when needed.
* Reopen FH in prepare_fh when needed, since apply_textdelta already
closed the fh for us.
* Propset now works on multiple overlapping copaths. [#8139]
* Fix a buglet that two props set on a added node will be reported
as added and prop-modified.
* Make svk info work on removed path. [mathhewd]
* Reflect errors in bin/svk exit codes. [matthewd]
* Update various help messages [#7217] [#7877] [hcchien]
lib/SVK/Command/Log.pm
lib/SVK/Command/Merge.pm
lib/SVK/Command/Mirror.pm
lib/SVK/Command/Mkdir.pm
lib/SVK/Command/Move.pm
lib/SVK/Command/Patch.pm
lib/SVK/Command/Propdel.pm
lib/SVK/Command/Propedit.pm
lib/SVK/Command/Propget.pm
lib/SVK/Command/Proplist.pm
lib/SVK/Command/Propset.pm
lib/SVK/Command/Pull.pm
lib/SVK/Command/Push.pm
lib/SVK/Command/Resolved.pm
lib/SVK/Command/Revert.pm
lib/SVK/Command/Smerge.pm
lib/SVK/Command/Status.pm
lib/SVK/Command/Switch.pm
lib/SVK/Command/Sync.pm
lib/SVK/Command/Update.pm
lib/SVK/Command/Verify.pm
version: v2.2.3
SVK::Command::Propedit:
file: lib/SVK/Command/Propedit.pm
version: v2.2.3
SVK::Command::Propget:
file: lib/SVK/Command/Propget.pm
version: v2.2.3
SVK::Command::Proplist:
file: lib/SVK/Command/Proplist.pm
version: v2.2.3
SVK::Command::Propset:
file: lib/SVK/Command/Propset.pm
version: v2.2.3
SVK::Command::Pull:
file: lib/SVK/Command/Pull.pm
version: v2.2.3
SVK::Command::Push:
file: lib/SVK/Command/Push.pm
version: v2.2.3
SVK::Command::Resolved:
file: lib/SVK/Command/Resolved.pm
version: v2.2.3
lib/SVK/Command.pm view on Meta::CPAN
ren move
rename move
pd propdel
pdel propdel
pe propedit
pedit propedit
pg propget
pget propget
pl proplist
plist proplist
ps propset
pset propset
sm smerge
st status
stat status
sw switch
sy sync
up update
ver version
);
use constant global_options => ( 'h|help|?' => 'help',
lib/SVK/Command/Branch.pm view on Meta::CPAN
return ;
}
undef $self->{recursive};
$self->{local}++ if ($target->_to_pclass("/local")->subsumes($target->path));
push @arg, $self->dst_name($proj,$target->path);
return map {$self->arg_co_maybe ($self->dst_path($proj,$_),'New mirror site not allowed here')} @arg;
}
package SVK::Command::Branch::setup;
use base qw( SVK::Command::Propset SVK::Command::Branch );
use SVK::I18N;
use SVK::Util qw( get_prompt );
use SVK::Logger;
sub can_write_remote_proj_prop {
my ($self, $remote_depot, %arg) = @_;
eval {
for my $key (keys %arg) {
$self->do_propset($key,$arg{$key}, $remote_depot);
}
};
return 1 if ($@);
return 0;
}
sub parse_arg {
my ($self, @arg) = @_;
return if $#arg != 0;
lib/SVK/Command/Branch.pm view on Meta::CPAN
my $ret = $source_root ne $url or $self->can_write_remote_proj_prop($root_depot,
"svk:project:$project_name:path-trunk" => $trunk_path,
"svk:project:$project_name:path-branches" => $branch_path,
"svk:project:$project_name:path-tags" => $tag_path);
if ($ret or $@) { # we have problem to write to remote
if ($source_root ne $url) {
$logger->info( loc("Can't write project props to remote root. Save in local instead."));
} else {
$logger->info( loc("Can't write project props to remote server. Save in local instead."));
}
$self->do_propset("svk:project:$project_name:path-trunk",$trunk_path, $local_root);
$self->do_propset("svk:project:$project_name:path-branches",$branch_path, $local_root);
$self->do_propset("svk:project:$project_name:path-tags",$tag_path, $local_root);
$self->do_propset("svk:project:$project_name:root",$preceding_path, $local_root);
}
$proj = SVK::Project->create_from_prop($target,$project_name);
# XXX: what if it still failed here? How to rollback the prop commits?
if (!$proj) {
$logger->info( loc("Project setup failed.\n"));
} else {
$logger->info( loc("Project setup success.\n"));
}
return;
}
lib/SVK/Command/Cmerge.pm view on Meta::CPAN
# Solutions, LLC a nonexclusive, worldwide, irrevocable, royalty-free,
# perpetual, license to use, copy, create derivative works based on
# those contributions, and sublicense and distribute those contributions
# and any derivatives thereof.
#
# END BPS TAGGED BLOCK }}}
package SVK::Command::Cmerge;
use strict;
use SVK::Version; our $VERSION = $SVK::VERSION;
use base qw( SVK::Command::Merge SVK::Command::Copy SVK::Command::Propset );
use SVK::XD;
use SVK::I18N;
use SVK::Logger;
use SVK::Editor::Combine;
use SVK::Inspector::Compat;
sub options {
($_[0]->SUPER::options);
}
lib/SVK/Command/Cmerge.pm view on Meta::CPAN
my $uuid = $fs->get_uuid;
# give ticket to src
my $ticket = SVK::Merge->new (xd => $self->{xd})->
find_merge_sources ($src->new (revision => $newrev), 1, 1);
$ticket->{"$uuid:$tmpbranch"} = $newrev;
unless ($self->{check_only}) {
my $oldmessage = $self->{message};
$self->{message} = "cherry picking merge $self->{chgspec} to $dst->{path}";
$self->do_propset_direct ($src, 'svk:merge',
join ("\n", map {"$_:$ticket->{$_}"} sort keys %$ticket));
$self->{message} = $oldmessage;
}
my ($depot) = $src->depotname;
++$self->{auto};
undef $self->{chgspec};
undef $self->{revspec};
$self->SUPER::run ($src->new (path => $tmpbranch,
depotpath => "/$depot$tmpbranch",
lib/SVK/Command/Ignore.pm view on Meta::CPAN
$svn_ignore = '' unless defined $svn_ignore;
my $current_ignore_re = $self->{xd}->ignore($svn_ignore);
if ($filename =~ m/$current_ignore_re/) {
$logger->info( "Already ignoring '$report'");
} else {
$svn_ignore .= "\n"
if length $svn_ignore and substr($svn_ignore, -1, 1) ne "\n";
$svn_ignore .= "$filename\n";
$self->{xd}->do_propset
( $target,
propname => 'svn:ignore',
propvalue => $svn_ignore,
);
}
}
sub run {
my ($self, @targets) = @_;
$SVN::Error::handler = \&SVN::Error::confess_on_error;
lib/SVK/Command/Mirror.pm view on Meta::CPAN
$target->refresh_revision;
$self->command(
copy => { direct => 1, message => '' },
)->run($target->new(revision => $rev) => $target->new);
# XXX - race condition? should get the last committed rev instead
$target->refresh_revision;
$self->command(
propset => { direct => 1, revprop => 1 },
)->run($_ => $props->{$_}, $target) for sort grep {m/^sv[nm]/} keys %$props;
$logger->info( loc("Mirror state successfully recovered."));
return;
}
sub recover_list_entry {
my ($self, $target, $m) = @_;
my %mirrors = map { ($_ => 1) } SVN::Mirror::list_mirror ($target->repos);
return if $mirrors{$m->{target_path}}++;
$self->command ( propset => { direct => 1, message => 'foo' } )->run (
'svm:mirror' => join ("\n", (grep length, sort keys %mirrors), ''),
$self->arg_depotpath ('/'.$target->depotname.'/'),
);
$logger->info( loc("%1 added back to the list of mirrored paths.\n", $target->report));
return;
}
1;
lib/SVK/Command/Move.pm view on Meta::CPAN
my $src = $_[0];
my $ret = $self->SUPER::run(@_);
if ($self->{post_process_mirror}) {
# XXX: also should set svm:incomplete revprop
# should be in SVK::Mirror as well
my $mstring = $src->root->node_prop('/', 'svm:mirror');
for (@{$self->{post_process_mirror}}) {
my ($from, $to) = @$_;
$mstring =~ s/^\Q$from\E$/$to/;
}
my $cmd = $self->command('propset', { revision => undef,
message => 'svk: fix-up for mirror move' });
$cmd->run('svm:mirror', $mstring, $src->new(path => '/'));
}
return $ret;
}
__DATA__
=head1 NAME
lib/SVK/Command/Propdel.pm view on Meta::CPAN
# copyright holder for those contributions and you grant Best Practical
# Solutions, LLC a nonexclusive, worldwide, irrevocable, royalty-free,
# perpetual, license to use, copy, create derivative works based on
# those contributions, and sublicense and distribute those contributions
# and any derivatives thereof.
#
# END BPS TAGGED BLOCK }}}
package SVK::Command::Propdel;
use strict;
use SVK::Version; our $VERSION = $SVK::VERSION;
use base qw( SVK::Command::Propset );
use SVK::XD;
use SVK::I18N;
sub parse_arg {
my ($self, @arg) = @_;
return if @arg < 1;
push @arg, ('') if @arg == 1;
return ($arg[0], map {$self->_arg_revprop ($_)} @arg[1..$#arg]);
}
sub lock {
my $self = shift;
$self->lock_target (@_[1..$#_]);
}
sub run {
my ($self, $pname, @targets) = @_;
$self->do_propset ($pname, undef, $_) for @targets;
return;
}
1;
__DATA__
=head1 NAME
SVK::Command::Propdel - Delete a property on files or dirs
lib/SVK/Command/Propedit.pm view on Meta::CPAN
# Solutions, LLC a nonexclusive, worldwide, irrevocable, royalty-free,
# perpetual, license to use, copy, create derivative works based on
# those contributions, and sublicense and distribute those contributions
# and any derivatives thereof.
#
# END BPS TAGGED BLOCK }}}
package SVK::Command::Propedit;
use strict;
use SVK::Version; our $VERSION = $SVK::VERSION;
use base qw( SVK::Command::Propset );
use SVK::XD;
use SVK::I18N;
use SVK::Util qw(get_buffer_from_editor);
sub parse_arg {
my ($self, @arg) = @_;
return if @arg < 1 or @arg > 2;
push @arg, ('') if @arg == 1;
return ($arg[0], $self->_arg_revprop ($arg[1]));
}
sub lock {
my $self = shift;
$self->lock_target ($_[1]);
}
sub run {
my ($self, $pname, $target) = @_;
die loc("-r not allowed for propset copath.\n")
if $self->{rev} && $target->isa('SVK::Path::Checkout');
my $pvalue = $self->_proplist ($target)->{$pname};
$pvalue = get_buffer_from_editor (
loc("property %1", $pname),
undef,
(defined($pvalue) ? $pvalue : ''),
'prop'
);
$self->do_propset ($pname, $pvalue, $target);
return;
}
1;
__DATA__
=head1 NAME
lib/SVK/Command/Propset.pm view on Meta::CPAN
# By intentionally submitting any modifications, corrections or
# derivatives to this work, or any other work intended for use with SVK,
# to Best Practical Solutions, LLC, you confirm that you are the
# copyright holder for those contributions and you grant Best Practical
# Solutions, LLC a nonexclusive, worldwide, irrevocable, royalty-free,
# perpetual, license to use, copy, create derivative works based on
# those contributions, and sublicense and distribute those contributions
# and any derivatives thereof.
#
# END BPS TAGGED BLOCK }}}
package SVK::Command::Propset;
use strict;
use SVK::Version; our $VERSION = $SVK::VERSION;
use base qw( SVK::Command::Commit SVK::Command::Proplist );
use constant opt_recursive => 0;
use SVK::Util qw ( abs2rel );
use SVK::XD;
use SVK::I18N;
use SVK::Logger;
sub options {
lib/SVK/Command/Propset.pm view on Meta::CPAN
return (@arg[0,1], map {$self->_arg_revprop ($_)} @arg[2..$#arg]);
}
sub lock {
my $self = shift;
my @paths = @_[2..$#_];
return unless grep {$_->isa('SVK::Path::Checkout')} @paths;
$self->lock_target ($self->{xd}->target_condensed(@_[2..$#_]));
}
sub do_propset_direct {
my ($self, $target, $propname, $propvalue) = @_;
if ($self->{revprop}) {
my $fs = $target->repos->fs;
my $rev = (defined($self->{rev}) ? $self->{rev} : $target->revision);
$fs->change_rev_prop ($rev, $propname => $propvalue);
unless ($self->{quiet}) {
if (defined $propvalue) {
$logger->info(loc("Property '%1' set on repository revision %2.",
$propname, $rev));
lib/SVK/Command/Propset.pm view on Meta::CPAN
my $baton = $editor->open_file ($path, 0, $rev);
$editor->change_file_prop ($baton, $propname, $propvalue);
$editor->close_file ($baton, undef);
}
$self->adjust_anchor ($editor)
unless $anchor eq $target->path;
$self->finalize_dynamic_editor ($editor);
return;
}
sub do_propset {
my ($self, $pname, $pvalue, $target) = @_;
if ($target->isa('SVK::Path::Checkout')) {
die loc("-r not allowed for propset copath.\n")
if $self->{rev};
# verify the content is not with mixed line endings.
if ($pname eq 'svn:eol-style') {
my $fh = $target->root->file_contents($target->path);
binmode($fh, SVK::XD::get_eol_layer({ 'svn:eol-style' => $pvalue }, '<', 1));
eval {
local $/ = \16384;
while (<$fh>) { };
} if $fh;
if ($@ =~ m/Mixed/) {
die loc ("File %1 has inconsistent newlines.\n", $target->report);
}
elsif ($@) {
die $@;
}
}
$self->{xd}->do_propset
( $target,
propname => $pname,
propvalue => $pvalue,
quiet => $self->{quiet},
);
}
else {
# XXX: forbid special props on mirror anchor
die loc ("Can't set svn:eol-style on depotpath.\n")
if $pname eq 'svn:eol-style';
$self->get_commit_message () unless $self->{revprop};
$self->do_propset_direct ( $target, $pname => $pvalue );
}
}
sub run {
my ($self, $pname, $pvalue, @targets) = @_;
$self->do_propset ($pname, $pvalue, $_) for @targets;
return;
}
1;
__DATA__
=head1 NAME
SVK::Command::Propset - Set a property on path
=head1 SYNOPSIS
propset PROPNAME PROPVAL [DEPOTPATH | PATH...]
=head1 OPTIONS
-R [--recursive] : descend recursively
-r [--revision] REV : act on revision REV instead of the head revision
--revprop : operate on a revision property (use with -r)
-m [--message] MESSAGE : specify commit message MESSAGE
-F [--file] FILENAME : read commit message from FILENAME
--template : use the specified message as the template to edit
--encoding ENC : treat -m/-F value as being in charset encoding ENC
lib/SVK/Editor/XD.pm view on Meta::CPAN
if $self->{added}{$path};
return if $self->{check_only};
my $copath = $path;
$self->{get_copath}($copath);
$self->{exe}{$path} = $value
if $name eq 'svn:executable' && $self->{update};
$self->{get_path}($path);
$self->{xd}->do_propset(
$self->{xd}->create_path_object(
copath_anchor => $copath,
path => $path,
repos => $self->{repos}
),
quiet => 1,
propname => $name,
propvalue => $value,
adjust_only => $self->{update},
);
lib/SVK/I18N/i_default.po view on Meta::CPAN
msgstr ""
#: lib/SVK/Command.pod:335
msgid "-r [--revision] arg: ARG (some commands also take ARG1:ARG2 range)"
msgstr ""
#: lib/SVK/Command.pod:336
msgid "-r [--revision] arg: act on revision ARG instead of the head revision"
msgstr ""
#: lib/SVK/Command/Propedit.pm:74 lib/SVK/Command/Propset.pm:139
msgid "-r not allowed for propset copath.\n"
msgstr ""
#: lib/SVK/Command.pod:337
msgid "-s [--skipto] REV: start synchronization at revision REV"
msgstr ""
#: lib/SVK/Command.pod:338
msgid "-s [--summarize]: show summary only"
msgstr ""
lib/SVK/I18N/i_default.po view on Meta::CPAN
#: lib/SVK/Command/Merge.pm:159
msgid "Can't merge with specified revisions with smart merge.\n"
msgstr ""
#: lib/SVK/Mirror/Backend/SVNRa.pm:241
#. ($self->source_path, $source_path)
msgid "Can't relocate: mirror subdirectory changed from %1 to %2.\n"
msgstr ""
#: lib/SVK/Command/Propset.pm:166
msgid "Can't set svn:eol-style on depotpath.\n"
msgstr ""
#: lib/SVK/Command/Commit.pm:115
msgid "Can't use -F with -m.\n"
msgstr ""
#: lib/SVK/Command/Commit.pm:266
msgid "Can't use set-revprop with remote repository.\n"
msgstr ""
lib/SVK/I18N/i_default.po view on Meta::CPAN
#: lib/SVK/Command.pm:1032
#. (loc($action)
msgid "Enter a depot path to %1 into: [%2] "
msgstr ""
#: lib/SVK/Command.pod:373
msgid "Environment variables:"
msgstr ""
#: lib/SVK/Command/Propset.pm:150
#. ($target->report)
msgid "File %1 has inconsistent newlines.\n"
msgstr ""
#: lib/SVK/Editor/InteractiveStatus.pm:531
#. ($self->{path})
msgid "File '%1' is marked for addition"
msgstr ""
#: lib/SVK/Editor/InteractiveStatus.pm:836
lib/SVK/I18N/i_default.po view on Meta::CPAN
#: lib/SVK/Command/Proplist.pm:111
#. (length $target->report ? $target->report : '.')
msgid "Properties on %1:\n"
msgstr ""
#: lib/SVK/Editor/Merge.pm:939
#. ($propname, $path)
msgid "Property %1 of %2"
msgstr ""
#: lib/SVK/Command/Propset.pm:96
#. ($propname, $rev)
msgid "Property '%1' deleted from repository revision %2."
msgstr ""
#: lib/SVK/Command/Propset.pm:93
#. ($propname, $rev)
msgid "Property '%1' set on repository revision %2."
msgstr ""
#: lib/SVK/Editor/InteractiveStatus.pm:1015
#. ($path)
msgid "Property change on '%1' directory requested"
msgstr ""
#: lib/SVK/Editor/InteractiveStatus.pm:901
lib/SVK/I18N/i_default.po view on Meta::CPAN
#. ($path)
#. ($copath)
msgid "path %1 already exists"
msgstr ""
#: lib/SVK/Editor/Checkout.pm:125
#. ($path)
msgid "path %1 does not exist"
msgstr ""
#: lib/SVK/Command/Diff.pm:122 lib/SVK/Command/Diff.pm:161 lib/SVK/Command/Diff.pm:97 lib/SVK/Command/Propset.pm:105
#. ($target->report)
#. ($target2->report)
#. ($target->path)
msgid "path %1 does not exist.\n"
msgstr ""
#: lib/SVK/.XD.pm.swp:46 lib/SVK/XD.pm:489 lib/SVK/XD.pm:492 lib/SVK/XD.pm:577
#. ($copath)
#. ($report)
msgid "path %1 is not a checkout path.\n"
lib/SVK/I18N/i_default.po view on Meta::CPAN
#: lib/SVK/Command.pod:578
msgid "proplist - List all properties on files or dirs"
msgstr ""
#: lib/SVK/Command.pod:579
msgid "proplist PATH..."
msgstr ""
#: lib/SVK/Command.pod:580
msgid "propset - Set a property on path"
msgstr ""
#: lib/SVK/Command.pod:581
msgid "propset PROPNAME PROPVAL [DEPOTPATH | PATH...]"
msgstr ""
#: lib/SVK/Command.pod:582
msgid "pull - Bring changes from another repository"
msgstr ""
#: lib/SVK/Command.pod:583
msgid "pull DEPOTPATH"
msgstr ""
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
msgstr "-r [--revision] REV: æå®è¦å¤ççæ´å¨ç¼å·èå´"
#: lib/SVK/Command.pod:335
msgid "-r [--revision] arg: ARG (some commands also take ARG1:ARG2 range)"
msgstr ""
#: lib/SVK/Command.pod:336
msgid "-r [--revision] arg: act on revision ARG instead of the head revision"
msgstr "-r [--revision] arg: æå®è¦å¤ççæ´å¨ç¼å·ï¼é¢è®¾ä¸ºææ°çæ¬"
#: lib/SVK/Command/Propedit.pm:74 lib/SVK/Command/Propset.pm:139
msgid "-r not allowed for propset copath.\n"
msgstr ""
#: lib/SVK/Command.pod:337
msgid "-s [--skipto] REV: start synchronization at revision REV"
msgstr "-s [--skipto] REV: æå®å¼å§åæ¥çæ´å¨ç¼å·"
#: lib/SVK/Command.pod:338
msgid "-s [--summarize]: show summary only"
msgstr "-s [--summarize]: ä»
æ¾ç¤ºæè¦ä¿¡æ¯"
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
#: lib/SVK/Command/Merge.pm:159
msgid "Can't merge with specified revisions with smart merge.\n"
msgstr ""
#. ($self->source_path, $source_path)
#: lib/SVK/Mirror/Backend/SVNRa.pm:241
msgid "Can't relocate: mirror subdirectory changed from %1 to %2.\n"
msgstr "æ æ³éæ°æåï¼æ åè·¯å¾å·²ä» %1 æ¹ä¸º %2ã\n"
#: lib/SVK/Command/Propset.pm:166
msgid "Can't set svn:eol-style on depotpath.\n"
msgstr "æ æ³è®¾å®æ¡£æ¡åºè·¯å¾ç svn:eol-style 屿§ã\n"
#: lib/SVK/Command/Commit.pm:115
msgid "Can't use -F with -m.\n"
msgstr "æ æ³åæ¶æå® -F å -mã\n"
#: lib/SVK/Command/Commit.pm:266
msgid "Can't use set-revprop with remote repository.\n"
msgstr ""
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
#. (loc($action)
#: lib/SVK/Command.pm:1032
msgid "Enter a depot path to %1 into: [%2] "
msgstr "è¦%1å°çæ¡£æ¡åºè·¯å¾åç§°ï¼[%2]"
#: lib/SVK/Command.pod:373
msgid "Environment variables:"
msgstr "ç¯å¢åæ°ï¼"
#. ($target->report)
#: lib/SVK/Command/Propset.pm:150
msgid "File %1 has inconsistent newlines.\n"
msgstr "æ¡£æ¡ %1 æä¸ä¸è´çæ¢è¡ç¬¦å·ã\n"
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:531
msgid "File '%1' is marked for addition"
msgstr ""
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:836
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
#: lib/SVK/Command/Proplist.pm:111
msgid "Properties on %1:\n"
msgstr "%1 ç屿§å表ï¼\n"
#. ($propname, $path)
#: lib/SVK/Editor/Merge.pm:939
msgid "Property %1 of %2"
msgstr "%2 ç %1 屿§"
#. ($propname, $rev)
#: lib/SVK/Command/Propset.pm:96
msgid "Property '%1' deleted from repository revision %2."
msgstr "å·²å 餿´å¨ç¼å· %2 ç屿§â%1âã"
#. ($propname, $rev)
#: lib/SVK/Command/Propset.pm:93
msgid "Property '%1' set on repository revision %2."
msgstr "å·²è®¾å®æ´å¨ç¼å· %2 ç屿§â%1âã"
#. ($path)
#: lib/SVK/Editor/InteractiveStatus.pm:1015
msgid "Property change on '%1' directory requested"
msgstr "å·²è¦æ±ç®å½â%1âç屿§æ´å¨"
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:901
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
#. ($path)
#: lib/SVK/Editor/Checkout.pm:125
msgid "path %1 does not exist"
msgstr "è·¯å¾ %1 ä¸åå¨ã"
#. ($target->report)
#. ($target2->report)
#. ($target->path)
#: lib/SVK/Command/Diff.pm:122 lib/SVK/Command/Diff.pm:161
#: lib/SVK/Command/Diff.pm:97 lib/SVK/Command/Propset.pm:105
msgid "path %1 does not exist.\n"
msgstr "è·¯å¾ %1 ä¸åå¨ã\n"
#. ($copath)
#. ($report)
#: lib/SVK/.XD.pm.swp:46 lib/SVK/XD.pm:489 lib/SVK/XD.pm:492 lib/SVK/XD.pm:577
msgid "path %1 is not a checkout path.\n"
msgstr "è·¯å¾ %1 䏿¯å·²ååºçè·¯å¾ã\n"
#. ($dst->report)
lib/SVK/I18N/zh_cn.po view on Meta::CPAN
#: lib/SVK/Command.pod:578
msgid "proplist - List all properties on files or dirs"
msgstr "proplist - ååºæ¡£æ¡æç®å½çææå±æ§"
#: lib/SVK/Command.pod:579
msgid "proplist PATH..."
msgstr "proplist è·¯å¾..."
#: lib/SVK/Command.pod:580
msgid "propset - Set a property on path"
msgstr "propset - 设å®è·¯å¾çæé¡¹å±æ§"
#: lib/SVK/Command.pod:581
msgid "propset PROPNAME PROPVAL [DEPOTPATH | PATH...]"
msgstr "propset 屿§åç§° 屿§å¼ [æ¡£æ¡åºè·¯å¾ | è·¯å¾...]"
#: lib/SVK/Command.pod:582
msgid "pull - Bring changes from another repository"
msgstr "pull - æåè¿ç¨æ¡£æ¡åºéçæ´å¨"
#: lib/SVK/Command.pod:583
msgid "pull DEPOTPATH"
msgstr "pull æ¡£æ¡åºè·¯å¾"
#: lib/SVK/Command.pod:584
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
msgstr "-r [--revision] REV: æå®è¦èççæ´åç·¨èç¯å"
#: lib/SVK/Command.pod:335
msgid "-r [--revision] arg: ARG (some commands also take ARG1:ARG2 range)"
msgstr ""
#: lib/SVK/Command.pod:336
msgid "-r [--revision] arg: act on revision ARG instead of the head revision"
msgstr "-r [--revision] arg: æå®è¦èççæ´åç·¨èï¼é è¨çºææ°çæ¬"
#: lib/SVK/Command/Propedit.pm:74 lib/SVK/Command/Propset.pm:139
msgid "-r not allowed for propset copath.\n"
msgstr ""
#: lib/SVK/Command.pod:337
msgid "-s [--skipto] REV: start synchronization at revision REV"
msgstr "-s [--skipto] REV: æå®éå§åæ¥çæ´åç·¨è"
#: lib/SVK/Command.pod:338
msgid "-s [--summarize]: show summary only"
msgstr "-s [--summarize]: å
顯示æè¦è³è¨"
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
#: lib/SVK/Command/Merge.pm:159
msgid "Can't merge with specified revisions with smart merge.\n"
msgstr ""
#. ($self->source_path, $source_path)
#: lib/SVK/Mirror/Backend/SVNRa.pm:241
msgid "Can't relocate: mirror subdirectory changed from %1 to %2.\n"
msgstr "ç¡æ³éæ°æåï¼æ å°è·¯å¾å·²å¾ %1 æ¹çº %2ã\n"
#: lib/SVK/Command/Propset.pm:166
msgid "Can't set svn:eol-style on depotpath.\n"
msgstr "ç¡æ³è¨å®æªæ¡åº«è·¯å¾ç svn:eol-style 屬æ§ã\n"
#: lib/SVK/Command/Commit.pm:115
msgid "Can't use -F with -m.\n"
msgstr "ç¡æ³åææå® -F å -mã\n"
#: lib/SVK/Command/Commit.pm:266
msgid "Can't use set-revprop with remote repository.\n"
msgstr ""
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
#. (loc($action)
#: lib/SVK/Command.pm:1032
msgid "Enter a depot path to %1 into: [%2] "
msgstr "è¦%1å°çæªæ¡åº«è·¯å¾å稱ï¼[%2]"
#: lib/SVK/Command.pod:373
msgid "Environment variables:"
msgstr "ç°å¢è®æ¸ï¼"
#. ($target->report)
#: lib/SVK/Command/Propset.pm:150
msgid "File %1 has inconsistent newlines.\n"
msgstr "æªæ¡ %1 æä¸ä¸è´çæè¡ç¬¦èã\n"
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:531
msgid "File '%1' is marked for addition"
msgstr ""
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:836
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
#: lib/SVK/Command/Proplist.pm:111
msgid "Properties on %1:\n"
msgstr "%1 ç屬æ§å表ï¼\n"
#. ($propname, $path)
#: lib/SVK/Editor/Merge.pm:939
msgid "Property %1 of %2"
msgstr "%2 ç %1 屬æ§"
#. ($propname, $rev)
#: lib/SVK/Command/Propset.pm:96
msgid "Property '%1' deleted from repository revision %2."
msgstr "å·²åªé¤æ´åç·¨è %2 ç屬æ§ã%1ãã"
#. ($propname, $rev)
#: lib/SVK/Command/Propset.pm:93
msgid "Property '%1' set on repository revision %2."
msgstr "å·²è¨å®æ´åç·¨è %2 ç屬æ§ã%1ãã"
#. ($path)
#: lib/SVK/Editor/InteractiveStatus.pm:1015
msgid "Property change on '%1' directory requested"
msgstr "å·²è¦æ±ç®éã%1ãçå±¬æ§æ´å"
#. ($self->{path})
#: lib/SVK/Editor/InteractiveStatus.pm:901
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
#. ($path)
#: lib/SVK/Editor/Checkout.pm:125
msgid "path %1 does not exist"
msgstr "è·¯å¾ %1 ä¸åå¨ã"
#. ($target->report)
#. ($target2->report)
#. ($target->path)
#: lib/SVK/Command/Diff.pm:122 lib/SVK/Command/Diff.pm:161
#: lib/SVK/Command/Diff.pm:97 lib/SVK/Command/Propset.pm:105
msgid "path %1 does not exist.\n"
msgstr "è·¯å¾ %1 ä¸åå¨ã\n"
#. ($copath)
#. ($report)
#: lib/SVK/.XD.pm.swp:46 lib/SVK/XD.pm:489 lib/SVK/XD.pm:492 lib/SVK/XD.pm:577
msgid "path %1 is not a checkout path.\n"
msgstr "è·¯å¾ %1 䏿¯å·²ååºçè·¯å¾ã\n"
#. ($dst->report)
lib/SVK/I18N/zh_tw.po view on Meta::CPAN
#: lib/SVK/Command.pod:578
msgid "proplist - List all properties on files or dirs"
msgstr "proplist - ååºæªæ¡æç®éçææå±¬æ§"
#: lib/SVK/Command.pod:579
msgid "proplist PATH..."
msgstr "proplist è·¯å¾..."
#: lib/SVK/Command.pod:580
msgid "propset - Set a property on path"
msgstr "propset - è¨å®è·¯å¾çæé
屬æ§"
#: lib/SVK/Command.pod:581
msgid "propset PROPNAME PROPVAL [DEPOTPATH | PATH...]"
msgstr "propset 屬æ§å稱 屬æ§å¼ [æªæ¡åº«è·¯å¾ | è·¯å¾...]"
#: lib/SVK/Command.pod:582
msgid "pull - Bring changes from another repository"
msgstr "pull - æåé ç«¯æªæ¡åº«è£¡çæ´å"
#: lib/SVK/Command.pod:583
msgid "pull DEPOTPATH"
msgstr "pull æªæ¡åº«è·¯å¾"
#: lib/SVK/Command.pod:584
lib/SVK/XD.pm view on Meta::CPAN
# determine whether the path is binary
my $bin = q{};
if ( ref $newprop && $newprop->{'svn:mime-type'} ) {
$bin = ' - (bin)' if !mimetype_is_text( $newprop->{'svn:mime-type'} );
}
$logger->info( "$st $report$bin");
}
sub do_propset {
my ($self, $target, %arg) = @_;
my ($entry, $schedule) = $self->get_entry($target->copath);
$entry->{'.newprop'} ||= {};
if ( $schedule ne 'add' && !$arg{'adjust_only'} ) {
my $xdroot = $target->create_xd_root;
my ( $source_path, $source_root )
= $self->_copy_source( $entry, $target->copath, $xdroot );
$source_path ||= $target->path_anchor;
$source_root ||= $xdroot;
t/04merge.t view on Meta::CPAN
overwrite_file (copath ("/A/foo"), "foobar\n");
overwrite_file (copath ("/A/bar"), "foobarbazzz\n");
$svk->add (copath ('A'));
$svk->ps ('svn:keywords', 'Rev', copath ("A/foo"));
$svk->commit ('-m', 'commit message here (r1)', $copath);
$svk->copy ('-m', 'branch', '//A', '//B');
append_file (copath ('/A/foo'), "\nsome more foobar\nzz\n");
$svk->propset ('someprop', 'propvalue', copath ("A/foo"));
$svk->commit ('-m', 'commit message here (r3)', $copath);
$svk->update ('-r', 1, $copath);
overwrite_file (copath ("A/foo"), "some local mods\nfoobar\n");
is_output ($svk, 'update', [$copath],
["Syncing //(/) in $corpath to 3.",
status_native ($copath,
'GU ', 'A/foo',
'A ', 'B',
t/07smerge-multi.t view on Meta::CPAN
$svk->commit ('-m', 'more change on trunk', "$copath");
append_file ("$copath/trunk/test.pl", q|
END {
}
|);
$svk->commit ('-m', 'more change on trunk', "$copath");
$svk->propset ('someprop', 'propvalue', "$copath/trunk/test.pl");
$svk->status ($copath);
$svk->commit ('-m', 'and some prop', "$copath");
$svk->copy ('-m', 'branch //work', '//trunk', '//work');
$svk->update ($copath);
system {$^X} ($^X, "-pi.bak", "-e", "s/is main/is local main/", "$copath/work/test.pl");
$svk->commit ('-m', 'local mod', "$copath/work");
t/07smerge.t view on Meta::CPAN
'Empty merge.'], 'merge up - empty');
$svk->update ($scopath);
append_file ("$scopath/A/be", "more modification on trunk\n");
mkdir "$scopath/A/newdir";
mkdir "$scopath/A/newdir2";
overwrite_file ("$scopath/A/newdir/deepnewfile", "new file added on source\n");
overwrite_file ("$scopath/A/newfile", "new file added on source\n");
overwrite_file ("$scopath/A/newfile2", "new file added on source\n");
$svk->add (map {"$scopath/A/$_"} qw/newdir newdir2 newfile newfile2/);
append_file ("$scopath/A/Q/qz", "file appened on source\n");
$svk->propset ("bzz", "newprop", "$scopath/A/Q/qz");
$svk->propset ("bzz", "newprop", "$scopath/A/Q/qu");
$svk->commit ('-m', 'commit on trunk', $scopath);
$svk->sync ('//m');
$svk->update ($copath);
overwrite_file ("$copath/newfile", "new file added on source\n");
overwrite_file ("$copath/newfile2", "new file added on source\nalso on local\n");
mkdir ("$copath/newdir");
$svk->add ("$copath/newfile");
append_file ("$copath/be", "modification on local\n");
append_file ("$copath/Q/qu", "modified on local\n");
t/09cmerge.t view on Meta::CPAN
$svk->commit ('-m', 'more change on trunk', "$copath");
append_file ("$copath/trunk/test.pl", q|
END {
}
|);
$svk->commit ('-m', 'more change on trunk', "$copath");
$svk->propset ('someprop', 'propvalue', "$copath/trunk/test.pl");
$svk->status ($copath);
$svk->commit ('-m', 'and some prop', "$copath");
$svk->copy ('-m', 'branch //work', '//trunk', '//work');
$svk->update ($copath);
replace_file("$copath/work/test.pl", 'is main' => 'is local main');
$svk->commit ('-m', 'local mod', "$copath/work");
unlink ('A/exe');
$svk->revert ('A/exe');
ok (_x('A/exe'));
mkdir ('Ai');
overwrite_file ("Ai/foo", "foobar");
overwrite_file ("Ai/bar", "foobar");
overwrite_file ("Ai/tilde~", "foobar");
$svk->add ('-N', 'Ai');
$svk->propset ('svn:ignore', 'f*', 'Ai');
is_output ($svk, 'add', ['Ai'],
[map __($_), 'A Ai/bar']);
$svk->revert ('-R', 'Ai');
$svk->add ('-N', 'Ai');
$svk->propset ('svn:ignore', 'f*', 'Ai');
is_output ($svk, 'add', ['Ai/foo', 'Ai/tilde~', 'Ai/bar'],
[map __($_), 'A Ai/bar', 'A Ai/foo', 'A Ai/tilde~']);
$svk->commit ('-m', 'commit');
is_output ($svk, 'ls', ['//Ai'], ['bar', 'foo', 'tilde~']);
# auto-prop
use File::Temp qw/tempdir/;
my $dir = tempdir ( CLEANUP => 1 );
overwrite_file (File::Spec->catfile ($dir, 'servers'), '');
overwrite_file (File::Spec->catfile ($dir, 'config'), << "EOF");
t/23commit-inter-nav.t view on Meta::CPAN
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'status', [],
[__('A A/deep'),
__('A A/deep/baz'),
__('A A/deep/la'),
__('A A/deep/la/no'),
__('A A/deep/mas')], 'skip subdirectory');
#our $show_prompt_output = 1;
$svk->propset('roch', 'miata', 'A/deep');
$answer = [[q{
[1/6] Directory 'A/deep' is marked for addition:
[a]ccept, [s]kip this change,
[A]ccept changes to whole subdirectory > }, 'a'],[q{
[2/6] File 'A/deep/baz' is marked for addition:
[a]ccept, [s]kip this change,
move to [p]revious change > }, 'a'],[q{
[3/6] Directory 'A/deep/la' is marked for addition:
[a]ccept, [s]kip this change,
[A]ccept changes to whole subdirectory,
t/23commit-inter-nav.t view on Meta::CPAN
[1/3] File 'A/deep/mas' is marked for addition:
[a]ccept, [s]kip this change > }, 's'],[q{Property change on A/deep
___________________________________________________________________
Name: roch
+miata
[2/2] Property change on 'A/deep' directory requested:
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name,
move to [p]revious change > }, 'a'],'stop'];
$svk->propset('tada', 'bob', 'A/deep/mas');
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
# XXX: this should show info about property
is_output ($svk, 'status', [],
[__('A A/deep/mas')], 'skip file with property');
is_output ($svk, 'diff', [],
['=== A/deep/mas',
'==================================================================',
"--- A/deep/mas\t(revision 3)",
"+++ A/deep/mas\t(local)",
t/23commit-inter-nav.t view on Meta::CPAN
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name [k]> }, 's'],[q{Property change on A/deep/mas
___________________________________________________________________
Name: tada
+bob
[2/2] Property change on 'A/deep/mas' file requested:
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name,
move to [p]revious change > }, 'a'],'stop'];
$svk->propset('bata', 'rob', 'A/deep/mas');
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'diff', [],
['',
'Property changes on: A/deep/mas',
'___________________________________________________________________',
'Name: bata',
' +rob',
''], 'skip only one property');
t/23commit-inter-nav.t view on Meta::CPAN
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name [a]> }, 'c'],[q{Property change on A/deep/mas
___________________________________________________________________
Name: zoot
+wex
[2/2] Property change on 'A/deep/mas' file requested:
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name,
move to [p]revious change > }, 's'],'stop'];
$svk->propset('bata', 'koro', 'A/deep');
$svk->propset('zoot', 'wex', 'A/deep/mas');
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'diff', [],
['',
'Property changes on: A/deep/mas',
'___________________________________________________________________',
'Name: zoot',
' +wex',
''], 'skip all \'bata\' properties');
overwrite_file_raw ("A/deep/mas", "wy\nkra\nkal\n");
$svk->propset('parra', 'kok', 'A/deep/mas');
$answer = [[qq{--- A/deep/mas\t(revision 6)
+++ A/deep/mas\t(local)}.q{
@@ -0,2 +0,2 @@
-po
+wy
kra
czny
[1/4] Modification to 'A/deep/mas' file:
[a]ccept, [s]kip this change,
[A]ccept, [S]kip the rest of changes to this file,
t/23commit-inter-nav.t view on Meta::CPAN
[2/2] Modification to 'A/foo' file:
[a]ccept, [s]kip this change,
[A]ccept, [S]kip the rest of changes to this file,
move to [p]revious change > }, 's'],'stop'];
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'status', [],
[__('M A/foo')], 'commit all changes to content and properties');
$svk->revert("A/foo");
$svk->propset('parra', 'kok', '.');
$answer = [[q{Property change on
___________________________________________________________________
Name: parra
+kok
[1/1] Property change on '.' directory requested:
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name > }, 's'],'stop'];
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'diff', [],
['',
'Property changes on: ',
'___________________________________________________________________',
'Name: parra',
' +kok',
''], 'skip change to root directory');
$svk->propset('parra', 'kok', '.');
$answer = [[q{Property change on
___________________________________________________________________
Name: parra
+kok
[1/1] Property change on '.' directory requested:
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip changes to all properties with that name > }, 'a'],'stop'];
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
t/23commit-inter-nav.t view on Meta::CPAN
['=== A/foo',
'==================================================================',
"--- A/foo\t(revision 9)",
"+++ A/foo\t(local)",
'@@ -1,2 +1,3 @@',
'-foobar',
'+za',
' grab',
'+ione'], 'skiped content change to directly passed file');
$svk->propset('papa', 'mot', 'A/foo');
overwrite_file_raw ("A/foo", "za\ngrab\nione\n");
$answer = [[qq{--- foo\t(revision 9)
+++ foo\t(local)}.q{
@@ -0,1 +0,1 @@
-foobar
+za
grab
[1/3] Modification to 'foo' file:
[a]ccept, [s]kip this change,
t/23commit-inter-nav.t view on Meta::CPAN
[1/1] Modification to 'A/foo' file:
[a]ccept, [s]kip this change,
[A]ccept, [S]kip the rest of changes to this file > }, 'a'],'stop'];
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'status', [],
[__('C A/deep/baz'),
__('C A/deep/mas')], 'multiple conflicts- skip');
$svk->revert('A/deep/baz', 'A/deep/mas');
$svk->propset('svn:mime-type', 'faked/type', 'A/deep/mas');
overwrite_file_raw ("A/deep/mas", "baran\nkoza\nowca\n");
$show_prompt=1;
$answer = [[q{
[1/2] Modifications to binary file 'A/deep/mas':
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip rest of changes to this file and its properties > }, 'c'],'stop'];
is_output($svk, 'commit', ['--interactive', '-m', 'foo'],
['',
'[1/2] Modifications to binary file \'A/deep/mas\':',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip rest of changes to this file and its properties > ',
'Committed revision 14.'],
'replace file with binary one - output');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'status', [], [], 'replace file with binary one');
$svk->propset('svn:mime-type', 'text/plain', 'A/deep/mas');
overwrite_file_raw ("A/deep/mas", "krowa\nkoza\n");
$show_prompt=0;
$answer = [[q{
[1/2] Modifications to binary file 'A/deep/mas':
[a]ccept, [s]kip this change,
a[c]cept, s[k]ip rest of changes to this file and its properties > }, 'a'],[q{Property change on A/deep/mas
___________________________________________________________________
Name: svn:mime-type
-faked/type
+text/plain
t/23commit-inter-nav.t view on Meta::CPAN
[3/3] Modification to 'A/deep/mas' file:
[a]ccept, [s]kip this change,
[A]ccept, [S]kip the rest of changes to this file,
move to [p]revious change > }, 'a'],'stop'];
$svk->commit('--interactive', '-m', 'foo');
is_deeply($answer, ['stop'], 'all answers used');
is_output ($svk, 'status', [], [], 'replace text file with text one');
#our $show_prompt_output=1;
$svk->propset('kox', 'ob', 'A/deep');
overwrite_file_raw ("A/deep/mas", "mleczna\nkrowa\n");
$answer = [[qq{--- A/deep/mas\t(revision 16)
+++ A/deep/mas\t(local)}.q{
@@ -0,4 +0,4 @@
-byk
+mleczna
krowa
bawol
koza
kaczka
t/23commit-inter-output.t view on Meta::CPAN
overwrite_file ("A/aj", "foobar");
overwrite_file ("A/ow", "foobar");
is_output ($svk, 'commit', ['--interactive'], ['No targets to commit.'], 'commit - no target');
$answer = [('a') x 11];
$svk->add ('A');
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Committed revision 1.'], 'initial commit');
overwrite_file ("A/foo", "alfa\nbeta\nfoobar\ngamma\ndelta");
$svk->propset('one', "multi\nline", 'A/foo');
$svk->propset('two', "", 'A/foo');
overwrite_file ("A/foox", "pies\nfoo\nkot");
$svk->propset('three', "multi\nline\n", 'A/foox');
overwrite_file ("A/bar", "alfa\nfoobar\nbeta");
overwrite_file ("A/deep/baz", "");
$svk->propset('four', "max", 'A/deep/baz');
$svk->propset('five', "min", 'A/deep/baz');
overwrite_file ("A/deep/la/no", "\n");
$svk->propset('six', "re\n", 'A/deep/la/no');
overwrite_file ("A/deep/mas", "ten");
$svk->propset('seven', "wol", 'A/aj');
$svk->propset('eight', "wer", 'A/aj');
$svk->propset('nine', "owy", 'A/ow');
$answer = [('a') x 18];
#our $DEBUG = 1;
$show_prompt = 1; #Begin interactive mode.
is_output ($svk, 'commit', ['--interactive', '-m', 'foo2'],
['Property change on A/aj',
'___________________________________________________________________',
'Name: eight',
t/23commit-inter-output.t view on Meta::CPAN
' +owy',
'',
'[18/18] Property change on \'A/ow\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name,',
'move to [p]revious change > ',
'Committed revision 2.'],
'file modifications - output');
$svk->rm("A/deep/la");
$svk->propset('one', "multi\nline", 'A/deep');
$svk->rm("A/foox");
$svk->mkdir('A/deep/tra');
$svk->propset('one', "multi\nline", 'A/deep/tra');
$svk->propset('two', "", 'A/deep/tra');
$svk->mkdir('A/deep/tra/bant');
$svk->propset('one', "multi\nline", 'A/deep/tra/bant');
$svk->mkdir('A/deep/tra/per');
$answer = [('a') x 9];
is_output ($svk, 'commit', ['--interactive', '-m', 'foo2'],
['',
'[1/9] File or directory \'A/deep/la\' is marked for deletion:',
'[a]ccept, [s]kip this change > ',
'',
'[2/9] Directory \'A/deep/tra\' is marked for addition:',
'[a]ccept, [s]kip this change,',
t/23commit-inter-output.t view on Meta::CPAN
' -multi',
' -line',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 11.'],
'Prop del - no nl at end');
$answer = ['a'];
$svk->propset('one', 'zenum\n', 'A/foo');
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Property change on A/foo',
'___________________________________________________________________',
'Name: one',
' +zenum\n',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 12.'],
t/23commit-inter-output.t view on Meta::CPAN
'___________________________________________________________________',
'Name: one',
' -zenum\n',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 13.'],
'Prop del - nl at end');
$svk->propset('one', "por\n", 'A/foo');
$svk->commit('-m', 'baz');
$answer = ['a'];
$svk->propset('one', "rapaport", 'A/foo');
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Property change on A/foo',
'___________________________________________________________________',
'Name: one',
' -por',
' +rapaport',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 15.'],
'Prop set - nl at end -> no nl at end');
$answer = ['a'];
$svk->propset('one', "mar\n", 'A/foo');
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Property change on A/foo',
'___________________________________________________________________',
'Name: one',
' -rapaport',
' +mar',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
t/23commit-inter-output.t view on Meta::CPAN
'+0',
'\ No newline at end of file',
'',
'[1/1] Modification to \'A/foo\' file:',
'[a]ccept, [s]kip this change,',
'[A]ccept, [S]kip the rest of changes to this file > ',
'Committed revision 19.'],
'File diff - change to "0"');
}
$svk->propset('one', "0", 'A/foo');
$answer = ['a'];
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Property change on A/foo',
'___________________________________________________________________',
'Name: one',
' -mar',
' +0',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 20.'],
'Prop diff - change to "0"');
$svk->propset('one', "data", 'A/foo');
$answer = ['a'];
is_output ($svk, 'commit', ['--interactive', '-m', 'foo'],
['Property change on A/foo',
'___________________________________________________________________',
'Name: one',
' -0',
' +data',
'',
'[1/1] Property change on \'A/foo\' file requested:',
'[a]ccept, [s]kip this change,',
'a[c]cept, s[k]ip changes to all properties with that name > ',
'Committed revision 21.'],
'Prop diff - change from "0"');
# test for bug where svn:keywords or svn:eol-style could make svk revert
# skipped changes
is_output($svk, propset => ['svn:keywords', 'Id', 'A/bar'],
[__(' M A/bar')]);
overwrite_file("A/bar", "\$Id\$\nalfa\nfoobar\nbeta\n");
is_output($svk, commit => ['-m', 'set keywords', 'A/bar'], ['Committed revision 22.']);
overwrite_file("A/bar", "\$Id\$\nalfa\nskip this insert\nfoobar\naccept this insert\nbeta\n");
is_output($svk, diff => ['A/bar'],
[__('=== A/bar'),
chdir ($copath);
mkdir ('A');
overwrite_file ("A/foo", "foobar\nfnord\n");
overwrite_file ("A/bar", "foobar\n");
overwrite_file ("A/nor", "foobar\n");
$svk->add ('A');
$svk->commit ('-m', 'init');
overwrite_file ("A/binary", "foobar\nfnord\n");
$svk->add ('A/binary');
$svk->propset ('svn:mime-type', 'image/png', 'A/binary');
is_output ($svk, 'diff', ['//asdf-non'],
['Revision required.']);
is_output ($svk, 'diff', ['//asdf-non', 'A/binary'],
['path //asdf-non does not exist.']);
is_output ($svk, 'diff', ['A/binary', '//asdf-non'],
['Invalid arguments.']);
is_output ($svk, 'diff', ['//asdf-non', '//'],
['path //asdf-non does not exist.']);
is_output ($svk, 'diff', [],
['=== A/binary',
'',
'=== A/baz',
'==================================================================',
"--- A/baz\t(revision 3)",
"+++ A/baz\t(local)",
'@@ -1 +0,0 @@',
'-foobar'], 'recursive delete_entry');
$svk->revert ('-R', 'A');
$svk->update;
$svk->propset ('svn:mime-type', 'image/jpg', 'A/binary');
is_output ($svk, 'diff', [],
['',
'Property changes on: A/binary',
'___________________________________________________________________',
'Name: svn:mime-type',
' -image/png',
' +image/jpg',
'']);
$svk->commit('-m', 'Property changes for A/binary.');
is_output ($svk, 'diff', ['-r4:3'],
t/29update-props.t view on Meta::CPAN
qr" \+>>>> YOUR VERSION Property prop of A \(/trunk\) \d+",
qr" \+another-value==== ORIGINAL VERSION Property prop of A \d+",
qr" \+==== THEIR VERSION Property prop of A \(/trunk\) \d+",
qr" \+value<<<< \d+",
" +",
"",
] );
# TODO: test resolved command, test ps command
}
# flush to required state: revert, update to revision before propset on //trunk
sub flush_co {
$svk->revert('-R', $copath);
$svk->up($copath);
$svk->up('-r3', $copath);
is_output($svk, 'up', ['-C', $copath], [
#XXX, TODO: why it's corpath instead copath?
"Syncing //trunk(/trunk) in $corpath to 4.",
__(" U $copath/me"),
] );
is_output($svk, 'st', [$copath], [
t/34revprop.t view on Meta::CPAN
is_output(
$svk, 'propget', ['-r' => 1, '--revprop', 'svn:log'],
['log1']
);
is_output(
$svk, 'propget', ['-r' => 2, '--revprop', 'svn:log'],
['log2']
);
is_output(
$svk, 'propset', ['--quiet', '-r2', '--revprop', 'svn:log', 'log2.new'],
[ ]
);
is_output(
$svk, 'propset', ['-r2', '--revprop', 'svn:log', 'log2.new'],
["Property 'svn:log' set on repository revision 2."]
);
is_output(
$svk, 'propget', ['-r2', '--revprop', 'svn:log'],
['log2.new']
);
is_output(
$svk, 'propdel', ['-q', '-r2', '--revprop', 'svn:log'],
[ ]
t/74chgspec.t view on Meta::CPAN
$svk->commit ('-m', 'more change on trunk', "$copath");
append_file ("$copath/trunk/test.pl", q|
END {
}
|);
$svk->commit ('-m', 'more change on trunk', "$copath");
$svk->propset ('someprop', 'propvalue', "$copath/trunk/test.pl");
$svk->status ($copath);
$svk->commit ('-m', 'and some prop', "$copath");
$svk->copy ('-m', 'branch //work', '//trunk', '//work');
$svk->update ($copath);
replace_file("$copath/work/test.pl", 'is main' => 'is local main');
$svk->commit ('-m', 'local mod', "$copath/work");
t/bm/merge.t view on Meta::CPAN
$svk->mirror('//mirror/MyProject', $uri);
$svk->sync('//mirror/MyProject');
my ($copath, $corpath) = get_copath ('bm-merge');
$svk->checkout('//mirror/MyProject/trunk',$copath);
chdir($copath);
is_output_like ($svk, 'branch', ['--create', 'feature/foo','--switch-to'], qr'Project branch created: feature/foo');
overwrite_file ('A/be', "\nsome more foobar\nzz\n");
$svk->propset ('someprop', 'propvalue', 'A/be');
$svk->commit ('-m', 'commit message here (r8)','');
my $branch_foo = '/mirror/MyProject/branches/feature/foo';
my $branch_bar = '/mirror/MyProject/branches/feature/bar';
my $trunk = '/mirror/MyProject/trunk';
is_output ($svk, 'smerge',
['-C', '//mirror/MyProject/branches/feature/foo', '//mirror/MyProject/trunk'],
["Auto-merging (0, 8) $branch_foo to $trunk (base $trunk:6).",
"Checking locally against mirror source $uri.", 'UU A/be',
t/bm/prop-multiproject.t view on Meta::CPAN
my ($copath, $corpath) = get_copath('prop-multiproject');
# set prop for project A
my $proppath = { 'trunk' => '/mirror/twoProject/projectA/trunk',
'branches' => '/mirror/twoProject/projectA/branches',
'tags' => '/mirror/twoProject/projectA/tags',
'hooks' => '/mirror/twoProject/projectA/hooks',
};
$svk->propset('-m', "- projectA trunk path set", 'svk:project:projectA:path-trunk',
$proppath->{trunk}, "//");
$svk->propset('-m', "- projectA branches path set", 'svk:project:projectA:path-branches',
$proppath->{branches}, "//");
$svk->propset('-m', "- projectA tags path set", 'svk:project:projectA:path-tags',
$proppath->{tags}, "//");
is_output ($svk, 'propget', ['svk:project:projectA:path-trunk', '//'], [$proppath->{trunk}]);
$svk->checkout('//mirror/twoProject/projectB', $copath); # checkout project B
chdir($copath);
# in checkout of project B, list
is_output ($svk, 'branch', ['--list'], ['Bar']);