4.13.0 release build is not reproducible
hboutemy opened this issue · 11 comments
see rebuild result on https://github.com/jvm-repo-rebuild/reproducible-central
@hboutemy I upgraded my maven version, source and java doc plugin. I hope that helps.
I can't seem to follow the steps to check locally. When I try to use the buildinfo plugin I get the following error:
ERROR] No plugin found for prefix 'buildinfo' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/fried/.m2/repository), central (https://repo.maven.apache.org/maven2)]
Any thoughts how I should proceed?
@fhoeben sorry, I overlooked your answer
IMHO, the easiest way to check is to checkout reproducible-central repository and reproduce by running
./rebuild.sh ./rebuild.sh content/nl/hsac/hsac-fitnesse-fixtures/hsac-fitnesse-fixtures-4.21.0.buildspec
the only prerequisite is Docker
you'll see at the end:
[INFO] --- maven-artifact-plugin:1.0-SNAPSHOT:buildinfo (default-cli) @ hsac-fitnesse-fixtures ---
[INFO] Saved info on build to /var/maven/app/target/hsac-fitnesse-fixtures-4.21.0.buildinfo
[INFO] Checking against reference build from central...
[WARNING] Reference buildinfo file not found: it will be generated from downloaded reference artifacts
[INFO] Reference build java.version: 1.8 (from MANIFEST.MF Build-Jdk-Spec)
[INFO] Reference build os.name: Unix (from pom.properties newline)
[INFO] Minimal buildinfo generated from downloaded artifacts: /var/maven/app/target/reference/hsac-fitnesse-fixtures-4.21.0.buildinfo
[WARNING] size mismatch hsac-fitnesse-fixtures-4.21.0.jar: investigate with diffoscope target/reference/hsac-fitnesse-fixtures-4.21.0.jar target/hsac-fitnesse-fixtures-4.21.0.jar
[WARNING] size mismatch hsac-fitnesse-fixtures-4.21.0-standalone.zip: investigate with diffoscope target/reference/hsac-fitnesse-fixtures-4.21.0-standalone.zip target/hsac-fitnesse-fixtures-4.21.0-standalone.zip
[WARNING] size mismatch hsac-fitnesse-fixtures-4.21.0-sources.jar: investigate with diffoscope target/reference/hsac-fitnesse-fixtures-4.21.0-sources.jar target/hsac-fitnesse-fixtures-4.21.0-sources.jar
[WARNING] Reproducible Build output summary: 0 files ok, 3 different
then you can go to content/nl/hsac/hsac-fitnesse-fixtures/buildcache/hsac-fitnesse-fixtures
directory to see the build and run the proposed diffoscope
commands
when I do it on my machine, I get difference on generated .json
files:
$ diffoscope target/reference/hsac-fitnesse-fixtures-4.21.0.jar target/hsac-fitnesse-fixtures-4.21.0.jar
--- target/reference/hsac-fitnesse-fixtures-4.21.0.jar
+++ target/hsac-fitnesse-fixtures-4.21.0.jar
├── zipinfo /dev/stdin
│ @@ -1,8 +1,8 @@
│ -Zip file size: 648093 bytes, number of entries: 365
│ +Zip file size: 648125 bytes, number of entries: 365
│ -rw-r--r-- 2.0 unx 82 b- defN 20-Jan-01 00:00 META-INF/MANIFEST.MF
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 META-INF/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 META-INF/apidocs/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 js/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 nl/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 nl/hsac/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 nl/hsac/fitnesse/
│ @@ -81,21 +81,21 @@
│ -rw-r--r-- 2.0 unx 14927 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.StringFixture.json
│ -rw-r--r-- 2.0 unx 11368 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.TimerFixture.json
│ -rw-r--r-- 2.0 unx 31186 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.ValuesFileFixture.json
│ -rw-r--r-- 2.0 unx 9806 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.XmlFixture.json
│ -rw-r--r-- 2.0 unx 54765 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.XmlHttpTest.json
│ -rw-r--r-- 2.0 unx 32944 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.YamlFileFixture.json
│ -rw-r--r-- 2.0 unx 3054 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.ConditionBasedRepeatUntil.json
-│ --rw-r--r-- 2.0 unx 105679 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.json
+│ +-rw-r--r-- 2.0 unx 105680 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.json
│ -rw-r--r-- 2.0 unx 18460 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.LayoutTest.json
-│ --rw-r--r-- 2.0 unx 106948 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.Ng2BrowserTest.json
-│ --rw-r--r-- 2.0 unx 111546 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.NgBrowserTest.json
-│ --rw-r--r-- 2.0 unx 107187 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.NgBrowserTestBase.json
+│ +-rw-r--r-- 2.0 unx 106949 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.Ng2BrowserTest.json
+│ +-rw-r--r-- 2.0 unx 111547 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.NgBrowserTest.json
+│ +-rw-r--r-- 2.0 unx 107188 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.NgBrowserTestBase.json
│ -rw-r--r-- 2.0 unx 4695 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.RichFacesTest.AjaxTimeout.json
-│ --rw-r--r-- 2.0 unx 107800 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.RichFacesTest.json
+│ +-rw-r--r-- 2.0 unx 107801 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.RichFacesTest.json
│ -rw-r--r-- 2.0 unx 16139 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.SeleniumDriverSetup.json
│ -rw-r--r-- 2.0 unx 6089 b- defN 20-Jan-01 00:00 META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.TimeoutStopTestException.json
│ -rw-r--r-- 2.0 unx 10180 b- defN 20-Jan-01 00:00 js/dragDropSim.js
│ -rw-r--r-- 2.0 unx 23891 b- defN 20-Jan-01 00:00 nl/hsac/fitnesse/fixture/Environment.class
│ -rw-r--r-- 2.0 unx 1226 b- defN 20-Jan-01 00:00 nl/hsac/fitnesse/fixture/fit/ClearStoredVariablesFixture.class
│ -rw-r--r-- 2.0 unx 2091 b- defN 20-Jan-01 00:00 nl/hsac/fitnesse/fixture/fit/CompareValuesFixture.class
│ -rw-r--r-- 2.0 unx 254 b- defN 20-Jan-01 00:00 nl/hsac/fitnesse/fixture/fit/MapColumnFixture$1.class
│ @@ -360,8 +360,8 @@
│ -rw-r--r-- 2.0 unx 399 b- defN 20-Jan-01 00:00 templates/LBExchangeRate.ftl.xml
│ -rw-r--r-- 2.0 unx 401 b- defN 20-Jan-01 00:00 templates/generatedSuite.ftl.wiki
│ -rw-r--r-- 2.0 unx 13 b- defN 20-Jan-01 00:00 templates/greeting.ftl
│ -rw-r--r-- 2.0 unx 82 b- defN 20-Jan-01 00:00 templates/greeting.ftl.html
│ -rw-r--r-- 2.0 unx 268 b- defN 20-Jan-01 00:00 templates/samplePost.ftl.xml
│ -rw-r--r-- 2.0 unx 21659 b- defN 20-Jan-01 00:00 META-INF/maven/nl.hsac/hsac-fitnesse-fixtures/pom.xml
│ -rw-r--r-- 2.0 unx 65 b- defN 20-Jan-01 00:00 META-INF/maven/nl.hsac/hsac-fitnesse-fixtures/pom.properties
-│ -365 files, 2518811 bytes uncompressed, 578657 bytes compressed: 77.1%
+│ +365 files, 2518816 bytes uncompressed, 578689 bytes compressed: 77.1%
├── META-INF/apidocs/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.json
-│ │ --- /tmp/diffoscope_od2cpn1z/tmpy15u6hzn/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.json
+│ ├── +++ /tmp/diffoscope_od2cpn1z/tmpm1wv4pgn/nl.hsac.fitnesse.fixture.slim.web.BrowserTest.json
-│ │┄ Similarity: 0.0%
-│ │┄ Differences: {
-│ │┄ "replace": {
-│ │┄ "annotations": [],
...
@hboutemy thanks for the clarification. These files are generated by a plugin that I did not even consider when thinking about reproducible builds. It just shows how great it is to have automated checks!
I'm looking into praegus/fixture-doc-generator#1 but can't seem to reproduce the steps described above on windows or wsl. Is it possible to get an actual diff of th egenerated jsons? That would help me analyze what happens, as I can't immediately figure out what would cause the difference
Edit: nvm, got it running after converting my distro to wsl2
It seems the actual difference is caused by some charset issue:
"docString": "Set the scroll into view behaviour to '?enter of viewport' (true) or 'auto' (false)",
"docString": "Set the scroll into view behaviour to '\u00e7enter of viewport' (true) or 'auto' (false)",
I think we should be able to prevent this by specifying the charset to be used somewhere, but a quick fix that prevents the reproduction from failing is to replace the (wrongly typed) 'ç' with 'c'. (see: #354)
Could be. The funny thing is that the jsons in the reference contained '?enter', and the reproduction from the container contained 'çenter'.. Possibly some environment setting on the gitlab runner?
I didn't check in detail but I assume the reference was from maven central, which I probably built on my mac... (still haven't set up the pipeline to publish to central)
Hi,
I see that release 4.22.0 is out: I rebuilt it and added the results to https://github.com/jvm-repo-rebuild/reproducible-central#nl.hsac:hsac-fitnesse-fixtures
in summary, there are good news but everything is not yet perfect.
First, the good news: hsac-fitnesse-fixtures-4.22.0.jar
is reproducible! Nice job!
Then the sad news:
hsac-fitnesse-fixtures-4.22.0-sources.jar
is not reproducible because newlines inconsistency innl/hsac/fitnesse/fixture/util/selenium/by/AltBy.java
: strangehsac-fitnesse-fixtures-4.22.0-standalone.zip
is not reproducible because a few files are missing from rebuild
the remaining issues are much easier to understand: the job you did on the main jar file is awesome
@hboutemy Thanks for the feedback.
I will try to look at the remaining issues. Especially the extra files in the standalone are interesting: I would like to keep this as small as possible so less files seems better. Maybe something wrong in my local build process. Do you have a list of missing files?
$ diffoscope target/reference/hsac-fitnesse-fixtures-4.22.0-standalone.zip target/hsac-fitnesse-fixtures-4.22.0-standalone.zip
--- target/reference/hsac-fitnesse-fixtures-4.22.0-standalone.zip
+++ target/hsac-fitnesse-fixtures-4.22.0-standalone.zip
├── zipinfo /dev/stdin
│ @@ -1,8 +1,8 @@
-│ -Zip file size: 50131282 bytes, number of entries: 644
+│ +Zip file size: 50129124 bytes, number of entries: 638
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 webdrivers/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/FrontPage/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacAcceptanceTests/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacAcceptanceTests/SlimTests/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacAcceptanceTests/SlimTests/BrowserTest/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacAcceptanceTests/SlimTests/BrowserTest/FrameHandlingTests/
│ @@ -17,15 +17,14 @@
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/HttpTests/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/HttpTests/CustomHttpConfig/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/_TestDefinition/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/_TestDefinition/ParameterizedTests/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/
-│ -drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/MyTests/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 FitNesseRoot/PlugIns/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/META-INF/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/META-INF/apidocs/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/js/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/nl/
│ drwxr-xr-x 2.0 unx 0 b- stor 20-Jan-01 00:00 fixtures/nl/hsac/
│ @@ -203,16 +202,14 @@
│ -rw-r--r-- 2.0 unx 5893 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/MockXmlServerTest.wiki
│ -rw-r--r-- 2.0 unx 313 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/SuiteSetUp.wiki
│ -rw-r--r-- 2.0 unx 5082 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/CompareFixtureTest.wiki
│ -rw-r--r-- 2.0 unx 5082 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/DateFormatFixture.wiki
│ -rw-r--r-- 2.0 unx 1328 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/DateTimeCalculatorFixture.wiki
│ -rw-r--r-- 2.0 unx 8469 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/FileFixture.wiki
│ -rw-r--r-- 2.0 unx 2473 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/FreemarkerFixture.wiki
-│ --rw-r--r-- 2.0 unx 428 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/EnLocaleTests.wiki
-│ --rw-r--r-- 2.0 unx 429 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/NlLocaleTests.wiki
│ -rw-r--r-- 2.0 unx 1414 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/SuiteGenerator.wiki
│ -rw-r--r-- 2.0 unx 528 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/SuiteSetUp.wiki
│ -rw-r--r-- 2.0 unx 110 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/SuiteTearDown.wiki
│ -rw-r--r-- 2.0 unx 218 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/_TestDefinition/ParameterizedTests/JsonHttpTest.wiki
│ -rw-r--r-- 2.0 unx 40 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/_TestDefinition/ParameterizedTests.wiki
│ -rw-r--r-- 2.0 unx 162 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite/_TestDefinition.wiki
│ -rw-r--r-- 2.0 unx 1296 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/SlimTests/UtilityFixtures/GeneratedSymbolicLinkSuite.wiki
│ @@ -236,18 +233,15 @@
│ -rw-r--r-- 2.0 unx 153 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/T002.wiki
│ -rw-r--r-- 2.0 unx 155 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/T003.wiki
│ -rw-r--r-- 2.0 unx 155 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/T004.wiki
│ -rw-r--r-- 2.0 unx 162 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/T005.wiki
│ -rw-r--r-- 2.0 unx 139 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases/T006NoTags.wiki
│ -rw-r--r-- 2.0 unx 2929 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples/TaggedTestcases.wiki
│ -rw-r--r-- 2.0 unx 11732 b- defN 20-Jan-01 00:00 FitNesseRoot/HsacExamples.wiki
-│ --rw-r--r-- 2.0 unx 701 b- defN 20-Jan-01 00:00 FitNesseRoot/PlugIns/content.txt
│ -rw-r--r-- 2.0 unx 364 b- defN 20-Jan-01 00:00 FitNesseRoot/PlugIns/properties.xml
-│ --rw-r--r-- 2.0 unx 10 b- defN 20-Jan-01 00:00 FitNesseRoot/content.txt
-│ --rw-r--r-- 2.0 unx 263 b- defN 20-Jan-01 00:00 FitNesseRoot/properties.xml
│ -rw-r--r-- 2.0 unx 4863202 b- defN 20-Jan-01 00:00 fitnesse-standalone.jar
│ -rw-r--r-- 2.0 unx 15288 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.ClearStoredVariablesFixture.json
│ -rw-r--r-- 2.0 unx 23591 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.CompareValuesFixture.json
│ -rw-r--r-- 2.0 unx 2087 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.MapColumnFixture.ParameterBinding.json
│ -rw-r--r-- 2.0 unx 1717 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.MapColumnFixture.SaveBinding.json
│ -rw-r--r-- 2.0 unx 21892 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.MapColumnFixture.json
│ -rw-r--r-- 2.0 unx 22190 b- defN 20-Jan-01 00:00 fixtures/META-INF/apidocs/nl.hsac.fitnesse.fixture.fit.MapDefinitionFixture.json
│ @@ -639,8 +633,8 @@
│ -rw-r--r-- 2.0 unx 200 b- defN 20-Jan-01 00:00 webdrivers/internetexplorerdriver-windows-32bit.version
│ -rw-r--r-- 2.0 unx 263 b- defN 20-Jan-01 00:00 FitNesseRoot/files/galenExamples/menuHighlight.gspec
│ -rw-r--r-- 2.0 unx 1522 b- defN 20-Jan-01 00:00 FitNesseRoot/files/httpPostExamples/test.png
│ -rw-r--r-- 2.0 unx 90 b- defN 20-Jan-01 00:00 FitNesseRoot/files/httpPostExamples/testFile.txt
│ -rw-r--r-- 2.0 unx 604 b- defN 20-Jan-01 00:00 FitNesseRoot/files/xmlTestExamples/invalid_shiporder.xml
│ -rw-r--r-- 2.0 unx 1155 b- defN 20-Jan-01 00:00 FitNesseRoot/files/xmlTestExamples/shiporder_schema.xsd
│ -rw-r--r-- 2.0 unx 621 b- defN 20-Jan-01 00:00 FitNesseRoot/files/xmlTestExamples/valid_shiporder.xml
-│ -644 files, 81956525 bytes uncompressed, 49999562 bytes compressed: 39.0%
+│ +638 files, 81954694 bytes uncompressed, 49998456 bytes compressed: 39.0%