We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello, I am traversing the uniHunks in dtl and attempting to print out each element (type, beforeIdx, afterIdx).
type
beforeIdx
afterIdx
However, I noticed that when traversing consecutive SES_DELETE elements, the value of beforeIdx was reduced from 15321 to 1452:
SES_DELETE
15321
1452
... -1 15321 0 -1 1452 0 ...
Additionally, I tested with other diff tools and found that there is no text change in line 1452.
This is my code:
#include <iostream> #include <string> #include <vector> #include <filesystem> #include <fstream> #include "dtl/dtl.hpp" namespace fs = std::filesystem; void fatal(const std::string &msg) { std::cerr << msg << std::endl; exit(1); } void run(const fs::path &oldPath, const fs::path &newPath) { std::vector<std::string> oldLines; std::vector<std::string> newLines; std::ifstream oldFileFs(oldPath); if (!oldFileFs.is_open()) { fatal("Diff error: can not open oldFile: " + oldPath.string()); } std::string line; while (getline(oldFileFs, line)) { oldLines.push_back(line); } std::ifstream newFileFs(newPath); if (!newFileFs.is_open()) { fatal("Diff error: can not open newFile: " + newPath.string()); } while (getline(newFileFs, line)) { newLines.push_back(line); } dtl::Diff<std::string, std::vector<std::string>> diff(oldLines, newLines); diff.onHuge(); diff.compose(); diff.composeUnifiedHunks(); auto uniHunks = diff.getUniHunks(); for (const auto &hunk: uniHunks) { for (auto &diffLine: hunk.change) { auto &diffLineInfo = diffLine.second; std::cerr << diffLineInfo.type << " " << diffLineInfo.beforeIdx << " " << diffLineInfo.afterIdx << std::endl; } } } int main() { run("../old.txt", "../new.txt"); }
This is my test files:
new.txt old.txt
The text was updated successfully, but these errors were encountered:
By the way, the result in getSes().getSequence() is correct, It seems that there is some problem within composeUnifiedHunks.
getSes().getSequence()
composeUnifiedHunks
Sorry, something went wrong.
No branches or pull requests
Hello, I am traversing the uniHunks in dtl and attempting to print out each element (
type
,beforeIdx
,afterIdx
).However, I noticed that when traversing consecutive
SES_DELETE
elements, the value ofbeforeIdx
was reduced from15321
to1452
:Additionally, I tested with other diff tools and found that there is no text change in line
1452
.This is my code:
This is my test files:
new.txt
old.txt
The text was updated successfully, but these errors were encountered: