Changeset View
Changeset View
Standalone View
Standalone View
plugins/git/gitplugin.cpp
Show First 20 Lines • Show All 371 Lines • ▼ Show 20 Line(s) | |||||
372 | 372 | | |||
373 | VcsJob* GitPlugin::diff(const QUrl& fileOrDirectory, const KDevelop::VcsRevision& srcRevision, const KDevelop::VcsRevision& dstRevision, | 373 | VcsJob* GitPlugin::diff(const QUrl& fileOrDirectory, const KDevelop::VcsRevision& srcRevision, const KDevelop::VcsRevision& dstRevision, | ||
374 | VcsDiff::Type /*type*/, IBasicVersionControl::RecursionMode recursion) | 374 | VcsDiff::Type /*type*/, IBasicVersionControl::RecursionMode recursion) | ||
375 | { | 375 | { | ||
376 | //TODO: control different types | 376 | //TODO: control different types | ||
377 | 377 | | |||
378 | DVcsJob* job = new GitJob(dotGitDirectory(fileOrDirectory), this, KDevelop::OutputJob::Silent); | 378 | DVcsJob* job = new GitJob(dotGitDirectory(fileOrDirectory), this, KDevelop::OutputJob::Silent); | ||
379 | job->setType(VcsJob::Diff); | 379 | job->setType(VcsJob::Diff); | ||
380 | *job << "git" << "diff" << "--no-color" << "--no-ext-diff"; | 380 | *job << "git" << "diff" << "--no-color" << "--no-ext-diff" << "--full-index"; | ||
381 | if (!usePrefix()) { | 381 | if (!usePrefix()) { | ||
382 | // KDE's ReviewBoard now requires p1 patchfiles, so `git diff --no-prefix` to generate p0 patches | 382 | // KDE's ReviewBoard now requires p1 patchfiles, so `git diff --no-prefix` to generate p0 patches | ||
383 | // has become optional. | 383 | // has become optional. | ||
384 | *job << "--no-prefix"; | 384 | *job << "--no-prefix"; | ||
385 | } | 385 | } | ||
386 | if (m_contextLines > 0) { | ||||
387 | *job << QStringLiteral("-U%1").arg(m_contextLines); | ||||
388 | } | ||||
386 | if (dstRevision.revisionType() == VcsRevision::Special && | 389 | if (dstRevision.revisionType() == VcsRevision::Special && | ||
387 | dstRevision.specialType() == VcsRevision::Working) { | 390 | dstRevision.specialType() == VcsRevision::Working) { | ||
388 | if (srcRevision.revisionType() == VcsRevision::Special && | 391 | if (srcRevision.revisionType() == VcsRevision::Special && | ||
389 | srcRevision.specialType() == VcsRevision::Base) { | 392 | srcRevision.specialType() == VcsRevision::Base) { | ||
390 | *job << "HEAD"; | 393 | *job << "HEAD"; | ||
391 | } else { | 394 | } else { | ||
392 | *job << "--cached" << srcRevision.revisionValue().toString(); | 395 | *job << "--cached" << srcRevision.revisionValue().toString(); | ||
393 | } | 396 | } | ||
▲ Show 20 Lines • Show All 1150 Lines • Show Last 20 Lines |