testUpgradeInstanceWithOldDataFs: rebuild with more bt
Jérome Perrin authored
Procedure to update was:

1. edit bin/runUnitTest.real to change connection string to "erp5_test_0@erp5-catalog-0:2099 testuser_0 testpassword0"
2. in erp5.git repo, checkout at d8961c5195a214ec1257cfea55762360cba06b14
3. copy new testUpgradeInstanceWithOldDataFs.py in products/ERP5Type/tests
3. run test with --save, with full indexing activated:

    ./bin/runUnitTest --portal_id=erp5 --enable_full_indexing=portal_types,portal_property_sheets --save testUpgradeInstanceWithOldDataFs
4. copy files here
5. rewrite with rewrite_data_fs.py
6. rewrite the dump to keep compatibility with old mariadb (we might drop this at some point)

    sed -i -e s/utf8mb4/utf8/g dump.sql
61b116a8

Purpose

This repository is used for put the business template which not suitable to put in the main nexedi/erp5 repository, such as files generated as a result of compilation (for example: python modules compiled as web assembly) or large files that would prevent mirroring on github (because github refuses git objects larger than 100MB).

SlapOS was configured to use erp5-bin as external repository: https://lab.nexedi.com/nexedi/slapos/blob/d1bd018c/stack/erp5/buildout.cfg#L346

So this external library was managed by SlapOS. Updating work also done by SlapOS.

Submodule

Use git submodule needs to pin a revision in the main erp5 repository. Each time we commit something to the submodule, we also need to update the revision, which add a redundent commit in the main erp5 repository.

If we use submodule, people have two choices. The first one is to execute git commands from terminals. The second one is improve the erp5_forge bt. Which also bring a new issue: When checkout branch in erp5 repository, how to handle the submodule. Add a hook like post-call to re-initialize the submodule, or done it manually from command line?

Last but not least. The submodule not managed by SlapOS. Use external repository can force people to use SlapOS.