diff options
author | hjk <hjk@qt.io> | 2021-07-30 16:46:27 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2021-08-02 14:40:33 +0000 |
commit | ff57cb548d2c528a42fa2870b2486cddc08acfb7 (patch) | |
tree | 0c7f371818d436d79cd3d65fac1c98de4d2391bf /src/plugins/subversion | |
parent | 17f907da9bd73d9b1515cbdd269c93f0061b7071 (diff) |
Vcs: Use more FilePath for file paths
Change-Id: I855cde65d034a9647972a7fddf1e8266d7ccfa88
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/subversion')
-rw-r--r-- | src/plugins/subversion/subversionclient.cpp | 21 | ||||
-rw-r--r-- | src/plugins/subversion/subversionclient.h | 21 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.cpp | 98 |
3 files changed, 69 insertions, 71 deletions
diff --git a/src/plugins/subversion/subversionclient.cpp b/src/plugins/subversion/subversionclient.cpp index b0277bef023..8ddef09d0a2 100644 --- a/src/plugins/subversion/subversionclient.cpp +++ b/src/plugins/subversion/subversionclient.cpp @@ -78,7 +78,7 @@ SubversionClient::SubversionClient(SubversionSettings *settings) : VcsBaseClient }); } -bool SubversionClient::doCommit(const QString &repositoryRoot, +bool SubversionClient::doCommit(const FilePath &repositoryRoot, const QStringList &files, const QString &commitMessageFile, const QStringList &extraOptions) const @@ -97,7 +97,7 @@ bool SubversionClient::doCommit(const QString &repositoryRoot, return proc.result() == QtcProcess::FinishedWithSuccess; } -void SubversionClient::commit(const QString &repositoryRoot, +void SubversionClient::commit(const FilePath &repositoryRoot, const QStringList &files, const QString &commitMessageFile, const QStringList &extraOptions) @@ -140,7 +140,7 @@ QStringList SubversionClient::addAuthenticationOptions(const SubversionSettings return rc; } -QString SubversionClient::synchronousTopic(const QString &repository) const +QString SubversionClient::synchronousTopic(const FilePath &repository) const { QStringList args; @@ -278,7 +278,7 @@ SubversionDiffEditorController *SubversionClient::findOrCreateDiffEditor(const Q return controller; } -void SubversionClient::diff(const QString &workingDirectory, const QStringList &files, const QStringList &extraOptions) +void SubversionClient::diff(const FilePath &workingDirectory, const QStringList &files, const QStringList &extraOptions) { Q_UNUSED(extraOptions) @@ -287,13 +287,13 @@ void SubversionClient::diff(const QString &workingDirectory, const QStringList & + QLatin1String(".Diff.") + VcsBaseEditor::getTitleId(workingDirectory, files); const QString title = vcsEditorTitle(vcsCmdString, documentId); - SubversionDiffEditorController *controller = findOrCreateDiffEditor(documentId, workingDirectory, title, - workingDirectory); + SubversionDiffEditorController *controller = + findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory.toString()); controller->setFilesList(files); controller->requestReload(); } -void SubversionClient::log(const QString &workingDir, +void SubversionClient::log(const FilePath &workingDir, const QStringList &files, const QStringList &extraOptions, bool enableAnnotationContextMenu) @@ -310,15 +310,16 @@ void SubversionClient::log(const QString &workingDir, VcsBaseClient::log(workingDir, escapeFiles(files), svnExtraOptions, enableAnnotationContextMenu); } -void SubversionClient::describe(const QString &workingDirectory, int changeNumber, const QString &title) +void SubversionClient::describe(const FilePath &workingDirectory, int changeNumber, const QString &title) { const QString documentId = QLatin1String(Constants::SUBVERSION_PLUGIN) + QLatin1String(".Describe.") + VcsBaseEditor::editorTag(DiffOutput, - workingDirectory, + workingDirectory.toString(), QStringList(), QString::number(changeNumber)); - SubversionDiffEditorController *controller = findOrCreateDiffEditor(documentId, workingDirectory, title, workingDirectory); + SubversionDiffEditorController *controller = + findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory.toString()); controller->setChangeNumber(changeNumber); controller->requestReload(); } diff --git a/src/plugins/subversion/subversionclient.h b/src/plugins/subversion/subversionclient.h index 7d7ec85b366..036f314b152 100644 --- a/src/plugins/subversion/subversionclient.h +++ b/src/plugins/subversion/subversionclient.h @@ -44,29 +44,30 @@ class SubversionClient : public VcsBase::VcsBaseClient public: SubversionClient(SubversionSettings *settings); - bool doCommit(const QString &repositoryRoot, + bool doCommit(const Utils::FilePath &repositoryRoot, const QStringList &files, const QString &commitMessageFile, - const QStringList &extraOptions = QStringList()) const; - void commit(const QString &repositoryRoot, + const QStringList &extraOptions = {}) const; + void commit(const Utils::FilePath &repositoryRoot, const QStringList &files, const QString &commitMessageFile, - const QStringList &extraOptions = QStringList()) override; + const QStringList &extraOptions = {}) override; - void diff(const QString &workingDirectory, const QStringList &files, + void diff(const Utils::FilePath &workingDirectory, + const QStringList &files, const QStringList &extraOptions) override; - void log(const QString &workingDir, - const QStringList &files = QStringList(), - const QStringList &extraOptions = QStringList(), + void log(const Utils::FilePath &workingDir, + const QStringList &files = {}, + const QStringList &extraOptions = {}, bool enableAnnotationContextMenu = false) override; - void describe(const QString &workingDirectory, int changeNumber, const QString &title); + void describe(const Utils::FilePath &workingDirectory, int changeNumber, const QString &title); // Add authorization options to the command line arguments. static QStringList addAuthenticationOptions(const SubversionSettings &settings); - QString synchronousTopic(const QString &repository) const; + QString synchronousTopic(const Utils::FilePath &repository) const; static QString escapeFile(const QString &file); static QStringList escapeFiles(const QStringList &files); diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 915e2cc89e8..7519d3defe6 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -235,20 +235,20 @@ public: SubversionSubmitEditor *openSubversionSubmitEditor(const QString &fileName); // IVersionControl - bool vcsAdd(const QString &workingDir, const QString &fileName); - bool vcsDelete(const QString &workingDir, const QString &fileName); - bool vcsMove(const QString &workingDir, const QString &from, const QString &to); - bool vcsCheckout(const QString &directory, const QByteArray &url); + bool vcsAdd(const FilePath &workingDir, const QString &fileName); + bool vcsDelete(const FilePath &workingDir, const QString &fileName); + bool vcsMove(const FilePath &workingDir, const QString &from, const QString &to); + bool vcsCheckout(const FilePath &directory, const QByteArray &url); static SubversionPluginPrivate *instance(); - QString monitorFile(const QString &repository) const; - QString synchronousTopic(const QString &repository) const; - SubversionResponse runSvn(const QString &workingDir, + QString monitorFile(const FilePath &repository) const; + QString synchronousTopic(const FilePath &repository) const; + SubversionResponse runSvn(const FilePath &workingDir, const QStringList &arguments, int timeOutS, unsigned flags, QTextCodec *outputCodec = nullptr) const; - void vcsAnnotateHelper(const QString &workingDir, const QString &file, - const QString &revision = QString(), int lineNumber = -1); + void vcsAnnotateHelper(const FilePath &workingDir, const QString &file, + const QString &revision = {}, int lineNumber = -1); protected: void updateActions(VcsBase::VcsBasePluginPrivate::ActionState) override; @@ -282,20 +282,20 @@ private: Utils::Id id, const QString &source, QTextCodec *codec); - void filelog(const QString &workingDir, - const QString &file = QString(), + void filelog(const FilePath &workingDir, + const QString &file = {}, bool enableAnnotationContextMenu = false); - void svnStatus(const QString &workingDir, const QString &relativePath = QString()); - void svnUpdate(const QString &workingDir, const QString &relativePath = QString()); + void svnStatus(const FilePath &workingDir, const QString &relativePath = {}); + void svnUpdate(const FilePath &workingDir, const QString &relativePath = {}); bool checkSVNSubDir(const QDir &directory) const; - void startCommit(const QString &workingDir, const QStringList &files = QStringList()); + void startCommit(const FilePath &workingDir, const QStringList &files = {}); const QStringList m_svnDirectories; SubversionSettings m_settings; SubversionClient *m_client = nullptr; QString m_commitMessageFileName; - QString m_commitRepository; + FilePath m_commitRepository; Core::CommandLocator *m_commandLocator = nullptr; Utils::ParameterAction *m_addAction = nullptr; @@ -690,7 +690,7 @@ void SubversionPluginPrivate::revertAll() QStringList args; args << QLatin1String("revert"); args << SubversionClient::addAuthenticationOptions(m_settings); - args << QLatin1String("--recursive") << state.topLevel(); + args << QLatin1String("--recursive") << state.topLevel().toString(); const SubversionResponse revertResponse = runSvn(state.topLevel(), args, m_settings.timeout.value(), VcsCommand::SshPasswordPrompt | VcsCommand::ShowStdOut); @@ -781,7 +781,7 @@ void SubversionPluginPrivate::startCommitProject() /* Start commit of files of a single repository by displaying * template and files in a submit editor. On closing, the real * commit will start. */ -void SubversionPluginPrivate::startCommit(const QString &workingDir, const QStringList &files) +void SubversionPluginPrivate::startCommit(const FilePath &workingDir, const QStringList &files) { if (!promptBeforeCommit()) return; @@ -869,7 +869,7 @@ void SubversionPluginPrivate::updateRepository() svnUpdate(state.topLevel()); } -void SubversionPluginPrivate::svnStatus(const QString &workingDir, const QString &relativePath) +void SubversionPluginPrivate::svnStatus(const FilePath &workingDir, const QString &relativePath) { const VcsBasePluginState state = currentState(); QTC_ASSERT(state.hasTopLevel(), return); @@ -877,15 +877,15 @@ void SubversionPluginPrivate::svnStatus(const QString &workingDir, const QString args << SubversionClient::addAuthenticationOptions(m_settings); if (!relativePath.isEmpty()) args.append(SubversionClient::escapeFile(relativePath)); - VcsOutputWindow::setRepository(workingDir); + VcsOutputWindow::setRepository(workingDir.toString()); runSvn(workingDir, args, m_settings.timeout.value(), VcsCommand::ShowStdOut | VcsCommand::ShowSuccessMessage); VcsOutputWindow::clearRepository(); } -void SubversionPluginPrivate::filelog(const QString &workingDir, - const QString &file, - bool enableAnnotationContextMenu) +void SubversionPluginPrivate::filelog(const FilePath &workingDir, + const QString &file, + bool enableAnnotationContextMenu) { m_client->log(workingDir, QStringList(file), QStringList(), enableAnnotationContextMenu); } @@ -897,7 +897,7 @@ void SubversionPluginPrivate::updateProject() svnUpdate(state.currentProjectTopLevel(), state.relativeCurrentProject()); } -void SubversionPluginPrivate::svnUpdate(const QString &workingDir, const QString &relativePath) +void SubversionPluginPrivate::svnUpdate(const FilePath &workingDir, const QString &relativePath) { QStringList args(QLatin1String("update")); args << SubversionClient::addAuthenticationOptions(m_settings); @@ -918,7 +918,7 @@ void SubversionPluginPrivate::annotateCurrentFile() vcsAnnotateHelper(state.currentFileTopLevel(), state.relativeCurrentFile()); } -void SubversionPluginPrivate::vcsAnnotateHelper(const QString &workingDir, const QString &file, +void SubversionPluginPrivate::vcsAnnotateHelper(const FilePath &workingDir, const QString &file, const QString &revision /* = QString() */, int lineNumber /* = -1 */) { @@ -947,7 +947,7 @@ void SubversionPluginPrivate::vcsAnnotateHelper(const QString &workingDir, const // Determine id const QStringList files = QStringList(file); const QString id = VcsBaseEditor::getTitleId(workingDir, files, revision); - const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir, files); + const QString tag = VcsBaseEditor::editorTag(AnnotateOutput, workingDir.toString(), files); if (IEditor *editor = VcsBaseEditor::locateEditorByTag(tag)) { editor->document()->setContents(response.stdOut.toUtf8()); VcsBaseEditor::gotoLineOfEditor(editor, lineNumber); @@ -987,7 +987,7 @@ void SubversionPluginPrivate::vcsDescribe(const FilePath &source, const QString const QString title = QString::fromLatin1("svn describe %1#%2").arg(fi.fileName(), changeNr); - m_client->describe(topLevel.toString(), number, title); + m_client->describe(topLevel, number, title); } void SubversionPluginPrivate::slotDescribe() @@ -1004,7 +1004,7 @@ void SubversionPluginPrivate::slotDescribe() return; const int revision = inputDialog.intValue(); - vcsDescribe(FilePath::fromString(state.topLevel()), QString::number(revision)); + vcsDescribe(state.topLevel(), QString::number(revision)); } void SubversionPluginPrivate::commitFromEditor() @@ -1014,10 +1014,10 @@ void SubversionPluginPrivate::commitFromEditor() EditorManager::closeDocuments({submitEditor()->document()}); } -SubversionResponse SubversionPluginPrivate::runSvn(const QString &workingDir, - const QStringList &arguments, - int timeOutS, unsigned flags, - QTextCodec *outputCodec) const +SubversionResponse SubversionPluginPrivate::runSvn(const FilePath &workingDir, + const QStringList &arguments, + int timeOutS, unsigned flags, + QTextCodec *outputCodec) const { SubversionResponse response; if (m_settings.binaryPath.value().isEmpty()) { @@ -1067,10 +1067,10 @@ SubversionPluginPrivate *SubversionPluginPrivate::instance() return dd; } -QString SubversionPluginPrivate::monitorFile(const QString &repository) const +QString SubversionPluginPrivate::monitorFile(const FilePath &repository) const { QTC_ASSERT(!repository.isEmpty(), return QString()); - QDir repoDir(repository); + QDir repoDir(repository.toString()); foreach (const QString &svnDir, m_svnDirectories) { if (repoDir.exists(svnDir)) { QFileInfo fi(repoDir.absoluteFilePath(svnDir + QLatin1String("/wc.db"))); @@ -1081,12 +1081,12 @@ QString SubversionPluginPrivate::monitorFile(const QString &repository) const return QString(); } -QString SubversionPluginPrivate::synchronousTopic(const QString &repository) const +QString SubversionPluginPrivate::synchronousTopic(const FilePath &repository) const { return m_client->synchronousTopic(repository); } -bool SubversionPluginPrivate::vcsAdd(const QString &workingDir, const QString &rawFileName) +bool SubversionPluginPrivate::vcsAdd(const FilePath &workingDir, const QString &rawFileName) { const QString file = QDir::toNativeSeparators(SubversionClient::escapeFile(rawFileName)); QStringList args; @@ -1099,7 +1099,7 @@ bool SubversionPluginPrivate::vcsAdd(const QString &workingDir, const QString &r return !response.error; } -bool SubversionPluginPrivate::vcsDelete(const QString &workingDir, const QString &rawFileName) +bool SubversionPluginPrivate::vcsDelete(const FilePath &workingDir, const QString &rawFileName) { const QString file = QDir::toNativeSeparators(SubversionClient::escapeFile(rawFileName)); @@ -1114,7 +1114,7 @@ bool SubversionPluginPrivate::vcsDelete(const QString &workingDir, const QString return !response.error; } -bool SubversionPluginPrivate::vcsMove(const QString &workingDir, const QString &from, const QString &to) +bool SubversionPluginPrivate::vcsMove(const FilePath &workingDir, const QString &from, const QString &to) { QStringList args(QLatin1String("move")); args << SubversionClient::addAuthenticationOptions(m_settings); @@ -1127,7 +1127,7 @@ bool SubversionPluginPrivate::vcsMove(const QString &workingDir, const QString & return !response.error; } -bool SubversionPluginPrivate::vcsCheckout(const QString &directory, const QByteArray &url) +bool SubversionPluginPrivate::vcsCheckout(const FilePath &directory, const QByteArray &url) { QUrl tempUrl = QUrl::fromEncoded(url); QString username = tempUrl.userName(); @@ -1147,7 +1147,7 @@ bool SubversionPluginPrivate::vcsCheckout(const QString &directory, const QByteA args << QLatin1String("--password") << password; } - args << QLatin1String(tempUrl.toEncoded()) << directory; + args << QLatin1String(tempUrl.toEncoded()) << directory.toString(); const SubversionResponse response = runSvn(directory, args, 10 * m_settings.timeout.value(), VcsCommand::SshPasswordPrompt); @@ -1184,8 +1184,7 @@ bool SubversionPluginPrivate::managesFile(const FilePath &workingDirectory, cons args << QLatin1String("status"); args << SubversionClient::addAuthenticationOptions(m_settings) << QDir::toNativeSeparators(SubversionClient::escapeFile(fileName)); - SubversionResponse response - = runSvn(workingDirectory.toString(), args, m_settings.timeout.value(), 0); + SubversionResponse response = runSvn(workingDirectory, args, m_settings.timeout.value(), 0); return response.stdOut.isEmpty() || response.stdOut.at(0) != QLatin1Char('?'); } @@ -1254,21 +1253,19 @@ bool SubversionPluginPrivate::vcsOpen(const FilePath & /* filePath */) bool SubversionPluginPrivate::vcsAdd(const FilePath &filePath) { - const QFileInfo fi = filePath.toFileInfo(); - return vcsAdd(fi.absolutePath(), fi.fileName()); + return vcsAdd(filePath.parentDir(), filePath.fileName()); } bool SubversionPluginPrivate::vcsDelete(const FilePath &filePath) { - const QFileInfo fi = filePath.toFileInfo(); - return vcsDelete(fi.absolutePath(), fi.fileName()); + return vcsDelete(filePath.parentDir(), filePath.fileName()); } bool SubversionPluginPrivate::vcsMove(const FilePath &from, const FilePath &to) { const QFileInfo fromInfo = from.toFileInfo(); const QFileInfo toInfo = to.toFileInfo(); - return vcsMove(fromInfo.absolutePath(), fromInfo.absoluteFilePath(), toInfo.absoluteFilePath()); + return vcsMove(from.parentDir(), fromInfo.absoluteFilePath(), toInfo.absoluteFilePath()); } bool SubversionPluginPrivate::vcsCreateRepository(const FilePath &) @@ -1278,8 +1275,7 @@ bool SubversionPluginPrivate::vcsCreateRepository(const FilePath &) void SubversionPluginPrivate::vcsAnnotate(const FilePath &filePath, int line) { - const QFileInfo fi = filePath.toFileInfo(); - vcsAnnotateHelper(fi.absolutePath(), fi.fileName(), QString(), line); + vcsAnnotateHelper(filePath.parentDir(), filePath.fileName(), QString(), line); } Core::ShellCommand *SubversionPluginPrivate::createInitialCheckoutCommand(const QString &url, @@ -1293,19 +1289,19 @@ Core::ShellCommand *SubversionPluginPrivate::createInitialCheckoutCommand(const args << QLatin1String(Subversion::Constants::NON_INTERACTIVE_OPTION); args << extraArgs << url << localName; - auto command = new VcsBase::VcsCommand(baseDirectory.toString(), m_client->processEnvironment()); + auto command = new VcsBase::VcsCommand(baseDirectory, m_client->processEnvironment()); command->addJob({m_settings.binaryPath.filePath(), args}, -1); return command; } FilePath SubversionTopicCache::trackFile(const FilePath &repository) { - return FilePath::fromString(m_plugin->monitorFile(repository.toString())); + return FilePath::fromString(m_plugin->monitorFile(repository)); } QString SubversionTopicCache::refreshTopic(const FilePath &repository) { - return m_plugin->synchronousTopic(repository.toString()); + return m_plugin->synchronousTopic(repository); } |