Skip to content

Update LfMerge to new database model version

Eberhard Beilharz edited this page Jan 17, 2017 · 2 revisions

This document outlines the necessary steps to update the source code to a new FieldWorks database model version. The steps might be incomplete or might have changed, but it should give a rough idea what's necessary.

Update lfmerge-fdo package to new model version

  • merge latest released branch or tag (e.g. release/8.3) into feature/lfmerge branch of FieldWorks
  • Build/mkall.targets will probably cause a merge conflict. Be careful to get the binary dependencies from the lfmerge branch builds on TC.
  • update feature/lfmerge branch of FwDebian repo:
    • Modify control.in file to depend on latest model version
    • update MAX_DB_VERSION in CMakeLists.txt
  • create new lfmerge-fdo packages (there should be a new package lfmerge-fdo-<newmodelversion>; lfmerge-fdo should depend on that new package as well as all the old model version packages)

Update lfmerge to new model version

  • update MaxDbVersion in debian/PrepareSource
  • edit the *.csproj files:
    • add new references to the assemblies for the new model version

    • add a new configuration Debug<modelversion> by copying existing configuration and editing it. This makes it developing and debugging for that model version easier.

    • change the default DatabaseVersion property at the top of the file to the new model number

    • migrate the testlangproj test data by runnning:

      mono --debug LfMergeAuxTool.exe -m -c -p /full/path/data/testlangproj/testlangproj.fwdata

    • migrate the testlangproj-modified test data by copying the .hg directory from testlangproj and then migrating the fwdata file:

      cp -a data/testlangproj/.hg data/testlangproj-modified/

      mono --debug LfMergeAuxTool.exe -m -c -p /full/path/data/testlangproj-modified/testlangproj.fwdata

NOTE: The testlangproj and testlangproj-modified hg repos need to have the same commits with testlangproj-modified having just one additional commit.

Clone this wiki locally