Git: Added Merge and Rebase

Added git functions - "Merge" and "Rebase"
They are in the "Branches" dialog:
- Merge - merge selected branch into current one
- Rebase - rebase current branch on selected one

Task-number: QTCREATORBUG-8367

Change-Id: I9ed306c64d5d4b7bd1d58730a5e1009f0bd4ec0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Petar Perisin
2012-12-21 23:49:29 +01:00
committed by Tobias Hunger
parent 2396f34fda
commit 7df112b687
5 changed files with 156 additions and 47 deletions

View File

@@ -179,6 +179,10 @@ public:
bool synchronousPull(const QString &workingDirectory, bool rebase);
bool synchronousRebaseContinue(const QString &workingDirectory);
bool synchronousPush(const QString &workingDirectory, const QString &remote = QString());
bool synchronousMerge(const QString &workingDirectory, const QString &branch);
bool synchronousRebase(const QString &workingDirectory,
const QString &baseBranch,
const QString &topicBranch = QString());
// git svn support (asynchronous).
void synchronousSubversionFetch(const QString &workingDirectory);
@@ -296,7 +300,7 @@ private:
QString *errorMessage,
bool revertStaging);
void connectRepositoryChanged(const QString & repository, VcsBase::Command *cmd);
bool synchronousPullOrRebase(const QString &workingDirectory, const QStringList &arguments, bool rebase);
bool synchronousMergeOrRebase(const QString &workingDirectory, const QStringList &arguments, bool rebase);
void handleMergeConflicts(const QString &workingDir, bool rebase);
bool tryLauchingGitK(const QProcessEnvironment &env,
const QString &workingDirectory,