Git: Fix removing nested files

* Add -- before file list on add/remove.
* Run in the correct directory.

Fixes: QTCREATORBUG-27405
Change-Id: Ie04cd19981dac465cf70dba8b089fd18a4ecdf8b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Orgad Shaneh
2022-10-11 15:54:05 +03:00
committed by Orgad Shaneh
parent d2160e8b4f
commit 8c1cd7539c
2 changed files with 5 additions and 2 deletions

View File

@@ -1531,7 +1531,9 @@ bool GitClient::synchronousAdd(const FilePath &workingDirectory,
const QStringList &extraOptions)
{
QStringList args{"add"};
args += extraOptions + files;
args += extraOptions;
args += "--";
args += files;
return vcsSynchronousExec(workingDirectory, args).result()
== ProcessResult::FinishedWithSuccess;
}
@@ -1543,6 +1545,7 @@ bool GitClient::synchronousDelete(const FilePath &workingDirectory,
QStringList arguments = {"rm"};
if (force)
arguments << "--force";
arguments << "--";
arguments.append(files);
return vcsSynchronousExec(workingDirectory, arguments).result()
== ProcessResult::FinishedWithSuccess;

View File

@@ -1834,7 +1834,7 @@ bool GitPluginPrivate::vcsAdd(const FilePath &filePath)
bool GitPluginPrivate::vcsDelete(const FilePath &filePath)
{
return m_gitClient.synchronousDelete(filePath.parentDir().absolutePath(), true, {filePath.fileName()});
return m_gitClient.synchronousDelete(filePath.absolutePath(), true, {filePath.fileName()});
}
bool GitPluginPrivate::vcsMove(const FilePath &from, const FilePath &to)