Git: Explicitly pop stored stashes

If the user created another stashed between save and
pop, this stash will be restored instead of the intended
one.

Change-Id: I605c9f440345d8c7e0876f4f60daa7146bebb212
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2013-01-22 21:10:43 +02:00
parent 63439a5f21
commit c670a66fe1
3 changed files with 13 additions and 5 deletions

View File

@@ -2277,14 +2277,21 @@ QString GitClient::msgNoChangedFiles()
return tr("There are no modified files.");
}
void GitClient::stashPop(const QString &workingDirectory)
void GitClient::stashPop(const QString &workingDirectory, const QString &stash)
{
QStringList arguments(QLatin1String("stash"));
arguments << QLatin1String("pop");
if (!stash.isEmpty())
arguments << stash;
VcsBase::Command *cmd = executeGit(workingDirectory, arguments, 0, true);
connectRepositoryChanged(workingDirectory, cmd);
}
void GitClient::stashPop(const QString &workingDirectory)
{
stashPop(workingDirectory, QString());
}
bool GitClient::synchronousStashRestore(const QString &workingDirectory,
const QString &stash,
bool pop,