Tools for cooperation?

We have made a bunch of changes in V6 to reduce “unnecessary” file changes that result in large diffs, or in files being marked “dirty” by the version control system when no real change has taken place. These changes are all done now for V6 (unless anyone discovers a critical bug).

This is not really the same as making it easier to merge design files. @eelik has it right here; merging 3D data (you can think of boards and schematics as 3D data at least, because they have graphics in 2 dimensions and a third dimension of layers/metadata) is really different from merging 1D data (code, prose, etc).

While people have developed some third-party tools for comparing (diffing) KiCad design files, this still doesn’t give you an easy way to merge different revisions of a file into one file. If both you and your colleague make changes to a schematic file, I haven’t seen any nice way of resolving the resulting conflict other than looking at both the sets of changes and deciding how to (manually) combine them together. The tools that present visual diffs can help that process, but they still can’t do it automatically.

That said, this problem occurs at the single-file level and projects generally contain multiple files. It is usually no problem to have multiple people working on a multi-sheet schematic, as long as they communicate and coordinate so that only one person works on one sheet at a time. And as @mxa mentioned, it is quite easy to have one person work on the schematic while another person works on the PCB layout.

6 Likes