Diff View for Files using the Open Packaging Convention
**Note: this is my first issue on GitLab, so I am happy to get feedback on its form and all.** ### Problem to solve As GitLab aims to be the go-to-toolchain for more than just code, I think it would be good to also support files using the [Open Packaging Conventions](https://en.wikipedia.org/wiki/Open_Packaging_Conventions) (OPC). ### Intended Users This helps to cater users from multiple domains, as can be seen from [the table of file formats](https://en.wikipedia.org/wiki/Open_Packaging_Conventions#File_formats_using_the_OPC): * Design Documents (CAD, Circuits, ...) * Software Packaged (NuGet) * Modelling (Mathworks Simulink) * Office (Word, Excel, PowerPoint, ...) ### User Experience Goal [This article](https://tante.cc/2010/06/23/managing-zip-based-file-formats-in-git/) shows how one can configure a local desktop Git to make these files diff-able. Hence, it would be great if files using OPC would not be diffed binary, but instead be unzipped and the contents are diffed. Here is how the CLI looks like (the web UI would look as it usually does on GitLab): ```diff diff --git a/README.md b/README.md index aaaaaaa..bbbbbbb 100644 --- a/foo.aasx +++ b/foo.aasx @@ -1,4 +1,4 @@ -Archive: /tmp/Mk3qqK_foo.aasx +Archive: foo.aasx inflating: foo/foo-origin [binary] Intentionally empty. extracting: _rels/.rels [binary] @@ -146,6 +146,17 @@ Intentionally empty. <aas:allowDuplicates>false</aas:allowDuplicates> </aas:submodelElementCollection> </aas:submodelElement> + <aas:submodelElement> + <aas:property> + <aas:idShort>foobar</aas:idShort> + <aas:kind>Instance</aas:kind> + <aas:semanticId> + <aas:keys /> + </aas:semanticId> + <aas:valueType /> + <aas:value /> + </aas:property> + </aas:submodelElement> </aas:submodelElements> </aas:submodel> </aas:submodels> ```
issue