[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdevplatform/plugins/subversion
From: Andreas Pakulat <apaku () gmx ! de>
Date: 2009-07-25 19:36:47
Message-ID: 1248550607.968852.1896.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1002372 by apaku:
Fix locking problem, apparently cli.checkout() calls the contextCancel a
couple of times and as the mutex was locked this caused a deadlock.
CCBUG:187978
M +16 -7 svncheckoutjob.cpp
M +2 -0 svncheckoutjob_p.h
--- trunk/KDE/kdevplatform/plugins/subversion/svncheckoutjob.cpp #1002371:1002372
@@ -50,17 +50,15 @@
svn::Client cli(m_ctxt);
try
{
- QMutexLocker l( m_mutex );
- bool recurse = ( m_recursion == KDevelop::IBasicVersionControl::Recursive );
- QByteArray srcba = m_sourceRepository.repositoryServer().toUtf8();
- QByteArray destba = m_destinationDirectory.toLocalFile().toUtf8();
+ bool recurse = ( recursion() == KDevelop::IBasicVersionControl::Recursive );
+ QByteArray srcba = source().repositoryServer().toUtf8();
+ QByteArray destba = destination().toLocalFile().toUtf8();
kDebug(9510) << srcba << destba;
- cli.checkout( srcba.data(), svn::Path( destba.data() ), \
svn::Revision(svn::Revision::HEAD), recurse ); + svn_revnum_t rev = \
cli.checkout( srcba.data(), svn::Path( destba.data() ), \
svn::Revision(svn_opt_revision_number), recurse ); }catch( svn::ClientException ce )
{
- QMutexLocker l( m_mutex );
kDebug(9510) << "Exception while checking out: "
- << m_sourceRepository.repositoryServer()
+ << source().repositoryServer()
<< QString::fromUtf8( ce.message() );
setErrorMessage( QString::fromUtf8( ce.message() ) );
m_success = false;
@@ -82,7 +80,18 @@
return m_sourceRepository;
}
+KDevelop::IBasicVersionControl::RecursionMode SvnInternalCheckoutJob::recursion() \
const +{
+ QMutexLocker l( m_mutex );
+ return m_recursion;
+}
+KUrl SvnInternalCheckoutJob::destination() const
+{
+ QMutexLocker l( m_mutex );
+ return m_destinationDirectory;
+}
+
SvnCheckoutJob::SvnCheckoutJob( KDevSvnPlugin* parent, \
KDevelop::OutputJob::OutputJobVerbosity verbosity ) : SvnJobBase( parent, verbosity \
) {
--- trunk/KDE/kdevplatform/plugins/subversion/svncheckoutjob_p.h #1002371:1002372
@@ -34,6 +34,8 @@
bool isValid() const;
KDevelop::VcsLocation source() const;
+ KUrl destination() const;
+ KDevelop::IBasicVersionControl::RecursionMode recursion() const;
protected:
void run();
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic