summaryrefslogtreecommitdiff
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp50
1 files changed, 22 insertions, 28 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 4a185c9ebc..4ccdb01326 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -1750,13 +1750,13 @@ bool GitClient::getCommitData(const QString &workingDirectory,
}
// Filter out untracked files that are not part of the project
- QStringList untrackedFiles = commitData->filterFiles(CommitData::UntrackedFile);
+ QStringList untrackedFiles = commitData->filterFiles(UntrackedFile);
VcsBase::VcsBaseSubmitEditor::filterUntrackedFilesOfProject(repoDirectory, &untrackedFiles);
QList<CommitData::StateFilePair> filteredFiles;
QList<CommitData::StateFilePair>::const_iterator it = commitData->files.constBegin();
for ( ; it != commitData->files.constEnd(); ++it) {
- if (it->first == CommitData::UntrackedFile && !untrackedFiles.contains(it->second))
+ if (it->first == UntrackedFile && !untrackedFiles.contains(it->second))
continue;
filteredFiles.append(*it);
}
@@ -1836,47 +1836,41 @@ bool GitClient::addAndCommit(const QString &repositoryDirectory,
int commitCount = 0;
for (int i = 0; i < model->rowCount(); ++i) {
- const CommitData::FileState state = static_cast<CommitData::FileState>(model->extraData(i).toInt());
+ const FileStates state = static_cast<FileStates>(model->extraData(i).toInt());
QString file = model->file(i);
const bool checked = model->checked(i);
if (checked)
++commitCount;
- if (state == CommitData::UntrackedFile && checked)
+ if (state == UntrackedFile && checked)
filesToAdd.append(file);
- if (state == CommitData::ModifiedStagedFile && !checked) {
- filesToReset.append(file);
- } else if (state == CommitData::AddedStagedFile && !checked) {
- filesToReset.append(file);
- } else if (state == CommitData::DeletedStagedFile && !checked) {
- filesToReset.append(file);
- } else if (state == CommitData::RenamedStagedFile && !checked) {
- const int pos = file.indexOf(QLatin1String(" -> "));
- const QString newFile = file.mid(pos + 4);
- filesToReset.append(newFile);
- } else if (state == CommitData::CopiedStagedFile && !checked) {
- const QString newFile = file.mid(file.indexOf(renameSeparator) + renameSeparator.count());
- filesToReset.append(newFile);
- } else if (state == CommitData::UpdatedStagedFile && !checked) {
- QTC_ASSERT(false, continue); // There should not be updated files when commiting!
+ if ((state & StagedFile) && !checked) {
+ if (state & (AddedFile | DeletedFile)) {
+ filesToReset.append(file);
+ } else if (state & (RenamedFile | CopiedFile)) {
+ const QString newFile = file.mid(file.indexOf(renameSeparator) + renameSeparator.count());
+ filesToReset.append(newFile);
+ }
+ } else if (state & UnmergedFile && checked) {
+ QTC_ASSERT(false, continue); // There should not be unmerged files when commiting!
}
- if (state == CommitData::ModifiedFile && checked) {
+ if (state == ModifiedFile && checked) {
filesToReset.removeAll(file);
filesToAdd.append(file);
- } else if (state == CommitData::AddedFile && checked) {
+ } else if (state == AddedFile && checked) {
QTC_ASSERT(false, continue); // these should be untracked!
- } else if (state == CommitData::DeletedFile && checked) {
+ } else if (state == DeletedFile && checked) {
filesToReset.removeAll(file);
filesToRemove.append(file);
- } else if (state == CommitData::RenamedFile && checked) {
+ } else if (state == RenamedFile && checked) {
QTC_ASSERT(false, continue); // git mv directly stages.
- } else if (state == CommitData::CopiedFile && checked) {
+ } else if (state == CopiedFile && checked) {
QTC_ASSERT(false, continue); // only is noticed after adding a new file to the index
- } else if (state == CommitData::UpdatedFile && checked) {
- QTC_ASSERT(false, continue); // There should not be updated files when commiting!
+ } else if (state == UnmergedFile && checked) {
+ QTC_ASSERT(false, continue); // There should not be unmerged files when commiting!
}
}
@@ -1965,8 +1959,8 @@ GitClient::RevertResult GitClient::revertI(QStringList files,
}
// From the status output, determine all modified [un]staged files.
- const QStringList allStagedFiles = data.filterFiles(CommitData::ModifiedStagedFile);
- const QStringList allUnstagedFiles = data.filterFiles(CommitData::ModifiedFile);
+ const QStringList allStagedFiles = data.filterFiles(StagedFile | ModifiedFile);
+ const QStringList allUnstagedFiles = data.filterFiles(ModifiedFile);
// Unless a directory was passed, filter all modified files for the
// argument file list.
QStringList stagedFiles = allStagedFiles;