Changeset View
Changeset View
Standalone View
Standalone View
plugins/git/gitplugin.cpp
Show First 20 Lines • Show All 345 Lines • ▼ Show 20 Line(s) | |||||
346 | 346 | | |||
347 | VcsJob* GitPlugin::diff(const QUrl& fileOrDirectory, const KDevelop::VcsRevision& srcRevision, const KDevelop::VcsRevision& dstRevision, | 347 | VcsJob* GitPlugin::diff(const QUrl& fileOrDirectory, const KDevelop::VcsRevision& srcRevision, const KDevelop::VcsRevision& dstRevision, | ||
348 | VcsDiff::Type /*type*/, IBasicVersionControl::RecursionMode recursion) | 348 | VcsDiff::Type /*type*/, IBasicVersionControl::RecursionMode recursion) | ||
349 | { | 349 | { | ||
350 | //TODO: control different types | 350 | //TODO: control different types | ||
351 | 351 | | |||
352 | DVcsJob* job = new GitJob(dotGitDirectory(fileOrDirectory), this, KDevelop::OutputJob::Silent); | 352 | DVcsJob* job = new GitJob(dotGitDirectory(fileOrDirectory), this, KDevelop::OutputJob::Silent); | ||
353 | job->setType(VcsJob::Diff); | 353 | job->setType(VcsJob::Diff); | ||
354 | *job << "git" << "diff" << "--no-color" << "--no-ext-diff"; | 354 | *job << "git" << "diff" << "--no-color" << "--no-ext-diff" << "--full-index"; | ||
355 | if (!usePrefix()) { | 355 | if (!usePrefix()) { | ||
356 | // KDE's ReviewBoard now requires p1 patchfiles, so `git diff --no-prefix` to generate p0 patches | 356 | // KDE's ReviewBoard now requires p1 patchfiles, so `git diff --no-prefix` to generate p0 patches | ||
357 | // has become optional. | 357 | // has become optional. | ||
358 | *job << "--no-prefix"; | 358 | *job << "--no-prefix"; | ||
359 | } | 359 | } | ||
360 | if (m_contextLines > 0) { | ||||
361 | *job << QStringLiteral("-U%1").arg(m_contextLines); | ||||
362 | } | ||||
360 | if (dstRevision.revisionType() == VcsRevision::Special && | 363 | if (dstRevision.revisionType() == VcsRevision::Special && | ||
361 | dstRevision.specialType() == VcsRevision::Working) { | 364 | dstRevision.specialType() == VcsRevision::Working) { | ||
362 | if (srcRevision.revisionType() == VcsRevision::Special && | 365 | if (srcRevision.revisionType() == VcsRevision::Special && | ||
363 | srcRevision.specialType() == VcsRevision::Base) { | 366 | srcRevision.specialType() == VcsRevision::Base) { | ||
364 | *job << "HEAD"; | 367 | *job << "HEAD"; | ||
365 | } else { | 368 | } else { | ||
366 | *job << "--cached" << srcRevision.revisionValue().toString(); | 369 | *job << "--cached" << srcRevision.revisionValue().toString(); | ||
367 | } | 370 | } | ||
▲ Show 20 Lines • Show All 1150 Lines • Show Last 20 Lines |