They implemented a built in visual diff tool that diffs the graphs and properties side by side and integrates with any of the supported source control plugins. Merging has to be done manually though, so most teams use source control locks like for art assets. There are several ways to split blueprints into more files to result in less locks.
I could be wrong but I believe the Blueprint assets are stored in a binary representation. So that rules out vanilla tools like patch/diff for the most part.
See the sibling poster, they did actually add a visual diff/merge tool in a much earlier version and I missed that.
Separate version control for code vs assets leads to a world of pain. Also you can use whatever diff tool you want; doesn't have to be the built-in textual diff.
About diffs, that is true, but my VCS does not use diffs.
And I am aware of the combination problem, and there will be the option to lock things.
But when it comes to visual things, someone does have to stare at it. If you watch https://youtube.com/watch?v=iZre2MUyvoQ , the thing you should notice is that John Lasseter is constantly checking the integration of separate parts.
A director might tell a modeler and a designer to work on the same scene at the same time, as you said. In that case, I kinda expect the director to check the integration.
Binary files are harder because there is no integration test, yes. But integration tests don't catch everything in code either, and people still want automatic merges.
Fair! Do you build workflows around the diffs themselves (collaborate, review, update)? I can already put my svgs in version control and have history/versions. But I've never felt compelled to look at a textual diff of viz code.
My favorite free (though not open source) visual diff and merge tool is Perforce's P4Merge. It's available for Linux, macOS (including as a Homebrew cask), and Windows. My favorite feature is its conflict resolution listing the conflicting lines vertically in the source file (like diff3 conflict markers but a GUI) instead of side-by-side panes.
you know, the meld/p4merge style side by side diff views have always been rather confusing to me. i've been trying to learn to use vimdiff for merge conflicts lately and it's just not as intuitive to me as inline conflict markers. i'm really more of a fan of the inline diff for some reason.
I wonder how hard it would be to build a nice diff tool for IB files. If you could (semi) visually view the changes in a meaningful way, maybe a lot of this would be helped. Conflicts would still be hard to merge, but maybe something could be done about that as well.
Geez, I've been looking at diff programs and the personal licenses for them are so expensive. I get they're incredibly useful when you need them but I personally don't need a 3rd party differ very often. Kaleidoscope is $250ish IIRC.
The VSCode extension "Diff & Merge" give you the right/left arrows to merge lines if anyone is looking for a tool that does that. I haven't needed another one since I found that.
I don't really get what they're saying with "visual diffs". Normal practice is to have a side-bar with a list of differences between versions. That makes it pretty clear what was added or removed. Using colours kind of fails because (for just a two sided PCB) you have two copper sides, one (maybe two) component sides, and these already use a bunch of different colour.
Whatever you do with "visual diffs" needs to work in monochrome - you have people working with traditional blueprints, or with mono printers. Heck, you still (in the 21st century!) have people using fax machines.
This all sounds really negative, but it isn't. It's a great idea, I just hope they can make it work.
Word has a diff tool built in. There is also integration with version control (i.e. double click in TortoiseSVN for example brings up a correct diff view of the word doc for 3-way merging).
These have some diff functionality but are not "diff / merge tools". There are diff tools, though, targeted at lawyers for legal work: "show me the differences between these two contracts" and the such (which most developer-oriented tools actually suck at as they care too much about "lines" and whitespace).
Vscode has a built-in (and quite good) 3-way merge editor, and an excellent editable diff view. GitLens also makes it easy to diff any two refs within vscode.
reply