From 367d0dc4f723a0149cd234e9a2566cd0fb8a1372 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 2 Sep 2020 16:04:44 +0900 Subject: [PATCH] Improve git archive userbility Archive should be saved at one level upper directory from repo dir. When user change archive name to e.g. project-v1.0, Qt Creator saves it to project-v1.tar.gz now. It should be project-v1.0.tar.gz Change-Id: Ibcd3c6bd8413bbb28fcdae13e5eb43016dc2b6a3 Reviewed-by: Orgad Shaneh --- src/plugins/git/gitclient.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 4773e148dfd..5014f9afe6e 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1225,7 +1225,7 @@ void GitClient::archive(const QString &workingDirectory, QString commit) QString archiveName = QFileDialog::getSaveFileName( ICore::dialogParent(), tr("Generate %1 archive").arg(repoName), - repoDirectory + QString("/%1-%2").arg(repoName).arg(commit.left(8)), + repoDirectory + QString("/../%1-%2").arg(repoName).arg(commit.left(8)), filters.keys().join(";;"), &selectedFilter); if (archiveName.isEmpty()) @@ -1233,7 +1233,7 @@ void GitClient::archive(const QString &workingDirectory, QString commit) QString extension = filters.value(selectedFilter); QFileInfo archive(archiveName); if (archive.completeSuffix() != extension) { - archive = QFileInfo(archive.absoluteDir().absoluteFilePath(archive.baseName() + extension)); + archive = QFileInfo(archive.filePath() + extension); } if (archive.exists()) {