-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FixFwData now does real work #1159
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Looks like #1161 might need to be merged first in order to resolve the NuGet package downgrade warnings. |
rmunn
changed the base branch from
develop
to
chore/bump-dependencies-for-system-text-json
October 25, 2024 03:51
rmunn
force-pushed
the
feat/real-fixfwdata
branch
from
October 25, 2024 03:54
c1b2843
to
f933b2b
Compare
rmunn
force-pushed
the
feat/real-fixfwdata
branch
from
October 25, 2024 03:59
ffb59e5
to
f933b2b
Compare
No, I see. It doesn't run checks on PRs that aren't against |
rmunn
changed the base branch from
chore/bump-dependencies-for-system-text-json
to
develop
October 25, 2024 04:00
rmunn
force-pushed
the
feat/real-fixfwdata
branch
from
October 25, 2024 04:01
ffb59e5
to
f933b2b
Compare
hahn-kev
approved these changes
Oct 25, 2024
When running `dotnet restore` on Linux against the whole solution, it fails with the following error message: error NETSDK1100: To build a project targeting Windows on this operating system, set the EnableWindowsTargeting property to true. We don't want to set EnableWindowsTargeting on Mac, so we'll use a condition to only set it when building on Linux.
FixFwData uses the latest version of liblcm, which needs a later SIL.Core release than the one Testing.csproj is currently targeting.
rmunn
force-pushed
the
feat/real-fixfwdata
branch
from
October 25, 2024 09:17
ffac124
to
02b7bfc
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #1155.
Our FixFwData program was a do-nothing implementation, there only because FlexBridge requires a program called FixFwData to exist and be runnable. This was fine as long as the only Send/Receives we were triggering in Lexbox code were in integration tests, where no merge conflicts could happen. However, once we start allowing CrdtMerge to do real Send/Receives of user data, merge conflicts can happen, and FixFwData is there to take the merge decisions made by ChorusMerge and fix them when they would produce invalid .fwdata files. (For example, two people might add the same part of speech to a project, and the merge resolution would keep both. That would be valid XML but invalid .fwdata because they would both have the same GUID, so FixFwData would keep just one of the two parts of speech with that GUID).
The guts of FixFwData are provided by liblcm, so all we have to do here is write a wrapper program. I've chosen to copy the LfMerge implementation, and change its LoggingProgress implementation to use Microsoft's ILogger interface instead of Console.WriteLine. Which means, since I copied the implementation from LfMerge's LGPL'ed implementation, that this FixFwData implementation is also LGPL'ed. Since it's a separate .exe from the rest of our code, this has no implications for the license of the rest of the Lexbox code, which is MIT licensed.