From 59c729f8643ff7826c4685e5503f1c713d6e0b25 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 28 Aug 2015 08:55:15 +0200 Subject: [PATCH] PatchTool: Enable using git instead of patch. Git for Windows as of version 2.5 no longer ships patch.exe, which breaks Qt Creator's patching/reverting features. Enhance the PatchTool to be able to use git for this by automatically prepending the 'apply' argument. Change-Id: I5ce98ebc61e2459b855b93b7b33495575170ae99 Reviewed-by: Eike Ziller Reviewed-by: Tobias Hunger --- src/plugins/coreplugin/patchtool.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/coreplugin/patchtool.cpp b/src/plugins/coreplugin/patchtool.cpp index 098575b3251..9224de5ef6a 100644 --- a/src/plugins/coreplugin/patchtool.cpp +++ b/src/plugins/coreplugin/patchtool.cpp @@ -95,6 +95,12 @@ bool PatchTool::runPatch(const QByteArray &input, const QString &workingDirector if (!workingDirectory.isEmpty()) patchProcess.setWorkingDirectory(workingDirectory); QStringList args; + // Add argument 'apply' when git is used as patch command since git 2.5/Windows + // no longer ships patch.exe. + if (patch.endsWith(QLatin1String("git"), Qt::CaseInsensitive) + || patch.endsWith(QLatin1String("git.exe"), Qt::CaseInsensitive)) { + args << QLatin1String("apply"); + } if (strip >= 0) args << (QLatin1String("-p") + QString::number(strip)); if (reverse)