Changeset 138 for trunk/lib/SVN.cc


Ignore:
Timestamp:
Aug 3, 2006, 11:40:15 PM (15 years ago)
Author:
Jari Häkkinen
Message:

Fixes #23. No system calls to svn are done anymore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/SVN.cc

    r129 r138  
    103103                                                    APR_HASH_KEY_STRING)),
    104104                                          context_->cancel_func,
    105                                           context_->cancel_baton, pool_)))
    106       svn_handle_error2(err, stderr, TRUE, "svnstat: ");
     105                                          context_->cancel_baton, pool_))) {
     106      svn_handle_error2(err, stderr, false, "svnstat: ");
     107      svn_error_clear(err);
     108      throw SVNException("SVN(void): svn_cmdline_setup_auth_baton failed");
     109    }
    107110  }
    108111
     
    115118    // at program exit, ok since SVN is a singleton
    116119    delete instance_;
     120  }
     121
     122
     123  svn_error_t* SVN::client_blame(const std::string& path,
     124                                 svn_client_blame_receiver_t receiver,
     125                                 void *baton)
     126  {
     127    // Setup to use all revisions
     128    svn_opt_revision_t peg, start, head;
     129    peg.kind=svn_opt_revision_unspecified;
     130    start.kind=svn_opt_revision_number;
     131    start.value.number=0;
     132    head.kind=svn_opt_revision_head;
     133    svn_error_t* err=svn_client_blame3(path.c_str(), &peg, &start, &head,
     134                                       // Jari, below line creates memory leaks
     135                                       svn_diff_file_options_create(pool_),
     136                                       false, receiver, baton, context_, pool_);
     137    if (err && err->apr_err!=SVN_ERR_CLIENT_IS_BINARY_FILE) {
     138      svn_handle_error2(err, stderr, false, "svnstat: ");
     139      svn_error_clear(err);
     140      throw SVNException("SVN::client_blame: svn_client_blame3 failed");
     141    }
     142    return err;
    117143  }
    118144
Note: See TracChangeset for help on using the changeset viewer.