| 23 | } |
| 24 | |
| 25 | GitExecResult GitMerge::merge(const QString &into, QStringList sources) |
| 26 | { |
| 27 | QLog_Debug("Git", QString("Executing merge: {%1} into {%2}").arg(sources.join(","), into)); |
| 28 | |
| 29 | { |
| 30 | const auto cmd = QString("git checkout -q %1").arg(into); |
| 31 | |
| 32 | QLog_Trace("Git", QString("Checking out the current branch: {%1}").arg(cmd)); |
| 33 | |
| 34 | const auto retCheckout = mGitBase->run(cmd); |
| 35 | |
| 36 | if (!retCheckout.success) |
| 37 | return retCheckout; |
| 38 | } |
| 39 | |
| 40 | const auto cmd2 = QString("git merge -Xignore-all-space ").append(sources.join(" ")); |
| 41 | |
| 42 | QLog_Trace("Git", QString("Merging ignoring spaces: {%1}").arg(cmd2)); |
| 43 | |
| 44 | const auto retMerge = mGitBase->run(cmd2); |
| 45 | |
| 46 | if (retMerge.success) |
| 47 | { |
| 48 | QScopedPointer<GitWip> git(new GitWip(mGitBase, mCache)); |
| 49 | git->updateWip(); |
| 50 | } |
| 51 | |
| 52 | return retMerge; |
| 53 | } |
| 54 | |
| 55 | GitExecResult GitMerge::abortMerge() const |
| 56 | { |