forked from qt-creator/qt-creator
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:
@@ -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()
|
||||
|
@@ -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';
|
||||
}
|
||||
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";
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user