Hello community, here is the log from the commit of package libkomparediff2 for openSUSE:Factory checked in at 2015-10-03 20:26:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkomparediff2 (Old) and /work/SRC/openSUSE:Factory/.libkomparediff2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libkomparediff2" Changes: -------- --- /work/SRC/openSUSE:Factory/libkomparediff2/libkomparediff2.changes 2015-07-14 17:39:23.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libkomparediff2.new/libkomparediff2.changes 2015-10-03 20:26:08.000000000 +0200 @@ -1,0 +2,23 @@ +Sun Sep 13 19:41:44 UTC 2015 - tittiatcoke@gmail.com + +- Update to KDE Applications 15.08.1 + * KDE Applications 15.08.1 + * https://www.kde.org/announcements/announce-applications-15.08.1.php + + +------------------------------------------------------------------- +Wed Aug 19 19:44:20 UTC 2015 - cgiboudeaux@gmx.com + +- Update to KDE Applications 15.08.0 + * KDE Applications 15.08.0 + * https://www.kde.org/announcements/announce-applications-15.08.0.php + +------------------------------------------------------------------- +Fri Aug 7 07:04:02 UTC 2015 - tittiatcoke@gmail.com + +- Update to KDE Applications 15.07.90 + * KDE Applications 15.08.0 RC1 + * https://www.kde.org/announcements/announce-applications-15.07.90.php + + +------------------------------------------------------------------- Old: ---- libkomparediff2-15.04.3.tar.xz New: ---- libkomparediff2-15.08.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkomparediff2.spec ++++++ --- /var/tmp/diff_new_pack.ZqFz01/_old 2015-10-03 20:26:08.000000000 +0200 +++ /var/tmp/diff_new_pack.ZqFz01/_new 2015-10-03 20:26:08.000000000 +0200 @@ -35,7 +35,7 @@ Summary: A library to compare files and strings License: (GPL-2.0+ and LGPL-2.0+) and BSD-2-Clause Group: Development/Libraries/KDE -Version: 15.04.3 +Version: 15.08.1 Release: 0 Url: http://www.kde.org Source0: %{name}-%{version}.tar.xz ++++++ libkomparediff2-15.04.3.tar.xz -> libkomparediff2-15.08.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/diffmodel.cpp new/libkomparediff2-15.08.1/diffmodel.cpp --- old/libkomparediff2-15.04.3/diffmodel.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/diffmodel.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -27,6 +27,7 @@ #include "diffhunk.h" #include "levenshteintable.h" #include "stringlistpair.h" +#include "parserbase.h" Q_DECLARE_LOGGING_CATEGORY(LIBKOMPAREDIFF2) @@ -161,11 +162,11 @@ // recreate header QString tab = QString::fromLatin1( "\t" ); QString nl = QString::fromLatin1( "\n" ); - diff += QString::fromLatin1( "--- %1\t%2" ).arg( m_source ).arg( m_sourceTimestamp ); + diff += QString::fromLatin1( "--- %1\t%2" ).arg( ParserBase::escapePath( m_source ) ).arg( m_sourceTimestamp ); if ( !m_sourceRevision.isEmpty() ) diff += tab + m_sourceRevision; diff += nl; - diff += QString::fromLatin1( "+++ %1\t%2" ).arg( m_destination ).arg( m_destinationTimestamp ); + diff += QString::fromLatin1( "+++ %1\t%2" ).arg( ParserBase::escapePath( m_destination ) ).arg( m_destinationTimestamp ); if ( !m_destinationRevision.isEmpty() ) diff += tab + m_destinationRevision; diff += nl; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/diffsettings.cpp new/libkomparediff2-15.08.1/diffsettings.cpp --- old/libkomparediff2-15.04.3/diffsettings.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/diffsettings.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -106,4 +106,3 @@ config->sync(); } -#include "diffsettings.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/komparemodellist.cpp new/libkomparediff2-15.08.1/komparemodellist.cpp --- old/libkomparediff2-15.04.3/komparemodellist.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/komparemodellist.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -72,35 +72,35 @@ m_applyDifference = m_actionCollection->addAction( "difference_apply", this, SLOT(slotActionApplyDifference()) ); m_applyDifference->setIcon( QIcon::fromTheme("arrow-right") ); m_applyDifference->setText( i18n("&Apply Difference") ); - m_applyDifference->setShortcut( QKeySequence(Qt::Key_Space) ); + m_actionCollection->setDefaultShortcut( m_applyDifference, QKeySequence(Qt::Key_Space) ); m_unApplyDifference = m_actionCollection->addAction( "difference_unapply", this, SLOT(slotActionUnApplyDifference()) ); m_unApplyDifference->setIcon( QIcon::fromTheme("arrow-left") ); m_unApplyDifference->setText( i18n("Un&apply Difference") ); - m_unApplyDifference->setShortcut( QKeySequence(Qt::Key_Backspace) ); + m_actionCollection->setDefaultShortcut( m_unApplyDifference, QKeySequence(Qt::Key_Backspace) ); m_applyAll = m_actionCollection->addAction( "difference_applyall", this, SLOT(slotActionApplyAllDifferences()) ); m_applyAll->setIcon( QIcon::fromTheme("arrow-right-double") ); m_applyAll->setText( i18n("App&ly All") ); - m_applyAll->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_A) ); + m_actionCollection->setDefaultShortcut( m_applyAll, QKeySequence(Qt::CTRL + Qt::Key_A) ); m_unapplyAll = m_actionCollection->addAction( "difference_unapplyall", this, SLOT(slotActionUnapplyAllDifferences()) ); m_unapplyAll->setIcon( QIcon::fromTheme("arrow-left-double") ); m_unapplyAll->setText( i18n("&Unapply All") ); - m_unapplyAll->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_U) ); + m_actionCollection->setDefaultShortcut( m_unapplyAll, QKeySequence(Qt::CTRL + Qt::Key_U) ); m_previousFile = m_actionCollection->addAction( "difference_previousfile", this, SLOT(slotPreviousModel()) ); m_previousFile->setIcon( QIcon::fromTheme("arrow-up-double") ); m_previousFile->setText( i18n("P&revious File") ); - m_previousFile->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_PageUp) ); + m_actionCollection->setDefaultShortcut( m_previousFile, QKeySequence(Qt::CTRL + Qt::Key_PageUp) ); m_nextFile = m_actionCollection->addAction( "difference_nextfile", this, SLOT(slotNextModel()) ); m_nextFile->setIcon( QIcon::fromTheme("arrow-down-double") ); m_nextFile->setText( i18n("N&ext File") ); - m_nextFile->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_PageDown) ); + m_actionCollection->setDefaultShortcut( m_nextFile, QKeySequence(Qt::CTRL + Qt::Key_PageDown) ); m_previousDifference = m_actionCollection->addAction( "difference_previous", this, SLOT(slotPreviousDifference()) ); m_previousDifference->setIcon( QIcon::fromTheme("arrow-up") ); m_previousDifference->setText( i18n("&Previous Difference") ); - m_previousDifference->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_Up) ); + m_actionCollection->setDefaultShortcut( m_previousDifference, QKeySequence(Qt::CTRL + Qt::Key_Up) ); m_nextDifference = m_actionCollection->addAction( "difference_next", this, SLOT(slotNextDifference()) ); m_nextDifference->setIcon( QIcon::fromTheme("arrow-down") ); m_nextDifference->setText( i18n("&Next Difference") ); - m_nextDifference->setShortcut( QKeySequence(Qt::CTRL + Qt::Key_Down) ); + m_actionCollection->setDefaultShortcut( m_nextDifference, QKeySequence(Qt::CTRL + Qt::Key_Down) ); m_previousDifference->setEnabled( false ); m_nextDifference->setEnabled( false ); @@ -417,14 +417,14 @@ return false; } } - KIO::FileCopyJob* copyJob = KIO::file_copy( temp.fileName(), fullDestinationPath ); + KIO::FileCopyJob* copyJob = KIO::file_copy( QUrl::fromLocalFile( temp.fileName() ), fullDestinationPath, -1, KIO::Overwrite); result = copyJob->exec(); } else { qCDebug(LIBKOMPAREDIFF2) << "Tempfilename : " << temp.fileName(); qCDebug(LIBKOMPAREDIFF2) << "DestinationURL : " << m_info->destination; - KIO::FileCopyJob* copyJob = KIO::file_copy( temp.fileName(), m_info->destination ); + KIO::FileCopyJob* copyJob = KIO::file_copy( QUrl::fromLocalFile( temp.fileName() ), m_info->destination , -1, KIO::Overwrite); result = copyJob->exec(); qCDebug(LIBKOMPAREDIFF2) << "true or false?" << result; } @@ -698,7 +698,7 @@ emit error( i18n( "Could not write to the temporary file." ) ); } - KIO::FileCopyJob* copyJob = KIO::file_copy( m_diffTemp->fileName(), QUrl::fromLocalFile( m_diffURL ) ); + KIO::FileCopyJob* copyJob = KIO::file_copy( QUrl::fromLocalFile( m_diffTemp->fileName() ), m_diffURL ); copyJob->exec(); emit status( Kompare::FinishedWritingDiff ); @@ -1512,6 +1512,5 @@ updateModelListActions(); } -#include "komparemodellist.moc" /* vim: set ts=4 sw=4 noet: */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/kompareprocess.cpp new/libkomparediff2-15.08.1/kompareprocess.cpp --- old/libkomparediff2-15.04.3/kompareprocess.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/kompareprocess.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -310,5 +310,4 @@ emit diffHasFinished( exitStatus == NormalExit && exitCode != 0 ); } -#include "kompareprocess.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/parserbase.cpp new/libkomparediff2-15.08.1/parserbase.cpp --- old/libkomparediff2-15.04.3/parserbase.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/parserbase.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -29,6 +29,42 @@ using namespace Diff2; +// static +QString ParserBase::unescapePath( QString path ) +{ + // If path contains spaces, it is enclosed in quotes + if ( path.startsWith( QLatin1Char( '"' ) ) && path.endsWith( QLatin1Char( '"' ) ) ) + path = path.mid(1, path.size() - 2 ); + + // Unescape quotes + path.replace( QLatin1String( "\\\"" ), QLatin1String ("\"" ) ); + +#ifndef Q_OS_WIN + // Unescape backquotes + path.replace( QLatin1String( "\\\\" ), QLatin1String ("\\" ) ); +#endif + + return path; +} + +// static +QString ParserBase::escapePath( QString path ) +{ +#ifndef Q_OS_WIN + // Escape backquotes + path.replace( QLatin1String( "\\" ), QLatin1String ("\\\\" ) ); +#endif + + // Escape quotes + path.replace( QLatin1String( "\"" ), QLatin1String ("\\\"" ) ); + + // Enclose in quotes if path contains space + if ( path.contains( QLatin1Char( ' ' ) ) ) + path = QStringLiteral("\"%1\"").arg(path); + + return path; +} + ParserBase::ParserBase( const KompareModelList* list, const QStringList& diff ) : m_diffLines( diff ), m_currentModel( 0 ), @@ -137,7 +173,7 @@ // qCDebug(LIBKOMPAREDIFF2) << "Matched length Header2 = " << m_contextDiffHeader2.matchedLength(); // qCDebug(LIBKOMPAREDIFF2) << "Matched string Header2 = " << m_contextDiffHeader2.cap( 0 ); - m_currentModel = new DiffModel( m_contextDiffHeader1.cap( 1 ), m_contextDiffHeader2.cap( 1 ) ); + m_currentModel = new DiffModel( unescapePath( m_contextDiffHeader1.cap( 1 ) ), unescapePath( m_contextDiffHeader2.cap( 1 ) ) ); m_currentModel->setSourceTimestamp ( m_contextDiffHeader1.cap( 3 ) ); m_currentModel->setSourceRevision ( m_contextDiffHeader1.cap( 5 ) ); m_currentModel->setDestinationTimestamp( m_contextDiffHeader2.cap( 3 ) ); @@ -179,8 +215,8 @@ // qCDebug(LIBKOMPAREDIFF2) << "Matched string Header = " << m_normalDiffHeader.cap( 0 ); m_currentModel = new DiffModel(); - m_currentModel->setSourceFile ( m_normalDiffHeader.cap( 1 ) ); - m_currentModel->setDestinationFile ( m_normalDiffHeader.cap( 2 ) ); + m_currentModel->setSourceFile ( unescapePath( m_normalDiffHeader.cap( 1 ) ) ); + m_currentModel->setDestinationFile ( unescapePath( m_normalDiffHeader.cap( 2 ) ) ); result = true; @@ -227,7 +263,7 @@ ++m_diffIterator; if ( m_diffIterator != m_diffLines.end() && m_unifiedDiffHeader2.exactMatch( *m_diffIterator ) ) { - m_currentModel = new DiffModel( m_unifiedDiffHeader1.cap( 1 ), m_unifiedDiffHeader2.cap( 1 ) ); + m_currentModel = new DiffModel( unescapePath( m_unifiedDiffHeader1.cap( 1 ) ), unescapePath( m_unifiedDiffHeader2.cap( 1 ) ) ); m_currentModel->setSourceTimestamp( m_unifiedDiffHeader1.cap( 2 ) ); m_currentModel->setSourceRevision( m_unifiedDiffHeader1.cap( 4 ) ); m_currentModel->setDestinationTimestamp( m_unifiedDiffHeader2.cap( 2 ) ); @@ -640,7 +676,8 @@ if ( m_diffIterator != m_diffLines.end() && !header.exactMatch( *m_diffIterator ) && !m_diffIterator->startsWith("Index: ") /* SVN diff */ - && !m_diffIterator->startsWith("diff ") /* concatenated diff */) + && !m_diffIterator->startsWith("diff ") /* concatenated diff */ + && !m_diffIterator->startsWith("-- ") /* git format-patch */) m_malformed = true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/parserbase.h new/libkomparediff2-15.08.1/parserbase.h --- old/libkomparediff2-15.04.3/parserbase.h 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/parserbase.h 2015-07-10 18:59:30.000000000 +0200 @@ -37,6 +37,9 @@ ParserBase( const KompareModelList* list, const QStringList& diff ); virtual ~ParserBase(); + static QString escapePath( QString path ); + static QString unescapePath( QString path ); + public: enum Kompare::Format format() { return determineFormat(); }; DiffModelList* parse( bool* malformed = 0 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkomparediff2-15.04.3/settingsbase.cpp new/libkomparediff2-15.08.1/settingsbase.cpp --- old/libkomparediff2-15.04.3/settingsbase.cpp 2015-03-12 12:47:57.000000000 +0100 +++ new/libkomparediff2-15.08.1/settingsbase.cpp 2015-07-10 18:59:30.000000000 +0200 @@ -37,4 +37,3 @@ { } -#include "settingsbase.moc"