View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
2149 | Convertr | Diff Engine | public | 2016-01-30 14:22 | 2022-11-20 22:12 |
Reporter | Chris Graham | Assigned To | Guest | ||
Priority | normal | Severity | feature | ||
Status | new | Resolution | open | ||
Summary | 2149: Intelligence with StringReplace* ops | ||||
Description | If complete coverage in a StringReplace op can't be found, the engine will have to use individual StringReplaceAfter/StringReplaceBefore/StringReplaceBetween ops to get the necessary specificity. However, there may be a middle ground in some cases. For example: a b a b a --> ax b ax b a In this case, StringReplace of a to ax is not going to work, because there is one non-compliant case. So we may use StringReplaceBefore instead. It wouldn't work automatically to cover these in a single case (I think) because we'd normally look for the StringReplaceBefore that captures a single diff line and only that line, i.e. over-specifying it, and then we'd follow on to find the remaining case with the second opcode. However, obviously a single StringReplaceBefore op would work (replace any "a" line before a "b" line line with an "ax" line). | ||||
Additional Information | Make sure unit tests exist to capture this. Don't take my above wording or example as gospel. The key issue here is ensuring that our engine is smart enough to have both correctness and conciseness in its choice of ops. | ||||
Tags | No tags attached. | ||||
Attach Tags | |||||
Sponsorship open | |||||
Date Modified | Username | Field | Change |
---|---|---|---|
2022-11-20 22:12 | Chris Graham | Assigned To | user4145 => |
2022-11-20 22:12 | Chris Graham | Status | Assigned => Not Assigned |