view release on metacpan or search on metacpan
src/subversion/CHANGES view on Meta::CPAN
* set depth=infinity on 'svn add' items with restricted depth (r37607)
* fixed: commit log message template missing paths (issue #3399)
* fixed: segfault on merge with servers < 1.6 (r37363, -67, -68, -79)
* fixed: repeat merge failures with non-inheritable mergeinfo (issue #3392)
* fixed: another memory leak when performing mergeinfo-aware merges (r37398)
* fixed: incorrect mergeinfo on children of shallow merges (issue #3407)
* fixed: pool lifetime issues in the BDB backend (r37137)
Developer-visible changes:
* don't fail if an embedding app has already initialized SQLite (issue #3387)
* resolve naming collisions with static stat() function in svnserve (r37527)
* fix an expectation for a failing dirent windows test (r37121)
Version 1.6.1
(9 Apr 2009, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.1
User-visible changes:
* recommend Neon 0.28.4. (r36388)
* improve performance of 'svn merge --ignore-ancestry' (r36256)
src/subversion/CHANGES view on Meta::CPAN
* new runtime option 'store-passwords = ' gives finer control (r10794)x
* fixed: working copies now shareable by multiple users (issue #1509)
* fixed: diff and other subcommands correctly follow renames (issue #1093)
- new 'peg' syntax for diff/merge: 'svn diff -r X:Y TARGET@REV'
- now able to compare working copy with URL: 'svn diff --old WC --new URL'
* new framework for localized error/info/help messages, initial translations:
- German, Polish, Swedish, Norwegian Bokmål, Traditional Chinese,
Japanese, Brazilian Portuguese.
* speed improvements:
- faster 'svn up' on complex working copies -- no more repos txns (r8840)
- faster 'svn status' -- fewer stat() calls (r9182)
- faster 'svn checkout' -- fewer sleep() calls (r9123)
- faster 'svn blame' -- new RA->get_file_revs() func (issue #1715)
* new switches added:
- 'svn blame --verbose' - show extra annotation info
- 'svn export --native-eol TYPE' - export using TYPE line-endings
- 'svn add --force' - recurse into version-controlled dirs
- 'svnadmin dump --deltas' - include binary diffs in dumpfile
- 'svnadmin create --fs-type fsfs' - create fs_fs repos (default is bdb)
- 'svnserve --tunnel-user=NAME' - assume authenticated NAME over tunnel
- 'svndumpfilter [cmd] --quiet' - less chatty dumpfiltering
src/subversion/subversion/bindings/ctypes-python/csvn/repos.py view on Meta::CPAN
def info(self, path, rev = None):
"""Get a pointer to a svn_dirent_t object associated with PATH@REV.
If PATH does not exist, return None.
If REV is not specified, we look at the latest revision of the
file."""
dirent = POINTER(svn_dirent_t)()
dirent.pool = Pool()
if rev is None:
rev = self.latest_revnum()
svn_ra_stat(self, path, rev, byref(dirent), dirent.pool)
self.iterpool.clear()
return dirent[0]
def proplist(self, path, rev = SVN_INVALID_REVNUM):
"""Return a dictionary containing the properties on PATH@REV
If REV is not specified, we look at the latest revision of the
repository."""
props = _types.Hash(POINTER(svn_string_t), None,
src/subversion/subversion/bindings/swig/perl/native/Ra.pm view on Meta::CPAN
print $ra->rev_prop(123, 'svn:date');
=item $ra-E<gt>rev_proplist($revnum)
Returns a reference to a hash containing all the unversioned properties
of revision C<$revnum>.
my $props = $ra->rev_proplist(123);
print $props->{'svn:log'};
=item $ra-E<gt>stat($path, $revnum)
Returns a L<_p_svn_dirent_t|SVN::Core/_p_svn_dirent_t> object containing
information about the file at C<$path> in revision C<$revnum>.
=item $ra-E<gt>unlock(\%path_tokens, $break_lock, \&callback)
TODO - doesn't seem to work in Subversion 1.3.2
=back
src/subversion/subversion/bindings/swig/perl/native/svn_ra.c view on Meta::CPAN
svn_dirent_t *temp4 ;
int argvi = 0;
svn_error_t *result = 0 ;
dXSARGS;
{
_global_pool = arg5 = svn_swig_pl_make_pool (ST(items-1));
}
arg4 = &temp4;
if ((items < 3) || (items > 4)) {
SWIG_croak("Usage: svn_ra_stat(session,path,revision,pool);");
}
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_svn_ra_session_t, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "svn_ra_stat" "', argument " "1"" of type '" "svn_ra_session_t *""'");
}
arg1 = (svn_ra_session_t *)(argp1);
res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
if (!SWIG_IsOK(res2)) {
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "svn_ra_stat" "', argument " "2"" of type '" "char const *""'");
}
arg2 = (char *)(buf2);
ecode3 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
if (!SWIG_IsOK(ecode3)) {
SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "svn_ra_stat" "', argument " "3"" of type '" "svn_revnum_t""'");
}
arg3 = (svn_revnum_t)(val3);
if (items > 3) {
}
{
result = (svn_error_t *)svn_ra_stat(arg1,(char const *)arg2,arg3,arg4,arg5);
}
{
if (result) {
SV *exception_handler = perl_get_sv ("SVN::Error::handler", FALSE);
if (SvOK(exception_handler)) {
SV *callback_result;
src/subversion/subversion/bindings/swig/perl/native/svn_repos.c view on Meta::CPAN
int alloc3 = 0 ;
int argvi = 0;
svn_error_t *result = 0 ;
dXSARGS;
{
_global_pool = arg4 = svn_swig_pl_make_pool (ST(items-1));
}
arg1 = &temp1;
if ((items < 2) || (items > 3)) {
SWIG_croak("Usage: svn_repos_stat(root,path,pool);");
}
res2 = SWIG_ConvertPtr(ST(0), &argp2,SWIGTYPE_p_svn_fs_root_t, 0 | 0 );
if (!SWIG_IsOK(res2)) {
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "svn_repos_stat" "', argument " "2"" of type '" "svn_fs_root_t *""'");
}
arg2 = (svn_fs_root_t *)(argp2);
res3 = SWIG_AsCharPtrAndSize(ST(1), &buf3, NULL, &alloc3);
if (!SWIG_IsOK(res3)) {
SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "svn_repos_stat" "', argument " "3"" of type '" "char const *""'");
}
arg3 = (char *)(buf3);
if (items > 2) {
}
{
result = (svn_error_t *)svn_repos_stat(arg1,arg2,(char const *)arg3,arg4);
}
{
if (result) {
SV *exception_handler = perl_get_sv ("SVN::Error::handler", FALSE);
if (SvOK(exception_handler)) {
SV *callback_result;
src/subversion/subversion/bindings/swig/perl/native/t/6ra.t view on Meta::CPAN
$ra->change_rev_prop(1, 'binary-prop', $BINARY_DATA);
# TEST
is($ra->rev_prop(1, 'binary-prop'), $BINARY_DATA,
'change_rev_prop with binary data');
}
# Information about nodes in the filesystem.
# TEST
is($ra->check_path('trunk', 1), $SVN::Node::dir, 'check_path');
{
my $dirent = $ra->stat('trunk', 1);
# TEST
isa_ok($dirent, '_p_svn_dirent_t', 'stat dir: dirent object');
# TEST
is($dirent->kind, $SVN::Node::dir, 'stat dir: kind');
# TEST
is($dirent->size, -1, 'stat dir: size');
# TEST
is($dirent->created_rev, 1, 'stat dir: created_rev');
# TEST
ok($dirent->has_props, 'stat dir: has_props');
$dirent = $ra->stat('trunk/fileb', 1);
# TEST
is($dirent->kind, $SVN::Node::file, 'stat file: kind');
# TEST
ok(!$dirent->has_props, 'stat file: has_props');
}
# do_update
my $ed = MockEditor->new;
my $reporter = $ra->do_update(2, '', 1, $ed);
# TEST
src/subversion/subversion/bindings/swig/python/ra.py view on Meta::CPAN
svn_ra_get_log(svn_ra_session_t * session, apr_array_header_t paths, svn_revnum_t start, svn_revnum_t end,
int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history,
svn_log_message_receiver_t receiver, apr_pool_t pool) -> svn_error_t
"""
return _ra.svn_ra_get_log(*args)
def svn_ra_check_path(*args):
"""svn_ra_check_path(svn_ra_session_t * session, char const * path, svn_revnum_t revision, apr_pool_t pool) -> svn_error_t"""
return _ra.svn_ra_check_path(*args)
def svn_ra_stat(*args):
"""svn_ra_stat(svn_ra_session_t * session, char const * path, svn_revnum_t revision, apr_pool_t pool) -> svn_error_t"""
return _ra.svn_ra_stat(*args)
def svn_ra_get_uuid2(*args):
"""svn_ra_get_uuid2(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"""
return _ra.svn_ra_get_uuid2(*args)
def svn_ra_get_uuid(*args):
"""svn_ra_get_uuid(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"""
return _ra.svn_ra_get_uuid(*args)
def svn_ra_get_repos_root2(*args):
src/subversion/subversion/bindings/swig/python/repos.py view on Meta::CPAN
return _repos.svn_repos_get_commit_editor(*args)
def svn_repos_dated_revision(*args):
"""svn_repos_dated_revision(svn_repos_t * repos, apr_time_t tm, apr_pool_t pool) -> svn_error_t"""
return _repos.svn_repos_dated_revision(*args)
def svn_repos_get_committed_info(*args):
"""svn_repos_get_committed_info(svn_fs_root_t * root, char const * path, apr_pool_t pool) -> svn_error_t"""
return _repos.svn_repos_get_committed_info(*args)
def svn_repos_stat(*args):
"""svn_repos_stat(svn_fs_root_t * root, char const * path, apr_pool_t pool) -> svn_error_t"""
return _repos.svn_repos_stat(*args)
def svn_repos_deleted_rev(*args):
"""svn_repos_deleted_rev(svn_fs_t * fs, char const * path, svn_revnum_t start, svn_revnum_t end, apr_pool_t pool) -> svn_error_t"""
return _repos.svn_repos_deleted_rev(*args)
def svn_repos_history2(*args):
"""
svn_repos_history2(svn_fs_t * fs, char const * path, svn_repos_history_func_t history_func, svn_repos_authz_func_t authz_read_func,
svn_revnum_t start, svn_revnum_t end, svn_boolean_t cross_copies,
apr_pool_t pool) -> svn_error_t
src/subversion/subversion/bindings/swig/python/svn_ra.c view on Meta::CPAN
}
return resultobj;
fail:
{
Py_XDECREF(_global_py_pool);
}
return NULL;
}
SWIGINTERN PyObject *_wrap_svn_ra_stat(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
svn_ra_session_t *arg1 = (svn_ra_session_t *) 0 ;
char *arg2 = (char *) 0 ;
svn_revnum_t arg3 ;
svn_dirent_t **arg4 = (svn_dirent_t **) 0 ;
apr_pool_t *arg5 = (apr_pool_t *) 0 ;
apr_pool_t *_global_pool = NULL ;
PyObject *_global_py_pool = NULL ;
svn_dirent_t *temp4 ;
PyObject * obj0 = 0 ;
src/subversion/subversion/bindings/swig/python/svn_ra.c view on Meta::CPAN
/* Verify that the user supplied a valid pool */
if (obj3 != Py_None && obj3 != _global_py_pool) {
SWIG_Python_TypeError(SWIG_TypePrettyName(SWIGTYPE_p_apr_pool_t), obj3);
SWIG_arg_fail(svn_argnum_obj3);
SWIG_fail;
}
}
{
svn_swig_py_release_py_lock();
result = (svn_error_t *)svn_ra_stat(arg1,(char const *)arg2,arg3,arg4,arg5);
svn_swig_py_acquire_py_lock();
}
{
if (result != NULL) {
if (result->apr_err != SVN_ERR_SWIG_PY_EXCEPTION_SET)
svn_swig_py_svn_exception(result);
else
svn_error_clear(result);
src/subversion/subversion/bindings/swig/python/svn_ra.c view on Meta::CPAN
" int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, \n"
" svn_boolean_t include_merged_revisions, apr_array_header_t revprops, \n"
" svn_log_entry_receiver_t receiver, apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_ra_get_log", _wrap_svn_ra_get_log, METH_VARARGS, (char *)"\n"
"svn_ra_get_log(svn_ra_session_t * session, apr_array_header_t paths, svn_revnum_t start, svn_revnum_t end, \n"
" int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, \n"
" svn_log_message_receiver_t receiver, apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_ra_check_path", _wrap_svn_ra_check_path, METH_VARARGS, (char *)"svn_ra_check_path(svn_ra_session_t * session, char const * path, svn_revnum_t revision, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_stat", _wrap_svn_ra_stat, METH_VARARGS, (char *)"svn_ra_stat(svn_ra_session_t * session, char const * path, svn_revnum_t revision, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_get_uuid2", _wrap_svn_ra_get_uuid2, METH_VARARGS, (char *)"svn_ra_get_uuid2(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_get_uuid", _wrap_svn_ra_get_uuid, METH_VARARGS, (char *)"svn_ra_get_uuid(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_get_repos_root2", _wrap_svn_ra_get_repos_root2, METH_VARARGS, (char *)"svn_ra_get_repos_root2(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_get_repos_root", _wrap_svn_ra_get_repos_root, METH_VARARGS, (char *)"svn_ra_get_repos_root(svn_ra_session_t * session, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_ra_get_locations", _wrap_svn_ra_get_locations, METH_VARARGS, (char *)"\n"
"svn_ra_get_locations(svn_ra_session_t * session, char const * path, svn_revnum_t peg_revision, apr_array_header_t location_revisions, \n"
" apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_ra_get_location_segments", _wrap_svn_ra_get_location_segments, METH_VARARGS, (char *)"\n"
"svn_ra_get_location_segments(svn_ra_session_t * session, char const * path, svn_revnum_t peg_revision, svn_revnum_t start_rev, \n"
src/subversion/subversion/bindings/swig/python/svn_repos.c view on Meta::CPAN
}
return resultobj;
fail:
{
Py_XDECREF(_global_py_pool);
}
return NULL;
}
SWIGINTERN PyObject *_wrap_svn_repos_stat(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
svn_dirent_t **arg1 = (svn_dirent_t **) 0 ;
svn_fs_root_t *arg2 = (svn_fs_root_t *) 0 ;
char *arg3 = (char *) 0 ;
apr_pool_t *arg4 = (apr_pool_t *) 0 ;
apr_pool_t *_global_pool = NULL ;
PyObject *_global_py_pool = NULL ;
svn_dirent_t *temp1 ;
PyObject * obj0 = 0 ;
PyObject * obj2 = 0 ;
src/subversion/subversion/bindings/swig/python/svn_repos.c view on Meta::CPAN
/* Verify that the user supplied a valid pool */
if (obj2 != Py_None && obj2 != _global_py_pool) {
SWIG_Python_TypeError(SWIG_TypePrettyName(SWIGTYPE_p_apr_pool_t), obj2);
SWIG_arg_fail(svn_argnum_obj2);
SWIG_fail;
}
}
{
svn_swig_py_release_py_lock();
result = (svn_error_t *)svn_repos_stat(arg1,arg2,(char const *)arg3,arg4);
svn_swig_py_acquire_py_lock();
}
{
if (result != NULL) {
if (result->apr_err != SVN_ERR_SWIG_PY_EXCEPTION_SET)
svn_swig_py_svn_exception(result);
else
svn_error_clear(result);
src/subversion/subversion/bindings/swig/python/svn_repos.c view on Meta::CPAN
"svn_repos_get_commit_editor2(svn_repos_t * repos, svn_fs_txn_t * txn, char const * repos_url, char const * base_path, \n"
" char const * user, char const * log_msg, svn_commit_callback_t callback, \n"
" apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_repos_get_commit_editor", _wrap_svn_repos_get_commit_editor, METH_VARARGS, (char *)"\n"
"svn_repos_get_commit_editor(svn_repos_t * repos, char const * repos_url, char const * base_path, char const * user, \n"
" char const * log_msg, svn_commit_callback_t callback, apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_repos_dated_revision", _wrap_svn_repos_dated_revision, METH_VARARGS, (char *)"svn_repos_dated_revision(svn_repos_t * repos, apr_time_t tm, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_repos_get_committed_info", _wrap_svn_repos_get_committed_info, METH_VARARGS, (char *)"svn_repos_get_committed_info(svn_fs_root_t * root, char const * path, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_repos_stat", _wrap_svn_repos_stat, METH_VARARGS, (char *)"svn_repos_stat(svn_fs_root_t * root, char const * path, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_repos_deleted_rev", _wrap_svn_repos_deleted_rev, METH_VARARGS, (char *)"svn_repos_deleted_rev(svn_fs_t * fs, char const * path, svn_revnum_t start, svn_revnum_t end, apr_pool_t pool) -> svn_error_t"},
{ (char *)"svn_repos_history2", _wrap_svn_repos_history2, METH_VARARGS, (char *)"\n"
"svn_repos_history2(svn_fs_t * fs, char const * path, svn_repos_history_func_t history_func, svn_repos_authz_func_t authz_read_func, \n"
" svn_revnum_t start, svn_revnum_t end, svn_boolean_t cross_copies, \n"
" apr_pool_t pool) -> svn_error_t\n"
""},
{ (char *)"svn_repos_history", _wrap_svn_repos_history, METH_VARARGS, (char *)"\n"
"svn_repos_history(svn_fs_t * fs, char const * path, svn_repos_history_func_t history_func, svn_revnum_t start, \n"
" svn_revnum_t end, svn_boolean_t cross_copies, apr_pool_t pool) -> svn_error_t\n"
""},
src/subversion/subversion/bindings/swig/python/tests/ra.py view on Meta::CPAN
def test_namestring(self):
# Only ra-{svn,serf} support this right now.
uri = self.repos_uri
if uri.startswith('http') or uri.startswith('svn'):
called = [False]
def cb(pool):
called[0] = True
return 'namestring_test'
self.callbacks.get_client_string = cb
ra.stat(self.ra_ctx, "", 1)
self.assert_(called[0])
def suite():
return unittest.defaultTestLoader.loadTestsFromTestCase(
SubversionRepositoryAccessTestCase)
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(suite())
src/subversion/subversion/bindings/swig/ruby/svn/fs.rb view on Meta::CPAN
target_root = self
else
source_root = self
source_path = arg1
target_root = arg2
end
Fs.get_file_delta_stream(source_root, source_path,
target_root, target_path)
end
def stat(path)
Repos.stat(self, path)
end
def committed_info(path)
Repos.get_committed_info(self, path)
end
def closest_copy(path)
Fs.closest_copy(self, path)
end
src/subversion/subversion/bindings/swig/ruby/svn/ra.rb view on Meta::CPAN
end
Ra.get_log(self, paths, start_rev, end_rev, limit,
discover_changed_paths, strict_node_history,
receiver)
end
def check_path(path, rev=nil)
Ra.check_path(self, path, rev || latest_revnum)
end
def stat(path, rev=nil)
Ra.stat(self, path, rev || latest_revnum)
end
def uuid
Ra.get_uuid(self)
end
def repos_root
Ra.get_repos_root(self)
end
src/subversion/subversion/bindings/swig/ruby/svn_ra.c view on Meta::CPAN
target = _global_vresult_address == &vresult ? self : vresult;
if (!svn_swig_rb_set_pool(target, _global_svn_swig_rb_pool))
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
}
return Qnil;
}
SWIGINTERN VALUE
_wrap_svn_ra_stat(int argc, VALUE *argv, VALUE self) {
svn_ra_session_t *arg1 = (svn_ra_session_t *) 0 ;
char *arg2 = (char *) 0 ;
svn_revnum_t arg3 ;
svn_dirent_t **arg4 = (svn_dirent_t **) 0 ;
apr_pool_t *arg5 = (apr_pool_t *) 0 ;
VALUE _global_svn_swig_rb_pool ;
apr_pool_t *_global_pool ;
void *argp1 = 0 ;
int res1 = 0 ;
int res2 ;
src/subversion/subversion/bindings/swig/ruby/svn_ra.c view on Meta::CPAN
arg2 = (char *)(buf2);
ecode3 = SWIG_AsVal_long(argv[2], &val3);
if (!SWIG_IsOK(ecode3)) {
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "svn_revnum_t","svn_ra_stat", 3, argv[2] ));
}
arg3 = (svn_revnum_t)(val3);
if (argc > 3) {
}
{
result = (svn_error_t *)svn_ra_stat(arg1,(char const *)arg2,arg3,arg4,arg5);
}
{
if (result) {
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
svn_swig_rb_handle_svn_error(result);
}
src/subversion/subversion/bindings/swig/ruby/svn_repos.c view on Meta::CPAN
target = _global_vresult_address == &vresult ? self : vresult;
if (!svn_swig_rb_set_pool(target, _global_svn_swig_rb_pool))
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
}
return Qnil;
}
SWIGINTERN VALUE
_wrap_svn_repos_stat(int argc, VALUE *argv, VALUE self) {
svn_dirent_t **arg1 = (svn_dirent_t **) 0 ;
svn_fs_root_t *arg2 = (svn_fs_root_t *) 0 ;
char *arg3 = (char *) 0 ;
apr_pool_t *arg4 = (apr_pool_t *) 0 ;
VALUE _global_svn_swig_rb_pool ;
apr_pool_t *_global_pool ;
svn_dirent_t *temp1 ;
void *argp2 = 0 ;
int res2 = 0 ;
svn_error_t *result = 0 ;
src/subversion/subversion/bindings/swig/ruby/svn_repos.c view on Meta::CPAN
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "svn_fs_root_t *","svn_repos_stat", 2, argv[0] ));
}
arg2 = (svn_fs_root_t *)(argp2);
{
arg3 = StringValueCStr(argv[1]);
}
if (argc > 2) {
}
{
result = (svn_error_t *)svn_repos_stat(arg1,arg2,(char const *)arg3,arg4);
}
{
if (result) {
svn_swig_rb_destroy_pool(_global_svn_swig_rb_pool);
svn_swig_rb_pop_pool(_global_svn_swig_rb_pool);
svn_swig_rb_handle_svn_error(result);
}
src/subversion/subversion/bindings/swig/ruby/test/test_ra.rb view on Meta::CPAN
logs << [revision, message]
end
session.log([file], rev1, rev2, rev2 - rev1 + 1, &receiver)
assert_equal([
[rev1, log],
[rev2, log2],
].sort_by {|rev, log| rev},
logs.sort_by {|rev, log| rev})
assert_equal(Svn::Core::NODE_FILE, session.check_path(file))
assert_equal(Svn::Core::NODE_FILE, session.stat(file).kind)
assert_equal({
rev1 => "/#{file}",
rev2 => "/#{file}",
},
session.locations(file, [rev1, rev2]))
infos = []
session.file_revs(file, rev1, rev2) do |_path, rev, rev_props, prop_diffs|
hashed_prop_diffs = {}
src/subversion/subversion/bindings/swig/ruby/test/test_repos.rb view on Meta::CPAN
fs_base = "/"
path = File.join(@wc_path, file)
source = "sample source"
log = "sample log"
make_context(log) do |ctx|
File.open(path, "w") {|f| f.print(source)}
ctx.add(path)
rev = ctx.ci(@wc_path).revision
assert_equal(Svn::Core::NODE_FILE, @repos.fs.root.stat(file).kind)
editor = TestEditor.new
args = {
:revision => rev,
:user_name => @author,
:fs_base => fs_base,
:target => "",
:target_path => nil,
:editor => editor,
:text_deltas => true,
src/subversion/subversion/include/private/svn_ra_svn_private.h view on Meta::CPAN
apr_pool_t *pool,
const char *path,
svn_revnum_t rev);
/** Send a "stat" command over connection @a conn.
* Use @a pool for allocations.
*
* @see #svn_ra_stat for a description.
*/
svn_error_t *
svn_ra_svn__write_cmd_stat(svn_ra_svn_conn_t *conn,
apr_pool_t *pool,
const char *path,
svn_revnum_t rev);
/** Send a "get-file-revs" command over connection @a conn.
* Use @a pool for allocations.
*
* @see #svn_ra_get_file_revs2 for a description.
*/
svn_error_t *
src/subversion/subversion/include/svn_io.h view on Meta::CPAN
apr_pool_t *pool);
/** Set @a *different_p12 to non-zero if @a file1 and @a file2 have different
* sizes, else set to zero. Do the similar for @a *different_p23 with
* @a file2 and @a file3, and @a *different_p13 for @a file1 and @a file3.
* The filenames @a file1, @a file2 and @a file3 are utf8-encoded.
*
* Setting @a *different_p12 to zero does not mean the files definitely
* have the same size, it merely means that the sizes are not
* definitely different. That is, if the size of one or both files
* cannot be determined (due to stat() returning an error), then the sizes
* are not known to be different, so @a *different_p12 is set to 0.
*
* @since New in 1.8.
*/
svn_error_t *
svn_io_filesizes_three_different_p(svn_boolean_t *different_p12,
svn_boolean_t *different_p23,
svn_boolean_t *different_p13,
const char *file1,
const char *file2,
src/subversion/subversion/include/svn_io.h view on Meta::CPAN
*
* @deprecated Provided for backwards compatibility with the 1.2 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_io_get_dirents(apr_hash_t **dirents,
const char *path,
apr_pool_t *pool);
/** Create a svn_io_dirent2_t instance for path. Specialized variant of
* svn_io_stat() that directly translates node_kind and special.
*
* If @a verify_truename is @c TRUE, an additional check is performed to
* verify the truename of the last path component on case insensitive
* filesystems. This check is expensive compared to a just a stat,
* but certainly cheaper than a full truename calculation using
* apr_filepath_merge() which verifies all path components.
*
* If @a ignore_enoent is set to @c TRUE, set *dirent_p->kind to
* svn_node_none instead of returning an error.
*
src/subversion/subversion/include/svn_io.h view on Meta::CPAN
apr_pool_t *pool);
/** Wrapper for apr_file_trunc().
* @since New in 1.6. */
svn_error_t *
svn_io_file_trunc(apr_file_t *file,
apr_off_t offset,
apr_pool_t *pool);
/** Wrapper for apr_stat(). @a fname is utf8-encoded. */
svn_error_t *
svn_io_stat(apr_finfo_t *finfo,
const char *fname,
apr_int32_t wanted,
apr_pool_t *pool);
/** Rename and/or move the node (not necessarily a regular file) at
* @a from_path to a new path @a to_path within the same filesystem.
* In some cases, an existing node at @a to_path will be overwritten.
*
* A wrapper for apr_file_rename(). @a from_path and @a to_path are
src/subversion/subversion/include/svn_ra.h view on Meta::CPAN
/**
* Set @a *dirent to an @c svn_dirent_t associated with @a path at @a
* revision. @a path is relative to the @a session's parent's URL.
* If @a path does not exist in @a revision, set @a *dirent to NULL.
*
* Use @a pool for memory allocation.
*
* @since New in 1.2.
*/
svn_error_t *
svn_ra_stat(svn_ra_session_t *session,
const char *path,
svn_revnum_t revision,
svn_dirent_t **dirent,
apr_pool_t *pool);
/**
* Set @a *uuid to the repository's UUID, allocated in @a pool.
*
* @since New in 1.5.
src/subversion/subversion/include/svn_repos.h view on Meta::CPAN
/**
* Set @a *dirent to an #svn_dirent_t associated with @a path in @a
* root. If @a path does not exist in @a root, set @a *dirent to
* NULL. Use @a pool for memory allocation.
*
* @since New in 1.2.
*/
svn_error_t *
svn_repos_stat(svn_dirent_t **dirent,
svn_fs_root_t *root,
const char *path,
apr_pool_t *pool);
/**
* Given @a path which exists at revision @a start in @a fs, set
* @a *deleted to the revision @a path was first deleted, within the
* inclusive revision range bounded by @a start and @a end. If @a path
* does not exist at revision @a start or was not deleted within the
src/subversion/subversion/libsvn_client/client.h view on Meta::CPAN
COMMIT_ITEMS is an array of (svn_client_commit_item3_t *) items.
Afterwards, some of the items in COMMIT_ITEMS may contain data
allocated in POOL. */
svn_error_t *
svn_client__condense_commit_items(const char **base_url,
apr_array_header_t *commit_items,
apr_pool_t *pool);
/* Like svn_ra_stat() on the ra session root, but with a compatibility
hack for pre-1.2 svnserve that don't support this api. */
svn_error_t *
svn_client__ra_stat_compatible(svn_ra_session_t *ra_session,
svn_revnum_t rev,
svn_dirent_t **dirent_p,
apr_uint32_t dirent_fields,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool);
src/subversion/subversion/libsvn_client/export.c view on Meta::CPAN
/* Keep the source directory's permissions if applicable.
Skip retrieving the umask on windows. Apr does not implement setting
filesystem privileges on Windows.
Retrieving the file permissions with APR_FINFO_PROT | APR_FINFO_OWNER
is documented to be 'incredibly expensive' */
#ifndef WIN32
if (eib->revision->kind == svn_opt_revision_working)
{
apr_finfo_t finfo;
SVN_ERR(svn_io_stat(&finfo, local_abspath, APR_FINFO_PROT,
scratch_pool));
perm = finfo.protection;
}
#endif
err = svn_io_dir_make(to_abspath, perm, scratch_pool);
if (err)
{
if (! APR_STATUS_IS_EEXIST(err->apr_err))
return svn_error_trace(err);
if (! eib->overwrite)
src/subversion/subversion/libsvn_client/list.c view on Meta::CPAN
ra_session, locks, fs_path, depth, ctx,
externals, external_parent_url,
external_target, list_func, baton,
result_pool, iterpool));
}
svn_pool_destroy(iterpool);
return SVN_NO_ERROR;
}
/* Like svn_ra_stat() but with a compatibility hack for pre-1.2 svnserve. */
/* ### Maybe we should move this behavior into the svn_ra_stat wrapper? */
svn_error_t *
svn_client__ra_stat_compatible(svn_ra_session_t *ra_session,
svn_revnum_t rev,
svn_dirent_t **dirent_p,
apr_uint32_t dirent_fields,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
svn_error_t *err;
err = svn_ra_stat(ra_session, "", rev, dirent_p, pool);
/* svnserve before 1.2 doesn't support the above, so fall back on
a less efficient method. */
if (err && err->apr_err == SVN_ERR_RA_NOT_IMPLEMENTED)
{
const char *repos_root_url;
const char *session_url;
svn_node_kind_t kind;
svn_dirent_t *dirent;
src/subversion/subversion/libsvn_client/patch.c view on Meta::CPAN
}
if (! target->skipped)
{
apr_finfo_t working_file;
apr_finfo_t patched_file;
/* Get sizes of the patched temporary file and the working file.
* We'll need those to figure out whether we should delete the
* patched file. */
SVN_ERR(svn_io_stat(&patched_file, target->patched_path,
APR_FINFO_SIZE | APR_FINFO_LINK, scratch_pool));
if (target->kind_on_disk == svn_node_file)
SVN_ERR(svn_io_stat(&working_file, target->local_abspath,
APR_FINFO_SIZE | APR_FINFO_LINK, scratch_pool));
else
working_file.size = 0;
if (patched_file.size == 0 && working_file.size > 0)
{
/* If a unidiff removes all lines from a file, that usually
* means deletion, so we can confidently schedule the target
* for deletion. In the rare case where the unidiff was really
* meant to replace a file with an empty one, this may not
src/subversion/subversion/libsvn_diff/diff_file.c view on Meta::CPAN
static svn_error_t *
output_unified_default_hdr(const char **header, const char *path,
apr_pool_t *pool)
{
apr_finfo_t file_info;
apr_time_exp_t exploded_time;
char time_buffer[64];
apr_size_t time_len;
const char *utf8_timestr;
SVN_ERR(svn_io_stat(&file_info, path, APR_FINFO_MTIME, pool));
apr_time_exp_lt(&exploded_time, file_info.mtime);
apr_strftime(time_buffer, &time_len, sizeof(time_buffer) - 1,
/* Order of date components can be different in different languages */
_("%a %b %e %H:%M:%S %Y"), &exploded_time);
SVN_ERR(svn_utf_cstring_to_utf8(&utf8_timestr, time_buffer, pool));
*header = apr_psprintf(pool, "%s\t%s", path, utf8_timestr);
src/subversion/subversion/libsvn_fs_base/fs.c view on Meta::CPAN
#if 0 /* Set to 1 for instrumenting. */
static void print_fs_stats(svn_fs_t *fs)
{
base_fs_data_t *bfd = fs->fsap_data;
DB_TXN_STAT *t;
DB_LOCK_STAT *l;
int db_err;
/* Print transaction statistics for this DB env. */
if ((db_err = bfd->bdb->env->txn_stat(bfd->bdb->env, &t, 0)) != 0)
fprintf(stderr, "Error running bfd->bdb->env->txn_stat(): %s",
db_strerror(db_err));
else
{
printf("*** DB transaction stats, right before closing env:\n");
printf(" Number of transactions currently active: %d\n",
t->st_nactive);
printf(" Max number of active transactions at any one time: %d\n",
t->st_maxnactive);
printf(" Number of transactions that have begun: %d\n",
t->st_nbegins);
src/subversion/subversion/libsvn_fs_base/fs.c view on Meta::CPAN
printf(" Number of transactions that have committed: %d\n",
t->st_ncommits);
printf(" Number of times a thread was forced to wait: %d\n",
t->st_region_wait);
printf(" Number of times a thread didn't need to wait: %d\n",
t->st_region_nowait);
printf("*** End DB transaction stats.\n\n");
}
/* Print transaction statistics for this DB env. */
if ((db_err = bfd->bdb->env->lock_stat(bfd->bdb->env, &l, 0)) != 0)
fprintf(stderr, "Error running bfd->bdb->env->lock_stat(): %s",
db_strerror(db_err));
else
{
printf("*** DB lock stats, right before closing env:\n");
printf(" The number of current locks: %d\n",
l->st_nlocks);
printf(" Max number of locks at any one time: %d\n",
l->st_maxnlocks);
printf(" Number of current lockers: %d\n",
l->st_nlockers);
src/subversion/subversion/libsvn_fs_fs/fs_fs.c view on Meta::CPAN
{
svn_stream_t *rev_stream;
apr_finfo_t finfo;
const char *path;
svn_pool_clear(iterpool);
/* Get the size of the file. */
path = svn_dirent_join(shard_path, apr_psprintf(iterpool, "%ld", rev),
iterpool);
SVN_ERR(svn_io_stat(&finfo, path, APR_FINFO_SIZE, iterpool));
/* Update the manifest. */
SVN_ERR(svn_stream_printf(manifest_stream, iterpool, "%" APR_OFF_T_FMT
"\n", next_offset));
next_offset += finfo.size;
/* Copy all the bits from the rev file to the end of the pack file. */
SVN_ERR(svn_stream_open_readonly(&rev_stream, path, iterpool, iterpool));
SVN_ERR(svn_stream_copy3(rev_stream, svn_stream_disown(pack_stream,
iterpool),
src/subversion/subversion/libsvn_fs_fs/fs_fs.c view on Meta::CPAN
for (rev = start_rev; rev <= end_rev; rev++)
{
apr_finfo_t finfo;
const char *path;
svn_pool_clear(iterpool);
/* Get the size of the file. */
path = svn_dirent_join(shard_path, apr_psprintf(iterpool, "%ld", rev),
iterpool);
SVN_ERR(svn_io_stat(&finfo, path, APR_FINFO_SIZE, iterpool));
/* if we already have started a pack file and this revprop cannot be
* appended to it, write the previous pack file. */
if (sizes->nelts != 0 &&
total_size + SVN_INT64_BUFFER_SIZE + finfo.size > max_pack_size)
{
SVN_ERR(copy_revprops(pack_file_dir, pack_filename, shard_path,
start_rev, rev-1, sizes, (apr_size_t)total_size,
compression_level, cancel_func, cancel_baton,
iterpool));
src/subversion/subversion/libsvn_ra/ra_loader.c view on Meta::CPAN
svn_error_t *svn_ra_check_path(svn_ra_session_t *session,
const char *path,
svn_revnum_t revision,
svn_node_kind_t *kind,
apr_pool_t *pool)
{
SVN_ERR_ASSERT(svn_relpath_is_canonical(path));
return session->vtable->check_path(session, path, revision, kind, pool);
}
svn_error_t *svn_ra_stat(svn_ra_session_t *session,
const char *path,
svn_revnum_t revision,
svn_dirent_t **dirent,
apr_pool_t *pool)
{
SVN_ERR_ASSERT(svn_relpath_is_canonical(path));
return session->vtable->stat(session, path, revision, dirent, pool);
}
svn_error_t *svn_ra_get_uuid2(svn_ra_session_t *session,
const char **uuid,
apr_pool_t *pool)
{
SVN_ERR(session->vtable->get_uuid(session, uuid, pool));
*uuid = *uuid ? apr_pstrdup(pool, *uuid) : NULL;
return SVN_NO_ERROR;
}
src/subversion/subversion/libsvn_ra/ra_loader.h view on Meta::CPAN
const apr_array_header_t *revprops,
svn_log_entry_receiver_t receiver,
void *receiver_baton,
apr_pool_t *pool);
/* See svn_ra_check_path(). */
svn_error_t *(*check_path)(svn_ra_session_t *session,
const char *path,
svn_revnum_t revision,
svn_node_kind_t *kind,
apr_pool_t *pool);
/* See svn_ra_stat(). */
svn_error_t *(*stat)(svn_ra_session_t *session,
const char *path,
svn_revnum_t revision,
svn_dirent_t **dirent,
apr_pool_t *pool);
/* See svn_ra_get_uuid2(). */
svn_error_t *(*get_uuid)(svn_ra_session_t *session,
const char **uuid,
apr_pool_t *pool);
/* See svn_ra_get_repos_root2(). */