Alien-SVN

 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(). */



( run in 0.905 second using v1.01-cache-2.11-cpan-49f99fa48dc )