| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This commit changes the consdiff generation to enforce Unix line endings
and reject all other ones, including Windows line endings as well as no
line endings. In other words, it checks for `\n` while forbidding
`\r\n`.
It also renames the relevant error variant to reflect this change
better.
|
| |
|
|
|
|
| |
This commit changes the error variants that contain a line number to a
named variant with a field `lno: usize` to make it semantically clear,
that it is a line number.
|
| |
|
|
|
|
|
|
|
| |
This commit removes all manual line splits in the consdiff generation.
Instead, it now simply uses the primitives offered by imara-diff to
access the lines in the input itself.
Meanwhile, it also adds a check for missing newlines/assertions that all
lines are actually terminated by \n.
|
| |
|
|
|
| |
This commit adds a check that prevents gen_cons_diff from computing a
diff with a single dot line.
|
| |
|
|
|
|
| |
Mark a failed apply from a consensus diff we generate as a bug as this
should not happen. We must obviously always accept the consensus diffs
we produce.
|
| |
|
|
|
|
|
|
| |
This commit implements support for the consensus diff generation.
Unlike CTor, it does not use its own custom algorithm but rather uses an
implementation of Myers' algorithm from the `imara-diff` crate, which is
pretty performant and comparable to size and run time to CTor, while
being much simpler in the interfacing code.
|
|
|
This will cause some pain for now, but now is really the best time
to do this kind of thing.
|