Git: Support move/copy detection for blame

Fixes: QTCREATORBUG-20462
Change-Id: Ib2ea14de6a60691a1ed27cd07aac282557d69015
Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
Orgad Shaneh
2018-09-18 14:50:12 +03:00
committed by Orgad Shaneh
parent 202d40f256
commit c415a03cea
4 changed files with 23 additions and 7 deletions

View File

@@ -588,6 +588,15 @@ public:
tr("Ignore whitespace only changes.")),
settings.boolPointer(GitSettings::ignoreSpaceChangesInBlameKey));
const QList<ComboBoxItem> logChoices = {
ComboBoxItem(tr("No Move Detection"), ""),
ComboBoxItem(tr("Detect Moves Within File"), "-M"),
ComboBoxItem(tr("Detect Moves Between Files"), "-M -C"),
ComboBoxItem(tr("Detect Moves and Copies Between Files"), "-M -C -C")
};
mapSetting(addComboBox({}, logChoices),
settings.intPointer(GitSettings::blameMoveDetection));
addButton(tr("Reload"), Utils::Icons::RELOAD.icon());
}
};

View File

@@ -37,6 +37,7 @@ const QLatin1String GitSettings::showTagsKey("ShowTags");
const QLatin1String GitSettings::omitAnnotationDateKey("OmitAnnotationDate");
const QLatin1String GitSettings::ignoreSpaceChangesInDiffKey("SpaceIgnorantDiff");
const QLatin1String GitSettings::ignoreSpaceChangesInBlameKey("SpaceIgnorantBlame");
const QLatin1String GitSettings::blameMoveDetection("BlameDetectMove");
const QLatin1String GitSettings::diffPatienceKey("DiffPatience");
const QLatin1String GitSettings::winSetHomeEnvironmentKey("WinSetHomeEnvironment");
const QLatin1String GitSettings::gitkOptionsKey("GitKOptions");
@@ -56,6 +57,7 @@ GitSettings::GitSettings()
declareKey(showTagsKey, false);
declareKey(omitAnnotationDateKey, false);
declareKey(ignoreSpaceChangesInDiffKey, true);
declareKey(blameMoveDetection, 0);
declareKey(ignoreSpaceChangesInBlameKey, true);
declareKey(diffPatienceKey, true);
declareKey(winSetHomeEnvironmentKey, true);

View File

@@ -48,6 +48,7 @@ public:
static const QLatin1String omitAnnotationDateKey;
static const QLatin1String ignoreSpaceChangesInDiffKey;
static const QLatin1String ignoreSpaceChangesInBlameKey;
static const QLatin1String blameMoveDetection;
static const QLatin1String diffPatienceKey;
static const QLatin1String winSetHomeEnvironmentKey;
static const QLatin1String gitkOptionsKey;