DiffUtils: Get rid of PatchFormattingFlags

Get rid of PatchFormattingFlags argument inside
DiffUtils::makePatch(), as there is the only caller of this
method. Internally, behave like the GitFormat flag was passed.

As all callers to sideFileName() were always passing
AddLevel (GitFormat flag contained AddLevel), the flag is
not needed anymore.

Change-Id: I1993cfd7212f5f60a5bdb2c9e1e4317c3ecd91d7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2023-02-03 02:34:58 +01:00
parent d829d9ff33
commit 77616b8086
3 changed files with 13 additions and 22 deletions

View File

@@ -368,7 +368,7 @@ static QString formatGitDescription(const QString &description)
QString DiffEditorDocument::plainText() const
{
return Utils::joinStrings({formatGitDescription(description()),
DiffUtils::makePatch(diffFiles(), DiffUtils::GitFormat)}, '\n');
DiffUtils::makePatch(diffFiles())}, '\n');
}
void DiffEditorDocument::beginReload()

View File

@@ -487,28 +487,25 @@ QString DiffUtils::makePatch(const ChunkData &chunkData,
return diffText;
}
static QString sideFileName(DiffSide side, const FileData &fileData, unsigned formatFlags)
static QString sideFileName(DiffSide side, const FileData &fileData)
{
const FileData::FileOperation operation = side == LeftSide ? FileData::NewFile
: FileData::DeleteFile;
if (fileData.fileOperation == operation)
return "/dev/null";
const QString sideMarker = side == LeftSide ? "a/" : "b/";
const QString formatMarker = formatFlags & DiffUtils::AddLevel ? sideMarker : QString();
return formatMarker + fileData.fileInfo[side].fileName;
return sideMarker + fileData.fileInfo[side].fileName;
}
QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned formatFlags)
QString DiffUtils::makePatch(const QList<FileData> &fileDataList)
{
QString diffText;
QTextStream str(&diffText);
for (int i = 0; i < fileDataList.size(); i++) {
const FileData &fileData = fileDataList.at(i);
if (formatFlags & GitFormat) {
str << "diff --git a/" << fileData.fileInfo[LeftSide].fileName
<< " b/" << fileData.fileInfo[RightSide].fileName << '\n';
}
str << "diff --git a/" << fileData.fileInfo[LeftSide].fileName
<< " b/" << fileData.fileInfo[RightSide].fileName << '\n';
if (fileData.fileOperation == FileData::NewFile
|| fileData.fileOperation == FileData::DeleteFile) { // git only?
if (fileData.fileOperation == FileData::NewFile)
@@ -524,16 +521,16 @@ QString DiffUtils::makePatch(const QList<FileData> &fileDataList, unsigned forma
if (fileData.binaryFiles) {
str << "Binary files ";
str << sideFileName(LeftSide, fileData, formatFlags);
str << sideFileName(LeftSide, fileData);
str << " and ";
str << sideFileName(RightSide, fileData, formatFlags);
str << sideFileName(RightSide, fileData);
str << " differ\n";
} else {
if (!fileData.chunks.isEmpty()) {
str << "--- ";
str << sideFileName(LeftSide, fileData, formatFlags) << "\n";
str << sideFileName(LeftSide, fileData) << "\n";
str << "+++ ";
str << sideFileName(RightSide, fileData, formatFlags) << "\n";
str << sideFileName(RightSide, fileData) << "\n";
for (int j = 0; j < fileData.chunks.size(); j++) {
str << makePatch(fileData.chunks.at(j),
(j == fileData.chunks.size() - 1)
@@ -1041,8 +1038,8 @@ static bool detectIndexAndBinary(QStringView patch, FileData *fileData, QStringV
return true;
}
const QString leftFileName = sideFileName(LeftSide, *fileData, DiffUtils::AddLevel);
const QString rightFileName = sideFileName(RightSide, *fileData, DiffUtils::AddLevel);
const QString leftFileName = sideFileName(LeftSide, *fileData);
const QString rightFileName = sideFileName(RightSide, *fileData);
const QString binaryLine = "Binary files "
+ leftFileName + " and "
+ rightFileName + " differ";

View File

@@ -126,11 +126,6 @@ public:
class DIFFEDITOR_EXPORT DiffUtils {
public:
enum PatchFormattingFlags {
AddLevel = 0x1, // Add 'a/' , '/b' for git am
GitFormat = AddLevel | 0x2, // Add line 'diff ..' as git does
};
static ChunkData calculateOriginalData(const QList<Utils::Diff> &leftDiffList,
const QList<Utils::Diff> &rightDiffList);
static FileData calculateContextData(const ChunkData &originalData,
@@ -146,8 +141,7 @@ public:
const QString &leftFileName,
const QString &rightFileName,
bool lastChunk = false);
static QString makePatch(const QList<FileData> &fileDataList,
unsigned formatFlags = 0);
static QString makePatch(const QList<FileData> &fileDataList);
static QList<FileData> readPatch(const QString &patch,
bool *ok = nullptr,
QFutureInterfaceBase *jobController = nullptr);