[go: up one dir, main page]

Skip to content

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 (OPC).

Intended Users

This helps to cater users from multiple domains, as can be seen from the table of file formats:

  • Design Documents (CAD, Circuits, ...)
  • Software Packaged (NuGet)
  • Modelling (Mathworks Simulink)
  • Office (Word, Excel, PowerPoint, ...)

User Experience Goal

This article 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 --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>