mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-12-08 23:03:46 +00:00
1309 lines
62 KiB
Text
1309 lines
62 KiB
Text
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
|
|
.\"
|
|
.\" Standard preamble:
|
|
.\" ========================================================================
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
.if t .sp .5v
|
|
.if n .sp
|
|
..
|
|
.de Vb \" Begin verbatim text
|
|
.ft CW
|
|
.nf
|
|
.ne \\$1
|
|
..
|
|
.de Ve \" End verbatim text
|
|
.ft R
|
|
.fi
|
|
..
|
|
.\" Set up some character translations and predefined strings. \*(-- will
|
|
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
|
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
|
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
|
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
|
.\" nothing in troff, for use with C<>.
|
|
.tr \(*W-
|
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
|
.ie n \{\
|
|
. ds -- \(*W-
|
|
. ds PI pi
|
|
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
|
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
|
. ds L" ""
|
|
. ds R" ""
|
|
. ds C` ""
|
|
. ds C' ""
|
|
'br\}
|
|
.el\{\
|
|
. ds -- \|\(em\|
|
|
. ds PI \(*p
|
|
. ds L" ``
|
|
. ds R" ''
|
|
'br\}
|
|
.\"
|
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\"
|
|
.\" If the F register is turned on, we'll generate index entries on stderr for
|
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
|
.\" output yourself in some meaningful fashion.
|
|
.ie \nF \{\
|
|
. de IX
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
..
|
|
. nr % 0
|
|
. rr F
|
|
.\}
|
|
.el \{\
|
|
. de IX
|
|
..
|
|
.\}
|
|
.\"
|
|
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
|
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
|
. \" fudge factors for nroff and troff
|
|
.if n \{\
|
|
. ds #H 0
|
|
. ds #V .8m
|
|
. ds #F .3m
|
|
. ds #[ \f1
|
|
. ds #] \fP
|
|
.\}
|
|
.if t \{\
|
|
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
|
. ds #V .6m
|
|
. ds #F 0
|
|
. ds #[ \&
|
|
. ds #] \&
|
|
.\}
|
|
. \" simple accents for nroff and troff
|
|
.if n \{\
|
|
. ds ' \&
|
|
. ds ` \&
|
|
. ds ^ \&
|
|
. ds , \&
|
|
. ds ~ ~
|
|
. ds /
|
|
.\}
|
|
.if t \{\
|
|
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
|
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
|
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
|
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
|
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
|
.\}
|
|
. \" troff and (daisy-wheel) nroff accents
|
|
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
|
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
|
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
|
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
|
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
|
.ds ae a\h'-(\w'a'u*4/10)'e
|
|
.ds Ae A\h'-(\w'A'u*4/10)'E
|
|
. \" corrections for vroff
|
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
|
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
|
. \" for low resolution devices (crt and lpr)
|
|
.if \n(.H>23 .if \n(.V>19 \
|
|
\{\
|
|
. ds : e
|
|
. ds 8 ss
|
|
. ds o a
|
|
. ds d- d\h'-1'\(ga
|
|
. ds D- D\h'-1'\(hy
|
|
. ds th \o'bp'
|
|
. ds Th \o'LP'
|
|
. ds ae ae
|
|
. ds Ae AE
|
|
.\}
|
|
.rm #[ #] #H #V #F C
|
|
.\" ========================================================================
|
|
.\"
|
|
.IX Title "native::Client 3"
|
|
.TH native::Client 3 "2009-02-06" "perl v5.10.1" "User Contributed Perl Documentation"
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
.\" way too many mistakes in technical documents.
|
|
.if n .ad l
|
|
.nh
|
|
.SH "NAME"
|
|
SVN::Client \- Subversion client functions
|
|
.SH "SYNOPSIS"
|
|
.IX Header "SYNOPSIS"
|
|
.Vb 6
|
|
\& use SVN::Client;
|
|
\& my $ctx = new SVN::Client(
|
|
\& auth => [SVN::Client::get_simple_provider(),
|
|
\& SVN::Client::get_simple_prompt_provider(\e&simple_prompt,2),
|
|
\& SVN::Client::get_username_provider()]
|
|
\& );
|
|
\&
|
|
\& $ctx\->cat (\e*STDOUT, \*(Aqhttp://svn.collab.net/repos/svn/trunk/README\*(Aq,
|
|
\& \*(AqHEAD\*(Aq);
|
|
\&
|
|
\& sub simple_prompt {
|
|
\& my $cred = shift;
|
|
\& my $realm = shift;
|
|
\& my $default_username = shift;
|
|
\& my $may_save = shift;
|
|
\& my $pool = shift;
|
|
\&
|
|
\& print "Enter authentication info for realm: $realm\en";
|
|
\& print "Username: ";
|
|
\& my $username = <>;
|
|
\& chomp($username);
|
|
\& $cred\->username($username);
|
|
\& print "Password: ";
|
|
\& my $password = <>;
|
|
\& chomp($password);
|
|
\& $cred\->password($password);
|
|
\& }
|
|
.Ve
|
|
.SH "DESCRIPTION"
|
|
.IX Header "DESCRIPTION"
|
|
SVN::Client wraps the highest level of functions provided by
|
|
subversion to accomplish specific tasks in an object oriented \s-1API\s0.
|
|
Methods are similar to the functions provided by the C \s-1API\s0 and
|
|
as such the documentation for it may be helpful in understanding
|
|
this interface.
|
|
.PP
|
|
There are a few notable differences from the C \s-1API\s0. Most C function
|
|
calls take a svn_client_ctx_t pointer as the next to last parameter.
|
|
The Perl method calls take a SVN::Client object as the first parameter.
|
|
This allows method call invocation of the methods to be possible. For
|
|
example, the following are equivalent:
|
|
.PP
|
|
.Vb 2
|
|
\& SVN::Client::add($ctx,$path, $recursive, $pool);
|
|
\& $ctx\->add($path, $recursive, $pool);
|
|
.Ve
|
|
.PP
|
|
Many of the C \s-1API\s0 calls also take a apr_pool_t pointer as their last
|
|
argument. The Perl bindings generally deal with this for you and
|
|
you do not need to pass a pool parameter. However, you may still
|
|
pass a pool parameter as the last parameter to override the automatic
|
|
handling of this for you.
|
|
.PP
|
|
Users of this interface should not directly manipulate the underlying hash
|
|
values but should use the respective attribute methods. Many of these
|
|
attribute methods do other things, especially when setting an attribute,
|
|
besides simply manipulating the value in the hash.
|
|
.SH "PARAMETER NOTES"
|
|
.IX Header "PARAMETER NOTES"
|
|
The client methods described below take a variety of parameters. Many of
|
|
them are similar. Methods accepting parameters named below will follow
|
|
the rules below or will be noted otherwise in the method description.
|
|
.ie n .IP "$ctx" 4
|
|
.el .IP "\f(CW$ctx\fR" 4
|
|
.IX Item "$ctx"
|
|
An SVN::Client object that you get from the constructor.
|
|
.ie n .IP "$url" 4
|
|
.el .IP "\f(CW$url\fR" 4
|
|
.IX Item "$url"
|
|
This is a \s-1URL\s0 to a subversion repository.
|
|
.ie n .IP "$path" 4
|
|
.el .IP "\f(CW$path\fR" 4
|
|
.IX Item "$path"
|
|
This is a path to a file or directory on the local file system.
|
|
.ie n .IP "$paths" 4
|
|
.el .IP "\f(CW$paths\fR" 4
|
|
.IX Item "$paths"
|
|
This argument can either be a single path to a file or directory on the local
|
|
file system, or it can be a reference to an array of files or directories on
|
|
the local file system.
|
|
.ie n .IP "$target" 4
|
|
.el .IP "\f(CW$target\fR" 4
|
|
.IX Item "$target"
|
|
This is a path to a file or directory in a working copy or a \s-1URL\s0 to a file or
|
|
directory in a subversion repository.
|
|
.ie n .IP "$targets" 4
|
|
.el .IP "\f(CW$targets\fR" 4
|
|
.IX Item "$targets"
|
|
This argument can either be a single \f(CW$target\fR (as defined above) or a reference
|
|
to an array of them.
|
|
.ie n .IP "$revision" 4
|
|
.el .IP "\f(CW$revision\fR" 4
|
|
.IX Item "$revision"
|
|
This specifies a revision in the subversion repository. You can specify a
|
|
revision in several ways. The easiest and most obvious is to directly
|
|
provide the revision number. You may also use the strings (aka revision
|
|
keywords) '\s-1HEAD\s0', '\s-1BASE\s0', '\s-1COMMITTED\s0', and '\s-1PREV\s0' which have the same
|
|
meanings as in the command line client. When referencing a working copy
|
|
you can use the string '\s-1WORKING\s0" to reference the \s-1BASE\s0 plus any local
|
|
modifications. undef may be used to specify an unspecified revision.
|
|
Finally you may pass a date by specifying the date inside curly braces
|
|
\&'{}'. The date formats accepted are the same as the command line client
|
|
accepts.
|
|
.ie n .IP "$recursive $nonrecursive." 4
|
|
.el .IP "\f(CW$recursive\fR \f(CW$nonrecursive\fR." 4
|
|
.IX Item "$recursive $nonrecursive."
|
|
A boolean parameter that specifies if the action should follow directories. It
|
|
should only be 1 or 0. \f(CW$recursive\fR means, 1 means to descend into directories,
|
|
0 means not to. \f(CW$nonrecursive\fR has the inverse meaning.
|
|
.ie n .IP "$pool" 4
|
|
.el .IP "\f(CW$pool\fR" 4
|
|
.IX Item "$pool"
|
|
Pool is always an option parameter. If you wish to pass a pool parameter it
|
|
should be a SVN::Pool or an apr_pool_t object.
|
|
.SH "METHODS"
|
|
.IX Header "METHODS"
|
|
The following methods are available:
|
|
.ie n .IP "$ctx = SVN::Client\->new( %options );" 4
|
|
.el .IP "\f(CW$ctx\fR = SVN::Client\->new( \f(CW%options\fR );" 4
|
|
.IX Item "$ctx = SVN::Client->new( %options );"
|
|
This class method constructs a new \f(CW\*(C`SVN::Client\*(C'\fR object and returns
|
|
a reference to it.
|
|
.Sp
|
|
Key/value pair arguments may be provided to set up the initial state
|
|
of the user agent. The following methods correspond to attribute
|
|
methods described below:
|
|
.Sp
|
|
.Vb 5
|
|
\& KEY DEFAULT
|
|
\& \-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\& auth auth_baton initiated with providers that
|
|
\& read cached authentication options from
|
|
\& the subversion config only.
|
|
\&
|
|
\& cancel undef
|
|
\&
|
|
\& config Hash containing the config from the
|
|
\& default subversion config file location.
|
|
\&
|
|
\& log_msg undef
|
|
\&
|
|
\& notify undef
|
|
\&
|
|
\& pool A new pool is created for the context.
|
|
.Ve
|
|
.ie n .IP "$ctx\->add($path, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->add($path, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->add($path, $recursive, $pool);"
|
|
Schedule a working copy \f(CW$path\fR for addition to the repository.
|
|
.Sp
|
|
\&\f(CW$path\fR's parent must be under revision control already, but \f(CW$path\fR is not.
|
|
If \f(CW$recursive\fR is set, then assuming \f(CW$path\fR is a directory, all of its
|
|
contents will be scheduled for addition as well.
|
|
.Sp
|
|
Calls the notify callback for each added item.
|
|
.Sp
|
|
Important: this is a \fBscheduling\fR operation. No changes will happen
|
|
to the repository until a commit occurs. This scheduling can be
|
|
removed with \f(CW$ctx\fR\->\fIrevert()\fR.
|
|
.Sp
|
|
No return.
|
|
.ie n .IP "$ctx\->blame($target, $start, $end, \e&receiver, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->blame($target, \f(CW$start\fR, \f(CW$end\fR, \e&receiver, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->blame($target, $start, $end, &receiver, $pool);"
|
|
Invoke \e&receiver subroutine on each line-blame item associated with revision
|
|
\&\f(CW$end\fR of \f(CW$target\fR, using \f(CW$start\fR as the default source of all blame.
|
|
.Sp
|
|
An Error will be raised if either \f(CW$start\fR or \f(CW$end\fR is undef.
|
|
.Sp
|
|
No return.
|
|
.Sp
|
|
The blame receiver subroutine receives the following arguments:
|
|
\&\f(CW$line_no\fR, \f(CW$revision\fR, \f(CW$author\fR, \f(CW$date\fR, \f(CW$line\fR, \f(CW$pool\fR
|
|
.Sp
|
|
\&\f(CW$line_no\fR is the line number of the file (starting with 0).
|
|
The line was last changed in revision number \f(CW$revision\fR
|
|
by \f(CW$author\fR on \f(CW$date\fR and the contents were \f(CW$line\fR.
|
|
.Sp
|
|
The blame receiver subroutine can return an svn_error_t object
|
|
to return an error. All other returns will be ignored.
|
|
You can create an svn_error_t object with \fISVN::Error::create()\fR.
|
|
.ie n .IP "$ctx\->cat(\e*FILEHANDLE, $target, $revision, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->cat(\e*FILEHANDLE, \f(CW$target\fR, \f(CW$revision\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->cat(*FILEHANDLE, $target, $revision, $pool);"
|
|
Outputs the content of the file identified by \f(CW$target\fR and \f(CW$revision\fR to the
|
|
\&\s-1FILEHANDLE\s0. \s-1FILEHANDLE\s0 is a reference to a filehandle.
|
|
.Sp
|
|
If \f(CW$target\fR is not a local path and if \f(CW$revision\fR is '\s-1PREV\s0' (or some
|
|
other kind that requires a local path), then an error will be raised,
|
|
because the desired revision can not be determined.
|
|
.ie n .IP "$ctx\->checkout($url, $path, $revision, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->checkout($url, \f(CW$path\fR, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->checkout($url, $path, $revision, $recursive, $pool);"
|
|
Checkout a working copy of \f(CW$url\fR at \f(CW$revision\fR using \f(CW$path\fR as the root directory
|
|
of the newly checked out working copy.
|
|
.Sp
|
|
\&\f(CW$revision\fR must be a number, '\s-1HEAD\s0', or a date. If \f(CW$revision\fR does not
|
|
meet these requirements the \f(CW$SVN::Error::CLIENT_BAD_REVISION\fR is raised.
|
|
.Sp
|
|
Returns the value of the revision actually checked out of the repository.
|
|
.ie n .IP "$ctx\->cleanup($dir, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->cleanup($dir, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->cleanup($dir, $pool);"
|
|
Recursively cleanup a working copy directory, \f(CW$dir\fR, finishing any incomplete
|
|
operations, removing lockfiles, etc.
|
|
.ie n .IP "$ctx\->commit($targets, $nonrecursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->commit($targets, \f(CW$nonrecursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->commit($targets, $nonrecursive, $pool);"
|
|
Commit files or directories referenced by target. Will use the log_msg
|
|
callback to obtain the log message for the commit.
|
|
.Sp
|
|
If \f(CW$targets\fR contains no paths (zero elements), then does nothing and
|
|
immediately returns without error.
|
|
.Sp
|
|
Calls the notify callback as the commit progresses with any of the following
|
|
actions: \f(CW$SVN::Wc::Notify::Action::commit_modified\fR,
|
|
\&\f(CW$SVN::Wc::Notify::Action::commit_added\fR,
|
|
\&\f(CW$SVN::Wc::Notify::Action::commit_deleted\fR,
|
|
\&\f(CW$SVN::Wc::Notify::Action::commit_replaced\fR,
|
|
\&\f(CW$SVN::Wc::Notify::Action::commit_postfix_txdelta\fR.
|
|
.Sp
|
|
Use \f(CW$nonrecursive\fR to indicate that subdirectories of directory targets
|
|
should be ignored.
|
|
.Sp
|
|
Returns a svn_client_commit_info_t object. If the revision member of the
|
|
commit information object is \f(CW$SVN::Core::INVALID_REVNUM\fR and no error was
|
|
raised, then the commit was a no-op; nothing needed to be committed.
|
|
.ie n .IP "$ctx\->copy($src_target, $src_revision, $dst_target, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->copy($src_target, \f(CW$src_revision\fR, \f(CW$dst_target\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->copy($src_target, $src_revision, $dst_target, $pool);"
|
|
Copies \f(CW$src_target\fR to \f(CW$dst_target\fR.
|
|
.Sp
|
|
\&\f(CW$src_target\fR must be a file or directory under version control, or the \s-1URL\s0
|
|
of a versioned item in the repository. If \f(CW$src_target\fR is a \s-1URL\s0,
|
|
\&\f(CW$src_revision\fR is used to choose the revision from which to copy the
|
|
\&\f(CW$src_target\fR. \f(CW$dst_path\fR must be a file or directory under version control,
|
|
or a repository \s-1URL\s0, existing or not.
|
|
.Sp
|
|
If \f(CW$dst_target\fR is a \s-1URL\s0, immediately attempt to commit the copy action
|
|
to the repository. The log_msg callback will be called to query for a commit
|
|
log message. If the commit succeeds, return a svn_client_commit_info_t
|
|
object.
|
|
.Sp
|
|
If \f(CW$dst_target\fR is not a \s-1URL\s0, then this is just a variant of \f(CW$ctx\fR\->\fIadd()\fR,
|
|
where the \f(CW$dst_path\fR items are scheduled for addition as copies. No changes
|
|
will happen to the repository until a commit occurs. This scheduling can be
|
|
removed with \f(CW$ctx\fR\->\fIrevert()\fR. undef will be returned in this case.
|
|
.Sp
|
|
Calls the notify callback for each item added at the new location, passing
|
|
the new, relative path of the added item.
|
|
.ie n .IP "$ctx\->delete($targets, $force, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->delete($targets, \f(CW$force\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->delete($targets, $force, $pool);"
|
|
Delete items from a repository or working copy.
|
|
.Sp
|
|
If the paths in \f(CW$targets\fR are URLs, immediately attempt to commit a deletion
|
|
of the URLs from the repository. The log_msg callback will be called to
|
|
query for a commit log message. If the commit succeeds, return a
|
|
svn_client_commit_info_t object. Every path must belong to the same
|
|
repository.
|
|
.Sp
|
|
Else, schedule the working copy paths in \f(CW$targets\fR for removal from the
|
|
repository. Each path's parent must be under revision control. This is
|
|
just a \fBscheduling\fR operation. No changes will happen to the repository
|
|
until a commit occurs. This scheduling can be removed with \f(CW$ctx\fR\->\fIrevert()\fR.
|
|
If a path is a file it is immediately removed from the working copy. If
|
|
the path is a directory it will remain in the working copy but all the files,
|
|
and all unversioned items it contains will be removed. If \f(CW$force\fR is not set
|
|
then this operation will fail if any path contains locally modified and/or
|
|
unversioned items. If \f(CW$force\fR is set such items will be deleted.
|
|
.Sp
|
|
The notify callback is called for each item deleted with the path of
|
|
the deleted item.
|
|
.Sp
|
|
Has no return.
|
|
.ie n .IP "$ctx\->diff($diff_options, $target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, $no_diff_deleted, $outfile, $errfile, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->diff($diff_options, \f(CW$target1\fR, \f(CW$revision1\fR, \f(CW$target2\fR, \f(CW$revision2\fR, \f(CW$recursive\fR, \f(CW$ignore_ancestry\fR, \f(CW$no_diff_deleted\fR, \f(CW$outfile\fR, \f(CW$errfile\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->diff($diff_options, $target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, $no_diff_deleted, $outfile, $errfile, $pool);"
|
|
Produces diff output which describes the delta between \f(CW$target1\fR at
|
|
\&\f(CW$revision1\fR and \f(CW$target2\fR at \f(CW$revision2\fR. They both must represent the same
|
|
node type (i.e. they most both be directories or files). The revisions
|
|
must not be undef.
|
|
.Sp
|
|
Prints the output of the diff to the filename or filehandle passed as
|
|
\&\f(CW$outfile\fR, and any errors to the filename or filehandle passed as \f(CW$errfile\fR.
|
|
.Sp
|
|
Use \f(CW$ignore_ancestry\fR to control whether or not items being diffed will be
|
|
checked for relatedness first. Unrelated items are typically transmitted to
|
|
the editor as a deletion of one thing and the addition of another, but if this
|
|
flag is true, unrelated items will be diffed as if they were related.
|
|
.Sp
|
|
If \f(CW$no_diff_deleted\fR is true, then no diff output will be generated on deleted
|
|
files.
|
|
.Sp
|
|
\&\f(CW$diff_options\fR is a reference to an array of additional arguments to pass to
|
|
diff process invoked to compare files. You'll usually just want to use [] to
|
|
pass an empty array to return a unified context diff (like `diff \-u`).
|
|
.Sp
|
|
Has no return.
|
|
.ie n .IP "$ctx\->diff_summarize($target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, \e&summarize_func, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->diff_summarize($target1, \f(CW$revision1\fR, \f(CW$target2\fR, \f(CW$revision2\fR, \f(CW$recursive\fR, \f(CW$ignore_ancestry\fR, \e&summarize_func, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->diff_summarize($target1, $revision1, $target2, $revision2, $recursive, $ignore_ancestry, &summarize_func, $pool);"
|
|
Produce a diff summary which lists the changed items between \f(CW$target1\fR
|
|
at \f(CW$revision1\fR and \f(CW$target2\fR at \f(CW$revision2\fR without creating text deltas.
|
|
\&\f(CW$target1\fR and \f(CW$target2\fR can be either working-copy paths or URLs.
|
|
.Sp
|
|
The function may report false positives if \f(CW$ignore_ancestry\fR is false,
|
|
since a file might have been modified between two revisions, but still
|
|
have the same contents.
|
|
.Sp
|
|
Calls \e&summarize_func with with a svn_client_diff_summarize_t structure
|
|
describing the difference.
|
|
.Sp
|
|
See \fIdiff()\fR for a description of the other parameters.
|
|
.Sp
|
|
Has no return.
|
|
.ie n .IP "$ctx\->export($from, $to, $revision, $force, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->export($from, \f(CW$to\fR, \f(CW$revision\fR, \f(CW$force\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->export($from, $to, $revision, $force, $pool);"
|
|
Export the contents of either a subversion repository or a subversion
|
|
working copy into a 'clean' directory (meaning a directory with no
|
|
administrative directories).
|
|
.Sp
|
|
\&\f(CW$from\fR is either the path to the working copy on disk, or a \s-1URL\s0
|
|
to the repository you wish to export.
|
|
.Sp
|
|
\&\f(CW$to\fR is the path to the directory where you wish to create the exported
|
|
tree.
|
|
.Sp
|
|
\&\f(CW$revision\fR is the revision that should be exported, which is only used
|
|
when exporting from a repository. It may be undef otherwise.
|
|
.Sp
|
|
The notify callback will be called for the items exported.
|
|
.Sp
|
|
Returns the value of the revision actually exported or
|
|
\&\f(CW$SVN::Core::INVALID_REVNUM\fR for local exports.
|
|
.ie n .IP "$ctx\->import($path, $url, $nonrecursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->import($path, \f(CW$url\fR, \f(CW$nonrecursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->import($path, $url, $nonrecursive, $pool);"
|
|
Import file or directory \f(CW$path\fR into repository directory \f(CW$url\fR at head.
|
|
.Sp
|
|
If some components of \f(CW$url\fR do not exist then create parent directories
|
|
as necessary.
|
|
.Sp
|
|
If \f(CW$path\fR is a directory, the contents of that directory are imported
|
|
directly into the directory identified by \f(CW$url\fR. Note that the directory
|
|
\&\f(CW$path\fR itself is not imported; that is, the basename of \f(CW$path\fR is not part
|
|
of the import.
|
|
.Sp
|
|
If \f(CW$path\fR is a file, then the dirname of \f(CW$url\fR is the directory receiving the
|
|
import. The basename of \f(CW$url\fR is the filename in the repository. In this case
|
|
if \f(CW$url\fR already exists, raise an error.
|
|
.Sp
|
|
The notify callback (if defined) will be called as the import progresses, with
|
|
any of the following actions: \f(CW$SVN::Wc::Notify::Action::commit_added\fR,
|
|
\&\f(CW$SVN::Wc::Notify::Action::commit_postfix_txdelta\fR.
|
|
.Sp
|
|
Use \f(CW$nonrecursive\fR to indicate that imported directories should not recurse
|
|
into any subdirectories they may have.
|
|
.Sp
|
|
Uses the log_msg callback to determine the log message for the commit when
|
|
one is needed.
|
|
.Sp
|
|
Returns a svn_client_commit_info_t object.
|
|
.ie n .IP "$ctx\->log($targets, $start, $end, $discover_changed_paths, $strict_node_history, \e&log_receiver, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->log($targets, \f(CW$start\fR, \f(CW$end\fR, \f(CW$discover_changed_paths\fR, \f(CW$strict_node_history\fR, \e&log_receiver, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->log($targets, $start, $end, $discover_changed_paths, $strict_node_history, &log_receiver, $pool);"
|
|
Invoke the log_receiver subroutine on each log_message from \f(CW$start\fR to \f(CW$end\fR in
|
|
turn, inclusive (but will never invoke receiver on a given log message more
|
|
than once).
|
|
.Sp
|
|
\&\f(CW$targets\fR is a reference to an array containing all the paths or URLs for
|
|
which the log messages are desired. The log_receiver is only invoked on
|
|
messages whose revisions involved a change to some path in \f(CW$targets\fR.
|
|
.Sp
|
|
If \f(CW$discover_changed_paths\fR is set, then the changed_paths argument to the
|
|
log_receiver routine will be passed on each invocation.
|
|
.Sp
|
|
If \f(CW$strict_node_history\fR is set, copy history (if any exists) will not be
|
|
traversed while harvesting revision logs for each target.
|
|
.Sp
|
|
If \f(CW$start\fR or \f(CW$end\fR is undef the arp_err code will be set to:
|
|
\&\f(CW$SVN::Error::CLIENT_BAD_REVISION\fR.
|
|
.Sp
|
|
Special case for repositories at revision 0:
|
|
.Sp
|
|
If \f(CW$start\fR is '\s-1HEAD\s0' and \f(CW$end\fR is 1, then handle an empty (no revisions)
|
|
repository specially: instead of erroring because requested revision 1
|
|
when the highest revision is 0, just invoke \f(CW$log_receiver\fR on revision 0,
|
|
passing undef to changed paths and empty strings for the author and date.
|
|
This is because that particular combination of \f(CW$start\fR and \f(CW$end\fR usually indicates
|
|
the common case of log invocation; the user wants to see all log messages from
|
|
youngest to oldest, where the oldest commit is revision 1. That works fine,
|
|
except there are no commits in the repository, hence this special case.
|
|
.Sp
|
|
Calls the notify subroutine with a \f(CW$SVN::Wc::Notify::Action::skip\fR signal on any
|
|
unversioned targets.
|
|
.Sp
|
|
The log_receiver takes the following arguments:
|
|
\&\f(CW$changed_paths\fR, \f(CW$revision\fR, \f(CW$author\fR, \f(CW$date\fR, \f(CW$message\fR, \f(CW$pool\fR
|
|
.Sp
|
|
It is called once for each log \f(CW$message\fR from the \f(CW$revision\fR
|
|
on \f(CW$date\fR by \f(CW$author\fR. \f(CW$author\fR, \f(CW$date\fR or \f(CW$message\fR may be undef.
|
|
.Sp
|
|
If \f(CW$changed_paths\fR is defined it references a hash with the keys
|
|
every path committed in \f(CW$revision\fR; the values are svn_log_changed_path_t
|
|
objects.
|
|
.ie n .IP "$ctx\->ls($target, $revision, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->ls($target, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->ls($target, $revision, $recursive, $pool);"
|
|
Returns a hash of svn_dirent_t objects for \f(CW$target\fR at \f(CW$revision\fR.
|
|
.Sp
|
|
If \f(CW$target\fR is a directory, returns entries for all of the directories'
|
|
contents. If \f(CW$recursive\fR is true, it will recurse subdirectories in \f(CW$target\fR.
|
|
.Sp
|
|
If \f(CW$target\fR is a file only return an entry for the file.
|
|
.Sp
|
|
If \f(CW$target\fR is non-existent, raises the \f(CW$SVN::Error::FS_NOT_FOUND\fR
|
|
error.
|
|
.ie n .IP "$ctx\->merge($src1, $rev1, $src2, $rev2, $target_wcpath, $recursive, $ignore_ancestry, $force, $dry_run, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->merge($src1, \f(CW$rev1\fR, \f(CW$src2\fR, \f(CW$rev2\fR, \f(CW$target_wcpath\fR, \f(CW$recursive\fR, \f(CW$ignore_ancestry\fR, \f(CW$force\fR, \f(CW$dry_run\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->merge($src1, $rev1, $src2, $rev2, $target_wcpath, $recursive, $ignore_ancestry, $force, $dry_run, $pool);"
|
|
Merge changes from \f(CW$src1\fR/$rev1 to \f(CW$src2\fR/$rev2 into the working-copy path
|
|
\&\f(CW$target_wcpath\fR.
|
|
.Sp
|
|
\&\f(CW$src1\fR and \f(CW$src2\fR are either URLs that refer to entries in the repository, or
|
|
paths to entries in the working copy.
|
|
.Sp
|
|
By 'merging', we mean: apply file differences and schedule additions &
|
|
deletions when appropriate.
|
|
.Sp
|
|
\&\f(CW$src1\fR and \f(CW$src2\fR must both represent the same node kind; that is, if \f(CW$src1\fR
|
|
is a directory, \f(CW$src2\fR must also be, and if \f(CW$src1\fR is a file, \f(CW$src2\fR must also be.
|
|
.Sp
|
|
If either \f(CW$rev1\fR or \f(CW$rev2\fR is undef raises the \f(CW$SVN::Error::CLIENT_BAD_REVISION\fR
|
|
error.
|
|
.Sp
|
|
If \f(CW$recursive\fR is true (and the URLs are directories), apply changes recursively;
|
|
otherwise, only apply changes in the current directory.
|
|
.Sp
|
|
Use \f(CW$ignore_ancestry\fR to control whether or not items being diffed will be
|
|
checked for relatedness first. Unrelated items are typically transmitted
|
|
to the editor as a deletion of one thing and the addition of another, but
|
|
if this flag is true, unrelated items will be diffed as if they were related.
|
|
.Sp
|
|
If \f(CW$force\fR is not set and the merge involves deleting locally modified or
|
|
unversioned items the operation will raise an error. If \f(CW$force\fR is set such
|
|
items will be deleted.
|
|
.Sp
|
|
Calls the notify callback once for each merged target, passing the targets
|
|
local path.
|
|
.Sp
|
|
If \f(CW$dry_run\fR is true the merge is carried out, and the full notification
|
|
feedback is provided, but the working copy is not modified.
|
|
.Sp
|
|
Has no return.
|
|
.ie n .IP "$ctx\->mkdir($targets, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->mkdir($targets, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->mkdir($targets, $pool);"
|
|
Create a directory, either in a repository or a working copy.
|
|
.Sp
|
|
If \f(CW$targets\fR contains URLs, immediately attempts to commit the creation of the
|
|
directories in \f(CW$targets\fR in the repository. Returns a svn_client_commit_info_t
|
|
object.
|
|
.Sp
|
|
Else, create the directories on disk, and attempt to schedule them for addition.
|
|
In this case returns undef.
|
|
.Sp
|
|
Calls the notify callback when the directory has been created (successfully)
|
|
in the working copy, with the path of the new directory. Note this is only
|
|
called for items added to the working copy.
|
|
.ie n .IP "$ctx\->move($src_path, $src_revision, $dst_path, $force, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->move($src_path, \f(CW$src_revision\fR, \f(CW$dst_path\fR, \f(CW$force\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->move($src_path, $src_revision, $dst_path, $force, $pool);"
|
|
Move \f(CW$src_path\fR to \f(CW$dst_path\fR.
|
|
.Sp
|
|
\&\f(CW$src_path\fR must be a file or directory under version control, or the \s-1URL\s0
|
|
of a versioned item in the repository.
|
|
.Sp
|
|
If \f(CW$src_path\fR is a repository \s-1URL:\s0
|
|
.Sp
|
|
* \f(CW$dst_path\fR must also be a repository \s-1URL\s0 (existent or not).
|
|
.Sp
|
|
* \f(CW$src_revision\fR is used to choose the revision from which to copy the
|
|
\&\f(CW$src_path\fR.
|
|
.Sp
|
|
* The log_msg callback will be called for the commit log message.
|
|
.Sp
|
|
* The move operation will be immediately committed. If the commit succeeds,
|
|
returns a svn_client_commit_info_t object.
|
|
.Sp
|
|
If \f(CW$src_path\fR is a working copy path
|
|
.Sp
|
|
* \f(CW$dst_path\fR must also be a working copy path (existent or not).
|
|
.Sp
|
|
* \f(CW$src_revision\fR is ignored and may be undef. The log_msg callback will
|
|
not be called.
|
|
.Sp
|
|
* This is a scheduling operation. No changes will happen to the repository
|
|
until a commit occurs. This scheduling can be removed with \f(CW$ctx\fR\->\fIrevert()\fR.
|
|
If \f(CW$src_path\fR is a file it is removed from the working copy immediately.
|
|
If \f(CW$src_path\fR is a directory it will remain in the working copy but all
|
|
files, and unversioned items, it contains will be removed.
|
|
.Sp
|
|
* If \f(CW$src_path\fR contains locally modified and/or unversioned items and \f(CW$force\fR is
|
|
not set, the copy will raise an error. If \f(CW$force\fR is set such items will be
|
|
removed.
|
|
.Sp
|
|
The notify callback will be called twice for each item moved, once to
|
|
indicate the deletion of the moved node, and once to indicate the addition
|
|
of the new location of the node.
|
|
.ie n .IP "$ctx\->propget($propname, $target, $revision, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->propget($propname, \f(CW$target\fR, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->propget($propname, $target, $revision, $recursive, $pool);"
|
|
Returns a reference to a hash containing paths or URLs, prefixed by \f(CW$target\fR (a
|
|
working copy or \s-1URL\s0), of items for which the property \f(CW$propname\fR is set, and
|
|
whose values represent the property value for \f(CW$propname\fR at that path.
|
|
.ie n .IP "$ctx\->proplist($target, $revision, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->proplist($target, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->proplist($target, $revision, $recursive, $pool);"
|
|
Returns a reference to an array of svn_client_proplist_item_t objects.
|
|
.Sp
|
|
For each item the node_name member of the proplist_item object contains
|
|
the name relative to the same base as \f(CW$target\fR.
|
|
.Sp
|
|
If \f(CW$revision\fR is undef, then get properties from the working copy, if
|
|
\&\f(CW$target\fR is a working copy, or from the repository head if \f(CW$target\fR is a \s-1URL\s0.
|
|
Else get the properties as of \f(CW$revision\fR.
|
|
.Sp
|
|
If \f(CW$recursive\fR is false, or \f(CW$target\fR is a file, the returned array will only
|
|
contain a single element. Otherwise, it will contain one entry for each
|
|
versioned entry below (and including) \f(CW$target\fR.
|
|
.Sp
|
|
If \f(CW$target\fR is not found, raises the \f(CW$SVN::Error::ENTRY_NOT_FOUND\fR error.
|
|
.ie n .IP "$ctx\->propset($propname, $propval, $target, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->propset($propname, \f(CW$propval\fR, \f(CW$target\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->propset($propname, $propval, $target, $recursive, $pool);"
|
|
Set \f(CW$propname\fR to \f(CW$propval\fR on \f(CW$target\fR (a working copy or \s-1URL\s0 path).
|
|
.Sp
|
|
If \f(CW$recursive\fR is true, then \f(CW$propname\fR will be set recursively on \f(CW$target\fR
|
|
and all children. If \f(CW$recursive\fR is false, and \f(CW$target\fR is a directory,
|
|
\&\f(CW$propname\fR will be set on \fBonly\fR \f(CW$target\fR.
|
|
.Sp
|
|
A \f(CW$propval\fR of undef will delete the property.
|
|
.Sp
|
|
If \f(CW$propname\fR is an svn-controlled property (i.e. prefixed with svn:),
|
|
then the caller is responsible for ensuring that \f(CW$propval\fR is UTF8\-encoded
|
|
and uses \s-1LF\s0 line-endings.
|
|
.ie n .IP "$ctx\->relocate($dir, $from, $to, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->relocate($dir, \f(CW$from\fR, \f(CW$to\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->relocate($dir, $from, $to, $recursive, $pool);"
|
|
Modify a working copy directory \f(CW$dir\fR, changing any repository URLs that
|
|
begin with \f(CW$from\fR to begin with \f(CW$to\fR instead, recursing into subdirectories if
|
|
\&\f(CW$recursive\fR is true.
|
|
.Sp
|
|
Has no return.
|
|
.ie n .IP "$ctx\->resolved($path, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->resolved($path, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->resolved($path, $recursive, $pool);"
|
|
Removed the 'conflicted' state on a working copy path.
|
|
.Sp
|
|
This will not semantically resolve conflicts; it just allows \f(CW$path\fR to be
|
|
committed in the future. The implementation details are opaque. If
|
|
\&\f(CW$recursive\fR is set, recurse below \f(CW$path\fR, looking for conflicts to
|
|
resolve.
|
|
.Sp
|
|
If \f(CW$path\fR is not in a state of conflict to begin with, do nothing.
|
|
.Sp
|
|
If \f(CW$path\fR's conflict state is removed, call the notify callback with the
|
|
\&\f(CW$path\fR.
|
|
.ie n .IP "$ctx\->revert($paths, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->revert($paths, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->revert($paths, $recursive, $pool);"
|
|
Restore the pristine version of a working copy \f(CW$paths\fR, effectively undoing
|
|
any local mods.
|
|
.Sp
|
|
For each path in \f(CW$paths\fR, if it is a directory and \f(CW$recursive\fR
|
|
is true, this will be a recursive operation.
|
|
.ie n .IP "$ctx\->revprop_get($propname, $url, $revision, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->revprop_get($propname, \f(CW$url\fR, \f(CW$revision\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->revprop_get($propname, $url, $revision, $pool);"
|
|
Returns two values, the first of which is the value of \f(CW$propname\fR on revision
|
|
\&\f(CW$revision\fR in the repository represented by \f(CW$url\fR. The second value is the
|
|
actual revision queried.
|
|
.Sp
|
|
Note that unlike its cousin \f(CW$ctx\fR\->\fIpropget()\fR, this routine doesn't affect
|
|
working copy at all; it's a pure network operation that queries an
|
|
\&\fBunversioned\fR property attached to a revision. This can be used to query
|
|
log messages, dates, authors, and the like.
|
|
.ie n .IP "$ctx\->revprop_list($url, $revision, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->revprop_list($url, \f(CW$revision\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->revprop_list($url, $revision, $pool);"
|
|
Returns two values, the first of which is a reference to a hash containing
|
|
the properties attached to \f(CW$revision\fR in the repository represented by \f(CW$url\fR.
|
|
The second value is the actual revision queried.
|
|
.Sp
|
|
Note that unlike its cousin \f(CW$ctx\fR\->\fIproplist()\fR, this routine doesn't read a
|
|
working copy at all; it's a pure network operation that reads \fBunversioned\fR
|
|
properties attached to a revision.
|
|
.ie n .IP "$ctx\->revprop_set($propname, $propval, $url, $revision, $force, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->revprop_set($propname, \f(CW$propval\fR, \f(CW$url\fR, \f(CW$revision\fR, \f(CW$force\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->revprop_set($propname, $propval, $url, $revision, $force, $pool);"
|
|
Set \f(CW$propname\fR to \f(CW$propval\fR on revision \f(CW$revision\fR in the repository represented
|
|
by \f(CW$url\fR.
|
|
.Sp
|
|
Returns the actual revision affected. A \f(CW$propval\fR of undef will delete the
|
|
property.
|
|
.Sp
|
|
If \f(CW$force\fR is true, allow newlines in the author property.
|
|
.Sp
|
|
If \f(CW$propname\fR is an svn-controlled property (i.e. prefixed with svn:), then
|
|
the caller is responsible for ensuring that the value is UTF8\-encoded and
|
|
uses \s-1LF\s0 line-endings.
|
|
.Sp
|
|
Note that unlike its cousin \f(CW$ctx\fR\->\fIpropset()\fR, this routine doesn't affect
|
|
the working copy at all; it's a pure network operation that changes an
|
|
\&\fBunversioned\fR property attached to a revision. This can be used to tweak
|
|
log messages, dates, authors, and the like. Be careful: it's a lossy
|
|
operation, meaning that any existing value is replaced with the new value,
|
|
with no way to retrieve the prior value.
|
|
.Sp
|
|
Also note that unless the administrator creates a pre-revprop-change hook
|
|
in the repository, this feature will fail.
|
|
.ie n .IP "$ctx\->status($path, $revision, \e&status_func, $recursive, $get_all, $update, $no_ignore, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->status($path, \f(CW$revision\fR, \e&status_func, \f(CW$recursive\fR, \f(CW$get_all\fR, \f(CW$update\fR, \f(CW$no_ignore\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->status($path, $revision, &status_func, $recursive, $get_all, $update, $no_ignore, $pool);"
|
|
Given \f(CW$path\fR to a working copy directory (or single file), call \fIstatus_func()\fR
|
|
with a set of svn_wc_status_t objects which describe the status of \f(CW$path\fR and
|
|
its children.
|
|
.Sp
|
|
If \f(CW$recursive\fR is true, recurse fully, else do only immediate children.
|
|
.Sp
|
|
If \f(CW$get_all\fR is set, retrieve all entries; otherwise, retrieve only 'interesting'
|
|
entries (local mods and/or out-of-date).
|
|
.Sp
|
|
If \f(CW$update\fR is set, contact the repository and augment the status objects with
|
|
information about out-of-dateness (with respect to \f(CW$revision\fR). Also, will
|
|
return the value of the actual revision against with the working copy was
|
|
compared. (The return will be undef if \f(CW$update\fR is not set).
|
|
.Sp
|
|
The function recurses into externals definitions ('svn:externals') after
|
|
handling the main target, if any exist. The function calls the notify callback
|
|
with \f(CW$SVN::Wc::Notify::Action::status_external\fR action before handling each
|
|
externals definition, and with \f(CW$SVN::Wc::Notify::Action::status_completed\fR
|
|
after each.
|
|
.Sp
|
|
The status_func subroutine takes the following parameters:
|
|
\&\f(CW$path\fR, \f(CW$status\fR
|
|
.Sp
|
|
\&\f(CW$path\fR is the pathname of the file or directory which status is being
|
|
reported. \f(CW$status\fR is a svn_wc_status_t object.
|
|
.Sp
|
|
The return of the status_func subroutine is ignored.
|
|
.ie n .IP "$ctx\->info($path_or_url, $peg_revision, $revision, \e&receiver, $recurse);" 4
|
|
.el .IP "\f(CW$ctx\fR\->info($path_or_url, \f(CW$peg_revision\fR, \f(CW$revision\fR, \e&receiver, \f(CW$recurse\fR);" 4
|
|
.IX Item "$ctx->info($path_or_url, $peg_revision, $revision, &receiver, $recurse);"
|
|
Invokes \e&receiver passing it information about \f(CW$path_or_url\fR for \f(CW$revision\fR.
|
|
The information returned is system-generated metadata, not the sort of
|
|
\&\*(L"property\*(R" metadata created by users. For methods available on the object
|
|
passed to \e&receiver, \fBsee svn_info_t\fR.
|
|
.Sp
|
|
If both revision arguments are either svn_opt_revision_unspecified or \s-1NULL\s0,
|
|
then information will be pulled solely from the working copy; no network
|
|
connections will be made.
|
|
.Sp
|
|
Otherwise, information will be pulled from a repository. The actual node
|
|
revision selected is determined by the \f(CW$path_or_url\fR as it exists in
|
|
\&\f(CW$peg_revision\fR. If \f(CW$peg_revision\fR is undef, then it defaults to \s-1HEAD\s0 for URLs
|
|
or \s-1WORKING\s0 for \s-1WC\s0 targets.
|
|
.Sp
|
|
If \f(CW$path_or_url\fR is not a local path, then if \f(CW$revision\fR is \s-1PREV\s0 (or some other
|
|
kind that requires a local path), an error will be returned, because the
|
|
desired revision cannot be determined.
|
|
.Sp
|
|
Uses the authentication baton cached in ctx to authenticate against the
|
|
repository.
|
|
.Sp
|
|
If \f(CW$recurse\fR is true (and \f(CW$path_or_url\fR is a directory) this will be a recursive
|
|
operation, invoking \f(CW$receiver\fR on each child.
|
|
.Sp
|
|
.Vb 5
|
|
\& my $receiver = sub {
|
|
\& my( $path, $info, $pool ) = @_;
|
|
\& print "Current revision of $path is ", $info\->rev, "\en";
|
|
\& };
|
|
\& $ctx\->info( \*(Aqfoo/bar.c\*(Aq, undef, \*(AqWORKING\*(Aq, $receiver, 0 );
|
|
.Ve
|
|
.ie n .IP "$ctx\->switch($path, $url, $revision, $recursive, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->switch($path, \f(CW$url\fR, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->switch($path, $url, $revision, $recursive, $pool);"
|
|
Switch working tree \f(CW$path\fR to \f(CW$url\fR at \f(CW$revision\fR.
|
|
.Sp
|
|
\&\f(CW$revision\fR must be a number, '\s-1HEAD\s0', or a date, otherwise it raises the
|
|
\&\f(CW$SVN::Error::CLIENT_BAD_REVISION\fR error.
|
|
.Sp
|
|
Calls the notify callback on paths affected by the switch. Also invokes
|
|
the callback for files that may be restored from the text-base because they
|
|
were removed from the working copy.
|
|
.Sp
|
|
Summary of purpose: This is normally used to switch a working directory
|
|
over to another line of development, such as a branch or a tag. Switching
|
|
an existing working directory is more efficient than checking out \f(CW$url\fR from
|
|
scratch.
|
|
.Sp
|
|
Returns the value of the revision to which the working copy was actually
|
|
switched.
|
|
.ie n .IP "$ctx\->update($path, $revision, $recursive, $pool)" 4
|
|
.el .IP "\f(CW$ctx\fR\->update($path, \f(CW$revision\fR, \f(CW$recursive\fR, \f(CW$pool\fR)" 4
|
|
.IX Item "$ctx->update($path, $revision, $recursive, $pool)"
|
|
Update a working copy \f(CW$path\fR to \f(CW$revision\fR.
|
|
.Sp
|
|
\&\f(CW$revision\fR must be a revision number, '\s-1HEAD\s0', or a date or this method will
|
|
raise the \f(CW$SVN::Error::CLIENT_BAD_REVISION\fR error.
|
|
.Sp
|
|
Calls the notify callback for each item handled by the update, and
|
|
also for files restored from the text-base.
|
|
.Sp
|
|
Returns the revision to which the working copy was actually updated.
|
|
.ie n .IP "$ctx\->url_from_path($target, $pool); or SVN::Client::url_from_path($target, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->url_from_path($target, \f(CW$pool\fR); or SVN::Client::url_from_path($target, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->url_from_path($target, $pool); or SVN::Client::url_from_path($target, $pool);"
|
|
Returns the \s-1URL\s0 for \f(CW$target\fR.
|
|
.Sp
|
|
If \f(CW$target\fR is already a \s-1URL\s0 it returns \f(CW$target\fR.
|
|
.Sp
|
|
If \f(CW$target\fR is a versioned item, it returns \f(CW$target\fR's entry \s-1URL\s0.
|
|
.Sp
|
|
If \f(CW$target\fR is unversioned (has no entry), returns undef.
|
|
.ie n .IP "$ctx\->uuid_from_path($path, $adm_access, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->uuid_from_path($path, \f(CW$adm_access\fR, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->uuid_from_path($path, $adm_access, $pool);"
|
|
Return the repository uuid for working-copy \f(CW$path\fR, allocated in \f(CW$pool\fR.
|
|
.Sp
|
|
Use \f(CW$adm_access\fR to retrieve the uuid from \f(CW$path\fR's entry; if not present in the
|
|
entry, then call \f(CW$ctx\fR\->\fIuuid_from_url()\fR to retrieve, using the entry's \s-1URL\s0.
|
|
.Sp
|
|
Note: The only reason this function falls back on \f(CW$ctx\fR\->uuid_from_url is for
|
|
compatibility purposes. Old working copies may not have uuids in the entries
|
|
files.
|
|
.Sp
|
|
Note: This method probably doesn't work right now without a lot of pain,
|
|
because SVN::Wc is incomplete and it requires an adm_access object from it.
|
|
.ie n .IP "$ctx\->uuid_from_url($url, $pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->uuid_from_url($url, \f(CW$pool\fR);" 4
|
|
.IX Item "$ctx->uuid_from_url($url, $pool);"
|
|
Return repository uuid for url.
|
|
.SH "ATTRIBUTE METHODS"
|
|
.IX Header "ATTRIBUTE METHODS"
|
|
The following attribute methods are provided that allow you to set various
|
|
configuration or retrieve it. They all take value(s) to set the attribute and
|
|
return the new value of the attribute or no parameters which returns the
|
|
current value.
|
|
.ie n .IP "$ctx\->auth(\fISVN::Client::get_username_provider()\fR);" 4
|
|
.el .IP "\f(CW$ctx\fR\->auth(\fISVN::Client::get_username_provider()\fR);" 4
|
|
.IX Item "$ctx->auth(SVN::Client::get_username_provider());"
|
|
Provides access to the auth_baton in the svn_client_ctx_t attached to the
|
|
SVN::Client object.
|
|
.Sp
|
|
This method will accept an array or array ref of values returned from the
|
|
authentication provider functions see \*(L"\s-1AUTHENTICATION\s0 \s-1PROVIDERS\s0\*(R", which
|
|
it will convert to an auth_baton for you. This is the preferred method of
|
|
setting the auth_baton.
|
|
.Sp
|
|
It will also accept a scalar that references a _p_svn_auth_baton_t such as
|
|
those returned from SVN::Core::auth_open and SVN::Core::auth_open_helper.
|
|
.ie n .IP "$ctx\->notify(\e¬ify);" 4
|
|
.el .IP "\f(CW$ctx\fR\->notify(\e¬ify);" 4
|
|
.IX Item "$ctx->notify(¬ify);"
|
|
Sets the notify callback for the client context to a code reference that
|
|
you pass. It always returns the current codereference set.
|
|
.Sp
|
|
The subroutine pointed to by this reference will be called when a change
|
|
is made to the working copy. The return value of this function is ignored.
|
|
It's only purpose is to notify you of the change.
|
|
.Sp
|
|
The subroutine will receive 6 parameters. The first parameter will be the path
|
|
of the changed file (absolute or relative to the cwd). The second is an
|
|
integer specifying the type of action taken. See SVN::Wc for a list of the
|
|
possible actions values and what they mean. The 3rd is an integer specifying
|
|
the kind of node the path is, which can be: \f(CW$SVN::Node::none\fR, \f(CW$SVN::Node::file\fR,
|
|
\&\f(CW$SVN::Node::dir\fR, \f(CW$SVN::Node::unknown\fR. The fourth parameter is the mime-type of
|
|
the file or undef if the mime-type is unknown (it will always be undef for
|
|
directories). The 5th parameter is the state of the file, again see SVN::Wc
|
|
for a list of the possible states. The 6th and final parameter is the numeric
|
|
revision number of the changed file. The revision number will be \-1 except
|
|
when the action is \f(CW$SVN::Wc::Notify::Action::update_completed\fR.
|
|
.ie n .IP "$ctx\->log_msg(\e&log_msg)" 4
|
|
.el .IP "\f(CW$ctx\fR\->log_msg(\e&log_msg)" 4
|
|
.IX Item "$ctx->log_msg(&log_msg)"
|
|
Sets the log_msg callback for the client context to a code reference that you
|
|
pass. It always returns the current codereference set.
|
|
.Sp
|
|
The subroutine pointed to by this coderef will be called to get the log
|
|
message for any operation that will commit a revision to the repo.
|
|
.Sp
|
|
It receives 4 parameters. The first parameter is a reference to a scalar
|
|
value in which the callback should place the log_msg. If you wish to cancel
|
|
the commit you can set this scalar to undef. The 2nd value is a path to a
|
|
temporary file which might be holding that log message, or undef if no such
|
|
field exists (though, if log_msg is undef, this value is undefined). The
|
|
log message \fB\s-1MUST\s0\fR be a \s-1UTF8\s0 string with \s-1LF\s0 line separators. The 3rd parameter
|
|
is a reference to an array of svn_client_commit_item3_t objects, which may
|
|
be fully or only partially filled-in, depending on the type of commit
|
|
operation. The 4th and last parameter will be a pool.
|
|
.Sp
|
|
If the function wishes to return an error it should return a svn_error_t
|
|
object made with SVN::Error::create. Any other return value will be
|
|
interpreted as \s-1SVN_NO_ERROR\s0.
|
|
.ie n .IP "$ctx\->cancel(\e&cancel)" 4
|
|
.el .IP "\f(CW$ctx\fR\->cancel(\e&cancel)" 4
|
|
.IX Item "$ctx->cancel(&cancel)"
|
|
Sets the log_msg callback for the client context to a code reference that you
|
|
pass. It always returns the current codereference set.
|
|
.Sp
|
|
The subroutine pointed to by this value will be called to see if the operation
|
|
should be canceled. If the operation should be canceled, the function may
|
|
return one of the following values:
|
|
.Sp
|
|
An svn_error_t object made with SVN::Error::create.
|
|
.Sp
|
|
Any true value, in which case the bindings will generate an svn_error_t object
|
|
for you with the error code of \s-1SVN_ERR_CANCELLED\s0 and the string set to \*(L"By
|
|
cancel callback\*(R".
|
|
.Sp
|
|
A string, in which case the bindings will generate an svn_error_t object for you
|
|
with the error code of \s-1SVN_ERR_CANCELLED\s0 and the string set to the string you
|
|
returned.
|
|
.Sp
|
|
Any other value will be interpreted as wanting to continue the operation.
|
|
Generally, it's best to return 0 to continue the operation.
|
|
.ie n .IP "$ctx\->pool(new SVN::Pool);" 4
|
|
.el .IP "\f(CW$ctx\fR\->pool(new SVN::Pool);" 4
|
|
.IX Item "$ctx->pool(new SVN::Pool);"
|
|
Method that sets or gets the default pool that is passed to method calls
|
|
requiring a pool, but which were not explicitly passed one.
|
|
.Sp
|
|
See SVN::Core for more information about how pools are managed
|
|
in this interface.
|
|
.ie n .IP "$ctx\->config(SVN::Core::config_get_config(undef));" 4
|
|
.el .IP "\f(CW$ctx\fR\->config(SVN::Core::config_get_config(undef));" 4
|
|
.IX Item "$ctx->config(SVN::Core::config_get_config(undef));"
|
|
Method that allows access to the config member of the svn_client_ctx_t.
|
|
Accepts a Perl hash to set, which is what functions like
|
|
\&\fISVN::Core:config_get_config()\fR will return.
|
|
.Sp
|
|
It will return a _p_arp_hash_t scalar. This is a temporary
|
|
situation. The return value is not particular useful. In
|
|
the future, this value will be tied to the actual hash used
|
|
by the C \s-1API\s0.
|
|
.SH "AUTHENTICATION PROVIDERS"
|
|
.IX Header "AUTHENTICATION PROVIDERS"
|
|
The following functions get authentication providers for you.
|
|
They come in two forms. Standard or File versions, which look
|
|
for authentication information in the subversion configuration
|
|
directory that was previously cached, or Prompt versions which
|
|
call a subroutine to allow you to prompt the user for the
|
|
information.
|
|
.PP
|
|
The functions that return the svn_auth_provider_object_t for prompt style
|
|
providers take a reference to a Perl subroutine to use for the callback. The
|
|
first parameter each of these subroutines receive is a credential object. The
|
|
subroutines return the response by setting members of that object. Members may
|
|
be set like so: \f(CW$cred\fR\->username(\*(L"breser\*(R"); These functions and credential
|
|
objects always have a may_save member which specifies if the authentication
|
|
data will be cached.
|
|
.PP
|
|
The providers are as follows:
|
|
.PP
|
|
.Vb 3
|
|
\& NAME WHAT IT HANDLES
|
|
\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
|
\& simple username and password pairs
|
|
\&
|
|
\& username username only
|
|
\&
|
|
\& ssl_server_trust server certificates and failures
|
|
\& authenticating them
|
|
\&
|
|
\& ssl_client_cert client side certificate files
|
|
\&
|
|
\& ssl_client_cert_pw password for a client side certificate file.
|
|
.Ve
|
|
.IP "SVN::Client::get_simple_provider" 4
|
|
.IX Item "SVN::Client::get_simple_provider"
|
|
Returns a simple provider that returns information from previously cached
|
|
sessions. Takes no parameters or one pool parameter.
|
|
.IP "SVN::Client::get_simple_prompt_provider" 4
|
|
.IX Item "SVN::Client::get_simple_prompt_provider"
|
|
Returns a simple provider that prompts the user via a callback. Takes two or
|
|
three parameters, the first is the callback subroutine, the 2nd is the number
|
|
of retries to allow, the 3rd is optionally a pool. The subroutine gets called
|
|
with the following parameters: a svn_auth_cred_simple_t object, a realm string,
|
|
a default username, may_save, and a pool. The svn_auth_cred_simple has the
|
|
following members: username, password, and may_save.
|
|
.IP "SVN::Client::get_username_provider" 4
|
|
.IX Item "SVN::Client::get_username_provider"
|
|
Returns a username provider that returns information from a previously cached
|
|
sessions. Takes no parameters or one pool parameter.
|
|
.IP "SVN::Client::get_username_prompt_provider" 4
|
|
.IX Item "SVN::Client::get_username_prompt_provider"
|
|
Returns a username provider that prompts the user via a callback. Takes two or
|
|
three parameters, the first is the callback subroutine, the 2nd is the number
|
|
of retries to allow, the 3rd is optionally a pool. The subroutine gets called
|
|
with the following parameters: a svn_auth_cred_username_t object, a realm
|
|
string, a default username, may_save, and a pool. The svn_auth_cred_username
|
|
has the following members: username and may_save.
|
|
.IP "SVN::Client::get_ssl_server_trust_file_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_server_trust_file_provider"
|
|
Returns a server trust provider that returns information from previously
|
|
cached sessions. Takes no parameters or optionally a pool parameter.
|
|
.IP "SVN::Client::get_ssl_server_trust_prompt_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_server_trust_prompt_provider"
|
|
Returns a server trust provider that prompts the user via a callback. Takes
|
|
one or two parameters the callback subroutine and optionally a pool parameter.
|
|
The subroutine gets called with the following parameters. A
|
|
svn_auth_cred_ssl_server_trust_t object, a realm string, an integer specifying
|
|
how the certificate failed authentication, a svn_auth_ssl_server_cert_info_t
|
|
object, may_save, and a pool. The svn_auth_cred_ssl_server_trust_t object has
|
|
the following members: may_save and accepted_failures. The
|
|
svn_auth_ssl_server_cert_info_t object has the following members (and behaves
|
|
just like cred objects though you can't modify it): hostname, fingerprint,
|
|
valid_from, valid_until, issuer_dname, ascii_cert.
|
|
.Sp
|
|
The masks used for determining the failures are in SVN::Auth::SSL and are named:
|
|
.Sp
|
|
\&\f(CW$SVN::Auth::SSL::NOTYETVALID\fR
|
|
\&\f(CW$SVN::Auth::SSL::EXPIRED\fR
|
|
\&\f(CW$SVN::Auth::SSL::CNMISMATCH\fR
|
|
\&\f(CW$SVN::Auth::SSL::UNKNOWNCA\fR
|
|
\&\f(CW$SVN::Auth::SSL::OTHER\fR
|
|
.Sp
|
|
You reply by setting the accepted_failures of the cred object with an integer
|
|
of the values for what you want to accept bitwise \s-1AND\s0'd together.
|
|
.IP "SVN::Client::get_ssl_client_cert_file_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_client_cert_file_provider"
|
|
Returns a client certificate provider that returns information from previously
|
|
cached sessions. Takes no parameters or optionally a pool parameter.
|
|
.IP "SVN::Client::get_ssl_client_cert_prompt_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_client_cert_prompt_provider"
|
|
Returns a client certificate provider that prompts the user via a callback.
|
|
Takes two or three parameters: the first is the callback subroutine, the 2nd is
|
|
the number of retries to allow, the 3rd is optionally a pool parameter. The
|
|
subroutine gets called with the following parameters. A
|
|
svn_auth_cred_ssl_client_cert object, a realm string, may_save, and a pool.
|
|
The svn_auth_cred_ssl_client_cert the following members: cert_file and
|
|
may_save.
|
|
.IP "SVN::Client::get_ssl_client_cert_pw_file_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_client_cert_pw_file_provider"
|
|
Returns a client certificate password provider that returns information from
|
|
previously cached sessions. Takes no parameters or optionally a pool
|
|
parameter.
|
|
.IP "SVN::Client::get_ssl_client_cert_pw_prompt_provider" 4
|
|
.IX Item "SVN::Client::get_ssl_client_cert_pw_prompt_provider"
|
|
Returns a client certificate password provider that prompts the user via a
|
|
callback. Takes two or three parameters, the first is the callback subroutine,
|
|
the 2nd is the number of retries to allow, the 3rd is optionally a pool
|
|
parameter. The subroutine gets called with the following parameters. A
|
|
svn_auth_cred_ssl_client_cert_pw object, a realm string, may_save, and a pool.
|
|
The svn_auth_cred_ssl_client_cert_pw has the following members: password and
|
|
may_save.
|
|
.SH "OBJECTS"
|
|
.IX Header "OBJECTS"
|
|
These are some of the object types that are returned from the methods
|
|
and functions. Others are documented in SVN::Core and SVN::Wc.
|
|
If an object is not documented, it is more than likely opaque and
|
|
not something you can do anything with, except pass to other functions
|
|
that require such objects.
|
|
.SS "svn_info_t"
|
|
.IX Subsection "svn_info_t"
|
|
.ie n .IP "$info\->\s-1\fIURL\s0()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\s-1\fIURL\s0()\fR" 8
|
|
.IX Item "$info->URL()"
|
|
Where the item lives in the repository.
|
|
.ie n .IP "$info\->\fIrev()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIrev()\fR" 8
|
|
.IX Item "$info->rev()"
|
|
The revision of the object. If path_or_url is a working-copy
|
|
path, then this is its current working revnum. If path_or_url
|
|
is a \s-1URL\s0, then this is the repos revision that path_or_url lives in.
|
|
.ie n .IP "$info\->\fIkind()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIkind()\fR" 8
|
|
.IX Item "$info->kind()"
|
|
The node's kind.
|
|
.ie n .IP "$info\->\fIrepos_root_URL()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIrepos_root_URL()\fR" 8
|
|
.IX Item "$info->repos_root_URL()"
|
|
The root \s-1URL\s0 of the repository.
|
|
.ie n .IP "$info\->\fIrepos_UUID()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIrepos_UUID()\fR" 8
|
|
.IX Item "$info->repos_UUID()"
|
|
The repository's \s-1UUID\s0.
|
|
.ie n .IP "$info\->\fIlast_changed_rev()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIlast_changed_rev()\fR" 8
|
|
.IX Item "$info->last_changed_rev()"
|
|
The last revision in which this object changed.
|
|
.ie n .IP "$info\->\fIlast_changed_date()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIlast_changed_date()\fR" 8
|
|
.IX Item "$info->last_changed_date()"
|
|
The date of the last_changed_rev.
|
|
.ie n .IP "$info\->\fIlast_changed_author()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIlast_changed_author()\fR" 8
|
|
.IX Item "$info->last_changed_author()"
|
|
The author of the last_changed_rev.
|
|
.ie n .IP "$info\->\fIlock()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIlock()\fR" 8
|
|
.IX Item "$info->lock()"
|
|
An exclusive lock, if present. Could be either local or remote.
|
|
.PP
|
|
See SVN::Wc::svn_wc_entry_t for the rest of these. svn_client.h indicates
|
|
that these were copied from that struct and mean the same things. They are
|
|
also only useful when working with a \s-1WC\s0.
|
|
.ie n .IP "$info\->\fIhas_wc_info()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIhas_wc_info()\fR" 8
|
|
.IX Item "$info->has_wc_info()"
|
|
.PD 0
|
|
.ie n .IP "$info\->\fIschedule()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIschedule()\fR" 8
|
|
.IX Item "$info->schedule()"
|
|
.ie n .IP "$info\->\fIcopyfrom_url()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIcopyfrom_url()\fR" 8
|
|
.IX Item "$info->copyfrom_url()"
|
|
.ie n .IP "$info\->\fIcopyfrom_rev()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIcopyfrom_rev()\fR" 8
|
|
.IX Item "$info->copyfrom_rev()"
|
|
.ie n .IP "$info\->\fItext_time()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fItext_time()\fR" 8
|
|
.IX Item "$info->text_time()"
|
|
.ie n .IP "$info\->\fIprop_time()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIprop_time()\fR" 8
|
|
.IX Item "$info->prop_time()"
|
|
.ie n .IP "$info\->\fIchecksum()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIchecksum()\fR" 8
|
|
.IX Item "$info->checksum()"
|
|
.ie n .IP "$info\->\fIconflict_old()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIconflict_old()\fR" 8
|
|
.IX Item "$info->conflict_old()"
|
|
.ie n .IP "$info\->\fIconflict_new()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIconflict_new()\fR" 8
|
|
.IX Item "$info->conflict_new()"
|
|
.ie n .IP "$info\->\fIconflict_wrk()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIconflict_wrk()\fR" 8
|
|
.IX Item "$info->conflict_wrk()"
|
|
.ie n .IP "$info\->\fIprejfile()\fR" 8
|
|
.el .IP "\f(CW$info\fR\->\fIprejfile()\fR" 8
|
|
.IX Item "$info->prejfile()"
|
|
.PD
|
|
.SS "svn_client_commit_item3_t"
|
|
.IX Subsection "svn_client_commit_item3_t"
|
|
.ie n .IP "$citem\->\fIpath()\fR" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIpath()\fR" 8
|
|
.IX Item "$citem->path()"
|
|
Absolute working-copy path of item.
|
|
.ie n .IP "$citem\->\fIkind()\fR" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIkind()\fR" 8
|
|
.IX Item "$citem->kind()"
|
|
An integer representing the type of node it is (file/dir).
|
|
Can be one of the following constants:
|
|
\&\f(CW$SVN::Node::none\fR
|
|
\&\f(CW$SVN::Node::file\fR
|
|
\&\f(CW$SVN::Node::dir\fR
|
|
\&\f(CW$SVN::Node::unknown\fR
|
|
.ie n .IP "$citem\->\fIurl()\fR" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIurl()\fR" 8
|
|
.IX Item "$citem->url()"
|
|
Commit \s-1URL\s0 for this item.
|
|
.ie n .IP "$citem\->\fIrevision()\fR" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIrevision()\fR" 8
|
|
.IX Item "$citem->revision()"
|
|
Revision (copyfrom_rev if state_flags has \s-1IS_COPY\s0 set).
|
|
.ie n .IP "$citem\->\fIcopyform_url()\fR;" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIcopyform_url()\fR;" 8
|
|
.IX Item "$citem->copyform_url();"
|
|
CopyFrom \s-1URL\s0
|
|
.ie n .IP "$citem\->\fIstate_flags()\fR;" 8
|
|
.el .IP "\f(CW$citem\fR\->\fIstate_flags()\fR;" 8
|
|
.IX Item "$citem->state_flags();"
|
|
One of several state flags:
|
|
\&\f(CW$SVN::Client::COMMIT_ITEM_ADD\fR
|
|
\&\f(CW$SVN::Client::COMMIT_ITEM_DELETE\fR
|
|
\&\f(CW$SVN::Client::COMMIT_ITEM_TEXT_MODS\fR
|
|
\&\f(CW$SVN::Client::COMMIT_ITEM_PROP_MODS\fR
|
|
\&\f(CW$SVN::Client::COMMIT_ITEM_IS_COPY\fR
|
|
.ie n .IP "$citem>\fIincoming_prop_changes()\fR" 8
|
|
.el .IP "\f(CW$citem\fR>\fIincoming_prop_changes()\fR" 8
|
|
.IX Item "$citem>incoming_prop_changes()"
|
|
A reference to an array of svn_prop_t objects representing changes to
|
|
\&\s-1WC\s0 properties.
|
|
.ie n .IP "$citem>\fIoutgoing_prop_changes()\fR" 8
|
|
.el .IP "\f(CW$citem\fR>\fIoutgoing_prop_changes()\fR" 8
|
|
.IX Item "$citem>outgoing_prop_changes()"
|
|
A reference to an array of svn_prop_t objects representing extra
|
|
changes to properties in the repository (which are not necessarily
|
|
reflected by the \s-1WC\s0).
|
|
.SS "svn_client_commit_info_t"
|
|
.IX Subsection "svn_client_commit_info_t"
|
|
.ie n .IP "$cinfo\->\fIrevision()\fR" 4
|
|
.el .IP "\f(CW$cinfo\fR\->\fIrevision()\fR" 4
|
|
.IX Item "$cinfo->revision()"
|
|
Just committed revision.
|
|
.ie n .IP "$cinfo\->\fIdate()\fR" 4
|
|
.el .IP "\f(CW$cinfo\fR\->\fIdate()\fR" 4
|
|
.IX Item "$cinfo->date()"
|
|
Server-Side date of the commit as a string.
|
|
.ie n .IP "$cinfo\->\fIauthor()\fR" 4
|
|
.el .IP "\f(CW$cinfo\fR\->\fIauthor()\fR" 4
|
|
.IX Item "$cinfo->author()"
|
|
Author of the commit.
|
|
.SS "svn_client_proplist_item_t"
|
|
.IX Subsection "svn_client_proplist_item_t"
|
|
.ie n .IP "$proplist\->\fInode_name()\fR" 8
|
|
.el .IP "\f(CW$proplist\fR\->\fInode_name()\fR" 8
|
|
.IX Item "$proplist->node_name()"
|
|
The name of the node on which these properties are set.
|
|
.ie n .IP "$proplist\->\fIprop_hash()\fR" 8
|
|
.el .IP "\f(CW$proplist\fR\->\fIprop_hash()\fR" 8
|
|
.IX Item "$proplist->prop_hash()"
|
|
A reference to a hash of property names and values.
|
|
.SS "svn_client_diff_summarize_kind_t \- SVN::Summarize"
|
|
.IX Subsection "svn_client_diff_summarize_kind_t - SVN::Summarize"
|
|
An enum of the following constants:
|
|
.PP
|
|
\&\f(CW$SVN::Client::Summarize::normal\fR, \f(CW$SVN::Client::Summarize::added\fR,
|
|
\&\f(CW$SVN::Client::Summarize::modified\fR, \f(CW$SVN::Client::Summarize::deleted\fR.
|
|
.SS "svn_client_diff_summarize_t"
|
|
.IX Subsection "svn_client_diff_summarize_t"
|
|
.ie n .IP "$diff_summarize\->\fIpath()\fR" 8
|
|
.el .IP "\f(CW$diff_summarize\fR\->\fIpath()\fR" 8
|
|
.IX Item "$diff_summarize->path()"
|
|
Path relative to the target. If the target is a file, path is the
|
|
empty string.
|
|
.ie n .IP "$diff_summarize\->\fIsummarize_kind()\fR" 8
|
|
.el .IP "\f(CW$diff_summarize\fR\->\fIsummarize_kind()\fR" 8
|
|
.IX Item "$diff_summarize->summarize_kind()"
|
|
Change kind.
|
|
.ie n .IP "$diff_summarize\->\fIprop_changed()\fR" 8
|
|
.el .IP "\f(CW$diff_summarize\fR\->\fIprop_changed()\fR" 8
|
|
.IX Item "$diff_summarize->prop_changed()"
|
|
Properties changed?
|
|
.ie n .IP "$diff_summarize\->\fInode_kind()\fR" 8
|
|
.el .IP "\f(CW$diff_summarize\fR\->\fInode_kind()\fR" 8
|
|
.IX Item "$diff_summarize->node_kind()"
|
|
File or dir?
|
|
.SH "TODO"
|
|
.IX Header "TODO"
|
|
* Better support for the config.
|
|
.PP
|
|
* Unit tests for cleanup, diff, export, merge, move, relocate, resolved
|
|
and switch. This may reveal problems for using these methods as I haven't
|
|
tested them yet that require deeper fixes.
|
|
.SH "AUTHORS"
|
|
.IX Header "AUTHORS"
|
|
Chia-liang Kao <clkao@clkao.org>
|
|
.PP
|
|
Ben Reser <ben@reser.org>
|
|
.SH "COPYRIGHT"
|
|
.IX Header "COPYRIGHT"
|
|
Copyright (c) 2003 CollabNet. All rights reserved.
|
|
.PP
|
|
This software is licensed as described in the file \s-1COPYING\s0, which you
|
|
should have received as part of this distribution. The terms are also
|
|
available at http://subversion.tigris.org/license\-1.html. If newer
|
|
versions of this license are posted there, you may use a newer version
|
|
instead, at your option.
|
|
.PP
|
|
This software consists of voluntary contributions made by many
|
|
individuals. For exact contribution history, see the revision history
|
|
and logs, available at http://subversion.tigris.org/.
|
|
.SH "POD ERRORS"
|
|
.IX Header "POD ERRORS"
|
|
Hey! \fBThe above document had some coding errors, which are explained below:\fR
|
|
.IP "Around line 1451:" 4
|
|
.IX Item "Around line 1451:"
|
|
=back without =over
|