summaryrefslogtreecommitdiff
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorFrancois Ferrand <thetypz@gmail.com>2013-09-24 14:44:22 +0200
committerOrgad Shaneh <orgads@gmail.com>2013-09-26 23:10:59 +0200
commit367cfc841967ab9c3ed2e2615a34e57a5d968513 (patch)
treeeca1b73f1729e03fcf5559ee2b1ed9122fc41aa8 /src/plugins/git/gitclient.cpp
parentc372f7b60180bebaaab1fbe144a18b1f25c669b7 (diff)
downloadqt-creator-367cfc841967ab9c3ed2e2615a34e57a5d968513.tar.gz
Git: Support staging a single chunk.
Add context menu in diff editor to stage/unstage a single chunk from the diff. Task-number: QTCREATORBUG-5875 Change-Id: Ic244a0d84b5ed5f66b90d7fe8784fc1b8041d183 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 4de3a026d2..9a91cc7491 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -1115,6 +1115,8 @@ void GitClient::diff(const QString &workingDirectory,
workingDirectory,
argWidget);
newEditor = vcsEditor->editor();
+ connect(vcsEditor, SIGNAL(diffChunkApplied(VcsBase::DiffChunk)),
+ argWidget, SLOT(executeCommand()));
connect(vcsEditor, SIGNAL(diffChunkReverted(VcsBase::DiffChunk)),
argWidget, SLOT(executeCommand()));
}
@@ -1222,6 +1224,8 @@ void GitClient::diff(const QString &workingDirectory,
sourceFile,
argWidget);
newEditor = vcsEditor->editor();
+ connect(vcsEditor, SIGNAL(diffChunkApplied(VcsBase::DiffChunk)),
+ argWidget, SLOT(executeCommand()));
connect(vcsEditor, SIGNAL(diffChunkReverted(VcsBase::DiffChunk)),
argWidget, SLOT(executeCommand()));
}
@@ -2433,10 +2437,11 @@ bool GitClient::synchronousCleanList(const QString &workingDirectory, QStringLis
}
bool GitClient::synchronousApplyPatch(const QString &workingDirectory,
- const QString &file, QString *errorMessage)
+ const QString &file, QString *errorMessage,
+ const QStringList &arguments)
{
QStringList args;
- args << QLatin1String("apply") << QLatin1String("--whitespace=fix") << file;
+ args << QLatin1String("apply") << QLatin1String("--whitespace=fix") << arguments << file;
QByteArray outputText;
QByteArray errorText;
const bool rc = fullySynchronousGit(workingDirectory, args, &outputText, &errorText);