Skip to content
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

Use chg rather than hg for Send/Receive, saving about 20 seconds per S/R #353

Merged
merged 5 commits into from
Dec 6, 2024

Conversation

rmunn
Copy link
Collaborator

@rmunn rmunn commented Nov 8, 2024

Will allow speeding up Send/Receive operations by setting the CHORUS_HG_EXE environment variable.

We also need to update one unit test that is now broken because of a change in LfMergeBridge's logic for finding FixFwData. LfMergeBridge used to look for FixFwData in the current working directory only, which made it rather brittle as you had to cd into the right folder before running lfmerge. Now we've improved the logic for finding FixFwData so it's much less brittle. Which means that the test that checks what LfMergeBridge will do when FixFwData is missing, which used to simply cd to an empty directory, now has to do a lot more work to get LfMergeBridge to throw an exception.

Fixes #352.

@rmunn rmunn self-assigned this Nov 8, 2024
Copy link

github-actions bot commented Nov 8, 2024

Test Results

    2 files  ±0    21 suites  ±0   6m 1s ⏱️ -7s
315 tests  - 1  293 ✔️  - 1  22 💤 ±0  0 ±0 
318 runs   - 1  296 ✔️  - 1  22 💤 ±0  0 ±0 

Results for commit caf707e. ± Comparison against base commit f4bdb42.

♻️ This comment has been updated with latest results.

rmunn added 2 commits November 9, 2024 10:37
LfMergeBridge has become smarter about finding the location of FixFwData
so the test that checks what happens if it's missing now has to work a
lot harder to hide it. It used to be enough to simply change the current
working directory, but now we have to actually hide the FixFwData file
AND the FixFwData.exe file by renaming them temporarily.
@rmunn rmunn changed the title Bump Mercurial and Chorus packages to use chg Use chg rather than hg for Send/Receive, saving about 20 seconds per S/R Nov 9, 2024
@rmunn rmunn requested a review from hahn-kev November 9, 2024 04:22
This test is checking for a failure condition that no longer happens,
and is hard to get running in parallel. We might as well delete it and
keep the code simple.
@rmunn
Copy link
Collaborator Author

rmunn commented Dec 3, 2024

Currently blocked by sillsdev/flexbridge#419: test failures are caused by a breaking change in l10nsharp which was fixed by LibChorus version 6.0.0-beta0059, but we've unlisted 6.0.0-beta0059 from nuget.org and so I can't get the fix downloaded in order to make the tests pass. Once we have version 6.0.0-beta0060 of ChorusMerge (and LibChorus, etc) uploaded to NuGet, I'll be able to make these tests pass.

Later LfMergeBridge NuGet packages were accidentally compiled against a
version of Chorus with a breaking change in the localization manager,
which causes ChorusMerge failures. We'll pin LfMergeBridge to the
version just before the breaking change, just in case.
@rmunn rmunn force-pushed the chore/bump-mercurial-and-chorus-nuget-packages branch from 1cb4f88 to caf707e Compare December 6, 2024 05:09
@rmunn
Copy link
Collaborator Author

rmunn commented Dec 6, 2024

By locking the LfMergeBridge NuGet package to the last version before it accidentally consumed the breaking change in Chorus, we get passing tests and still get the ability to choose chg with environment variables. Going to merge this, and then once the Chorus situation is sorted out and a LibChorus 7.0.0 package is available, we'll be able to upgrade again.

@rmunn rmunn merged commit 1a959e3 into develop Dec 6, 2024
3 checks passed
@rmunn rmunn deleted the chore/bump-mercurial-and-chorus-nuget-packages branch December 6, 2024 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Try using chg to speed up Send/Receives
2 participants