We’ve been working with virtual reality in Unity3D quite a bit lately and one of the big pain points we’ve encountered is having lots of diff noise in our pull requests.
Unity saves information about your 3D models and scenes in meta files, which are binary by default, but can be configured to be YAML. One benefit of using YAML is that you can take advantage of Unity’s smart merge tool, which integrates with Git (or you VCS of choice), to help with merge conflicts.
A downside of YAML is the size of the files that are produced. Pull requests that include code changes in addition to object/scene changes are burdensome for reviewers because they have to wade through piles of meta files to get to the actual code changes.
Pipe it Down was created to help with this problem. It’s a Chrome Extension that adds an icon to the header of each file in a pull request that will toggle its visibility.
It will also remember which files you have hidden in a pull request and will automatically hide them when you reload/revisit the page later.
Pipe it Down is simple, but solves a real pain point and has potential to grow.
Install Pipe it Down now!
Update: Since this article was posted, GitHub released features that solve the problems listed here. As a result, Pipe it Down is no longer being maintained. If you’re encountering pain from large diffs, follow through to learn more about automatically collapsing files.