top | item 37097152

(no title)

globalreset | 2 years ago

I disagree. Merge conflicts are just a fact of life, and line-granularity has good usability properties (displaying and editing). `git` has issues, but I don't see merge conflict granularity being an issue, especially when project enforce consistent&automatic formatting.

I agree however that while Pijul is technically very interesting, it doesn't seem to have any killer features that would overcome the cost of switching to a niche version control.

discuss

order

appplication|2 years ago

> line-granularity has good usability properties

I was reviewing a PR today and have to disagree with you. There was a single value change in a jsonl test data file. This is nightmarish to read in regular git diffs, as the change gif thought was happening was (with text wrapping) an full page worth of json rather than identifying it was a single word change. And because it is jsonl, the file could not be split into different lines without altering it’s semantics.

I don’t think it’s unreasonable we could be a little smarter here.

gorgoiler|2 years ago

JSONL and line-oriented version control are never going to play nicely together.

Imagine doing code review in a language where every function had to be written on one line!

The two techniques I use to dodge this:

1/ Switch from JSONL to a list of objects then pretty print it to be line oriented.

2/ Compress the test data to discourage viewing it altogether, and make people describe what’s being changed rather than leaving it up to the diff to show it.

hurril|2 years ago

Diffs come with column offset coordinates, though, so perhaps it's your diff editor that needs some more muscle?

heavenlyblue|2 years ago

Simply auto-format that jsonl file and your git is going to be happy.

Hendrikto|2 years ago

You could just use a better diff tool. Git itself is format-agnostic.