Bug 141025 - Subversion plugin of kdevelop does N commits when commiting N files
Summary: Subversion plugin of kdevelop does N commits when commiting N files
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: subversion (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-01 22:04 UTC by Albert Astals Cid
Modified: 2008-08-23 22:55 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Astals Cid 2007-02-01 22:04:35 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Compiled From Sources

[22:01] <adymo> i don't need kioslave to check that :) i have the code and code says we indeed do N commits for N files
[22:01] <adymo> so can we have a bug report please ;)

So here it is. KDevelop is doing N commits when comminting N files and that is bad as one loses the "atomic commits" benefit of using SVN.
Comment 1 Andreas Pakulat 2007-02-28 02:26:11 UTC
SVN commit 637874 by apaku:

Fix comitting of multiple files. 

Thanks to  dukju ahn <dukjuahn@gmail.com> for the patch.
BUG:141025


 M  +9 -8      subversion_core.cpp  


--- branches/kdevelop/3.4/vcs/subversion/subversion_core.cpp #637873:637874
@@ -222,16 +222,17 @@
 		servURL.setProtocol( "svn+" + servURL.protocol() ); //make sure it starts with "svn"
 	}
 	kdDebug(9036) << "servURL : " << servURL.prettyURL() << endl;
+	QByteArray parms;
+	QDataStream s( parms, IO_WriteOnly );
+	int cmd = 3;
+ 	s << cmd;
 	for ( QValueListConstIterator<KURL> it = list.begin(); it != list.end() ; ++it ) {
-		kdDebug(9036) << "commiting : " << (*it).prettyURL() << endl;
-		QByteArray parms;
-		QDataStream s( parms, IO_WriteOnly );
-		int cmd = 3;
-		s << cmd << *it;
-		SimpleJob * job = KIO::special(servURL, parms, true);
-		job->setWindow( m_part->mainWindow()->main() );
-		connect( job, SIGNAL( result( KIO::Job * ) ), this, SLOT( slotResult( KIO::Job * ) ) );
+		kdDebug(9036) << "adding to list: " << (*it).prettyURL() << endl;
+		s << *it;
 	}
+	SimpleJob * job = KIO::special(servURL, parms, true);
+	job->setWindow( m_part->mainWindow()->main() );
+	connect( job, SIGNAL( result( KIO::Job * ) ), this, SLOT( slotResult( KIO::Job * ) ) );
 }
 
 void subversionCore::add( const KURL::List& list ) {