| 270 | } |
| 271 | |
| 272 | void BazaarPlugin::parseBzrStatus(DVcsJob* job) |
| 273 | { |
| 274 | QVariantList result; |
| 275 | QSet<QString> filesWithStatus; |
| 276 | QDir workingCopy = job->directory(); |
| 277 | const auto outputString = job->output(); |
| 278 | const auto output = QStringView{outputString}.split(QLatin1Char('\n')); |
| 279 | result.reserve(output.size()); |
| 280 | for (const auto line : output) { |
| 281 | auto status = BazaarUtils::parseVcsStatusInfoLine(line); |
| 282 | result.append(QVariant::fromValue(status)); |
| 283 | filesWithStatus.insert(BazaarUtils::concatenatePath(workingCopy, status.url())); |
| 284 | } |
| 285 | |
| 286 | QStringList command = job->dvcsCommand(); |
| 287 | for (auto it = command.constBegin() + command.indexOf(QStringLiteral("--no-classify")) + 1, itEnd = command.constEnd(); it != itEnd; ++it) { |
| 288 | QString path = QFileInfo(*it).absoluteFilePath(); |
| 289 | if (Algorithm::insert(filesWithStatus, path).inserted) { |
| 290 | KDevelop::VcsStatusInfo status; |
| 291 | status.setState(VcsStatusInfo::ItemUpToDate); |
| 292 | status.setUrl(QUrl::fromLocalFile(*it)); |
| 293 | result.append(QVariant::fromValue(status)); |
| 294 | } |
| 295 | } |
| 296 | |
| 297 | job->setResults(result); |
| 298 | } |
| 299 | |
| 300 | VcsJob* BazaarPlugin::update(const QList<QUrl>& localLocations, const VcsRevision& rev, IBasicVersionControl::RecursionMode recursion) |
| 301 | { |
nothing calls this directly
no test coverage detected