diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp index 3ee70d2b08a..098fdea7287 100644 --- a/src/plugins/bazaar/bazaarplugin.cpp +++ b/src/plugins/bazaar/bazaarplugin.cpp @@ -920,7 +920,7 @@ bool BazaarPluginPrivate::vcsMove(const FilePath &from, const FilePath &to) bool BazaarPluginPrivate::vcsCreateRepository(const FilePath &directory) { - return m_client.synchronousCreateRepository(directory.toString()); + return m_client.synchronousCreateRepository(directory); } void BazaarPluginPrivate::vcsAnnotate(const FilePath &file, int line) diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index e134d1c681e..4c23d65a97e 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -203,12 +203,12 @@ static QString absoluteWithNoTrailingSlash(const QString &directory) return res; } -void VcsManager::resetVersionControlForDirectory(const QString &inputDirectory) +void VcsManager::resetVersionControlForDirectory(const FilePath &inputDirectory) { if (inputDirectory.isEmpty()) return; - const QString directory = absoluteWithNoTrailingSlash(inputDirectory); + const QString directory = absoluteWithNoTrailingSlash(inputDirectory.toString()); d->resetCache(directory); emit m_instance->repositoryChanged(directory); } diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index e663e1ff089..6a8cfc351fa 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -63,7 +63,7 @@ public: static const QList versionControls(); static IVersionControl *versionControl(Utils::Id id); - static void resetVersionControlForDirectory(const QString &inputDirectory); + static void resetVersionControlForDirectory(const Utils::FilePath &inputDirectory); static IVersionControl *findVersionControlForDirectory(const QString &directory, QString *topLevelDirectory = nullptr); static QString findTopLevelForDirectory(const QString &directory); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index f110dc198b1..b4be20eadc8 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1529,7 +1529,7 @@ bool GitClient::synchronousReset(const QString &workingDirectory, } // Initialize repository -bool GitClient::synchronousInit(const QString &workingDirectory) +bool GitClient::synchronousInit(const FilePath &workingDirectory) { QtcProcess proc; vcsFullySynchronousExec(proc, workingDirectory, QStringList{"init"}); diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index a39b15554e7..1f1b164cdff 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -200,7 +200,7 @@ public: QStringList *files, QStringList *ignoredFiles, QString *errorMessage); bool synchronousApplyPatch(const QString &workingDirectory, const QString &file, QString *errorMessage, const QStringList &extraArguments = QStringList()); - bool synchronousInit(const QString &workingDirectory); + bool synchronousInit(const Utils::FilePath &workingDirectory); bool synchronousCheckoutFiles(const QString &workingDirectory, QStringList files = QStringList(), QString revision = QString(), QString *errorMessage = nullptr, bool revertStaging = true); diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index ba30d52192b..46188534e0c 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1899,7 +1899,7 @@ bool GitPluginPrivate::vcsMove(const FilePath &from, const FilePath &to) bool GitPluginPrivate::vcsCreateRepository(const FilePath &directory) { - return m_gitClient.synchronousInit(directory.toString()); + return m_gitClient.synchronousInit(directory); } QString GitPluginPrivate::vcsTopic(const FilePath &directory) diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp index bc2789860dd..cefe23292c3 100644 --- a/src/plugins/mercurial/mercurialclient.cpp +++ b/src/plugins/mercurial/mercurialclient.cpp @@ -112,7 +112,7 @@ bool MercurialClient::manifestSync(const QString &repository, const QString &rel } //bool MercurialClient::clone(const QString &directory, const QString &url) -bool MercurialClient::synchronousClone(const QString &workingDir, +bool MercurialClient::synchronousClone(const FilePath &workingDir, const QString &srcLocation, const QString &dstLocation, const QStringList &extraOptions) diff --git a/src/plugins/mercurial/mercurialclient.h b/src/plugins/mercurial/mercurialclient.h index 9072b8e87c8..e67853c24ed 100644 --- a/src/plugins/mercurial/mercurialclient.h +++ b/src/plugins/mercurial/mercurialclient.h @@ -42,7 +42,7 @@ class MercurialClient : public VcsBase::VcsBaseClient public: explicit MercurialClient(MercurialSettings *settings); - bool synchronousClone(const QString &workingDir, + bool synchronousClone(const Utils::FilePath &workingDir, const QString &srcLocation, const QString &dstLocation, const QStringList &extraOptions = QStringList()) override; diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp index 24050373108..f1ca7dfb64e 100644 --- a/src/plugins/mercurial/mercurialplugin.cpp +++ b/src/plugins/mercurial/mercurialplugin.cpp @@ -821,7 +821,7 @@ bool MercurialPluginPrivate::vcsMove(const FilePath &from, const FilePath &to) bool MercurialPluginPrivate::vcsCreateRepository(const FilePath &directory) { - return m_client.synchronousCreateRepository(directory.toString()); + return m_client.synchronousCreateRepository(directory); } void MercurialPluginPrivate::vcsAnnotate(const FilePath &filePath, int line) diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 910558ec4a1..75dd748dcd4 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -144,6 +144,20 @@ QString VcsBaseClientImpl::stripLastNewline(const QString &in) return in; } +void VcsBaseClientImpl::vcsFullySynchronousExec(QtcProcess &proc, + const QString &workingDir, const QStringList &args, + unsigned flags, int timeoutS, QTextCodec *codec) const +{ + vcsFullySynchronousExec(proc, workingDir, {vcsBinary(), args}, flags, timeoutS, codec); +} + +void VcsBaseClientImpl::vcsFullySynchronousExec(QtcProcess &proc, + const FilePath &workingDir, const QStringList &args, + unsigned flags, int timeoutS, QTextCodec *codec) const +{ + vcsFullySynchronousExec(proc, workingDir.toString(), {vcsBinary(), args}, flags, timeoutS, codec); +} + void VcsBaseClientImpl::vcsFullySynchronousExec(QtcProcess &proc, const QString &workingDir, const CommandLine &cmdLine, unsigned flags, int timeoutS, QTextCodec *codec) const @@ -156,7 +170,7 @@ void VcsBaseClientImpl::vcsFullySynchronousExec(QtcProcess &proc, command.runCommand(proc, cmdLine); } -void VcsBaseClientImpl::resetCachedVcsInfo(const QString &workingDir) +void VcsBaseClientImpl::resetCachedVcsInfo(const FilePath &workingDir) { Core::VcsManager::resetVersionControlForDirectory(workingDir); } @@ -174,13 +188,6 @@ void VcsBaseClientImpl::annotateRevisionRequested(const QString &workingDirector annotate(workingDirectory, file, changeCopy, line); } -void VcsBaseClientImpl::vcsFullySynchronousExec(QtcProcess &proc, - const QString &workingDir, const QStringList &args, - unsigned flags, int timeoutS, QTextCodec *codec) const -{ - vcsFullySynchronousExec(proc, workingDir, {vcsBinary(), args}, flags, timeoutS, codec); -} - VcsCommand *VcsBaseClientImpl::vcsExec(const QString &workingDirectory, const QStringList &arguments, VcsBaseEditorWidget *editor, bool useOutputToWindow, unsigned additionalFlags, const QVariant &cookie) const @@ -254,7 +261,7 @@ VcsBaseClient::VcsBaseClient(VcsBaseSettings *baseSettings) qRegisterMetaType(); } -bool VcsBaseClient::synchronousCreateRepository(const QString &workingDirectory, +bool VcsBaseClient::synchronousCreateRepository(const FilePath &workingDirectory, const QStringList &extraOptions) { QStringList args(vcsCommandString(CreateRepositoryCommand)); @@ -270,7 +277,7 @@ bool VcsBaseClient::synchronousCreateRepository(const QString &workingDirectory, return true; } -bool VcsBaseClient::synchronousClone(const QString &workingDir, +bool VcsBaseClient::synchronousClone(const FilePath &workingDir, const QString &srcLocation, const QString &dstLocation, const QStringList &extraOptions) diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h index a1789e03256..01d9ce72173 100644 --- a/src/plugins/vcsbase/vcsbaseclient.h +++ b/src/plugins/vcsbase/vcsbaseclient.h @@ -101,6 +101,9 @@ public: void vcsFullySynchronousExec(Utils::QtcProcess &process, const QString &workingDir, const Utils::CommandLine &cmdLine, unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const; + void vcsFullySynchronousExec(Utils::QtcProcess &process, + const Utils::FilePath &workingDir, const QStringList &args, + unsigned flags = 0, int timeoutS = -1, QTextCodec *codec = nullptr) const; // Simple helper to execute a single command using createCommand and enqueueJob. @@ -109,7 +112,7 @@ public: unsigned additionalFlags = 0, const QVariant &cookie = QVariant()) const; protected: - void resetCachedVcsInfo(const QString &workingDir); + void resetCachedVcsInfo(const Utils::FilePath &workingDir); virtual void annotateRevisionRequested(const QString &workingDirectory, const QString &file, const QString &change, int line); @@ -142,12 +145,12 @@ public: explicit VcsBaseClient(VcsBaseSettings *baseSettings); - virtual bool synchronousCreateRepository(const QString &workingDir, - const QStringList &extraOptions = QStringList()); - virtual bool synchronousClone(const QString &workingDir, + virtual bool synchronousCreateRepository(const Utils::FilePath &workingDir, + const QStringList &extraOptions = {}); + virtual bool synchronousClone(const Utils::FilePath &workingDir, const QString &srcLocation, const QString &dstLocation, - const QStringList &extraOptions = QStringList()); + const QStringList &extraOptions = {}); virtual bool synchronousAdd(const QString &workingDir, const QString &fileName, const QStringList &extraOptions = QStringList()); virtual bool synchronousRemove(const QString &workingDir, const QString &fileName,