-
Notifications
You must be signed in to change notification settings - Fork 14
Git Migration
Yaswant Pradhan edited this page Dec 2, 2025
·
37 revisions
This project is aimed to migrate the Met Office simulation systems repositories to Git ecosystem. See announcements 394, and 337 for details.
Note
Pre-requisites to run the migration script (for admins)
Keys:
❄️SRS trunk Frozen permanently; ☑️ SRS Trunk and release tags fully migrated to Met Office GitHub; ✅ Section completed
-
✅ Test
gitlifytranslation tool- Able to convert only svn trunk to Git.
- Able to map svn revisions to Git tag.
- Synchronise trunk updates locally in Git repositories.
- Set-up a (
scron) job to update code/tags routinely.
- Set-up a (
-
✅ Create/update GitHub repositories under MetOffice
- ❄️
svn:um/main(@trunk) → um (@main) ☑️ - ❄️
svn:um/aux(@trunk) → um_aux (@main) ☑️ - ❄️
svn:um/meta(@trunk) → um_meta (@main) ☑️ - ❄️
svn:um/doc(@trunk) → um_doc (@main) ☑️- Compress/convert large graphics in the repository consulting the authors/IAO.
- Implement GitHub Action to build/deploy docs: um_doc/pull/2
- ❄️
svn:um/mule(@trunk) → mule (@main) ☑️ - ❄️
svn:gcom/main(@trunk) → gcom (@main) ☑️ - ❄️
svn:jules/main(@trunk) → jules (@main) ☑️- Check licence agreements, if going public. (JULES in progress...)
- Migrate JULES documentation to the main repository. jules/pull/2
- ❄️
svn:socrates/main(@trunk) → socrates (@main) ☑️ - ❄️
svn:socrates/spectral(@trunk) → socrates-spectral (@main) ☑️ - ❄️
svn:utils/shumlib(@trunk) → shumlib (@main) ☑️- remove sensitive information
- Update README
- GitHub Actions to
- Compile and run Tests
- Generate API documentation
- ❄️
svn:ukca/main(@trunk) → ukca (@main) ☑️ - ❄️
svn:monc/casim(@trunk) → casim (@main) ☑️ - ❄️
svn:moci/main(@trunk) → moci (@trunk) ☑️ - ❄️
svn:lfric/LFRic(@trunk) → lfric_core (@trunk) ☑️- Repository already exists: ask for admin access to the repository.
- ❄️
svn:lfric/GPL-utilities(@trunk) → rose_picker (@trunk) ☑️ - ❄️
svn:lfric_apps/main(@trunk) → lfric_apps (@trunk) ☑️ - ❄️
svn:monc/main(@trunk) → monc (@trunk) ☑️ - Check
config.jsonis correct and up-to-date with MOSRS revisions.
- ❄️
-
General updates for all repositories (during migration)
- All private with specific team access only.
- Repository Description.
-
README.md(in progress...) -
LICENCE(in progress...) - Contributor Licence Agreement (CLA) checks. (in progress...)
-
Keep this in a central repository instead.CONTRIBUTING.md(CLA) (in progress...) -
CODEOWNERS -
CONTRIBUTORS - Correct Copyright statements, particularly in planned open-source repositories. (in progress...)
- E.g., (C) Crown copyright, Met Office. All rights reserved. (post migration)
- Automated Code Quality checks via GitHub Action (in progress...)
- Migrate useful wiki pages from trac to GitHub (in progress...)
-
Map SRS to GitHub username, where possible.(Ref: Ben F.) - Add/update Issue/PR Templates. (in progress...)
-
Testbed
- Create additional
mainbranches (~rename trunk). (prior to 1st release on GitHub) - Test Simulation System workflows with GitHub.
- Make sure tags/releases are still functional.
- Update Working practices.
- Write branch migration guidelines.
- Partner testing -- Allow limited number of developers to test their workflows. (in progress...)
- Create additional
-
✅ During SRS freeze
- Test
trunkandmainare able to merge with different history. - Merge
trunkin future default (main) and deletetrunk
- Test
-
✅ Update communication plan
- Update Simulation Systems Discussion
- Engage in Simulation Systems Q&A
-
Post Migration
- Test Fab (build tool) integration.
- Review Crown copyright statements on all Momentum® codebase.
- Consider Git-LFS for large files in the um_aux repository.
- Contact metomi owner to deprecate their repository.
- Contact metomi owner to deprecate their repository.
How long it takes to convert svn repo to Git?
The listing below shows the time taken to convert trunk-only branches and attach svn tags to the Git repository locally usingssd_svn2git.sh script.
$ tail -n1 *.log
==> 20250330T025505_casim.log <==
2025-03-30 02:56:25 Done: casim in 00:01:20
==> 20250330T025625_moci.log <==
2025-03-30 02:59:42 Done: moci in 00:03:17
==> 20250330T025942_jules.log <==
2025-03-30 03:14:50 Done: jules in 00:15:08
==> 20250330T031450_socrates.log <==
2025-03-30 03:17:04 Done: socrates in 00:02:14
==> 20250330T031704_ukca.log <==
2025-03-30 03:18:06 Done: ukca in 00:01:02
==> 20250330T031806_shumlib.log <==
2025-03-30 03:19:40 Done: shumlib in 00:01:34
==> 20250330T031940_mule.log <==
2025-03-30 03:24:19 Done: mule in 00:04:39
==> 20250330T032419_um_aux.log <==
2025-03-30 03:29:52 Done: um_aux in 00:05:33
==> 20250330T032952_um_doc.log <==
2025-03-30 03:42:31 Done: um_doc in 00:12:39
==> 20250330T034231_um_meta.log <==
2025-03-30 03:46:47 Done: um_meta in 00:04:16
==> 20250330T034647_um.log <==
2025-03-30 05:04:04 Done: um in 01:17:17
==> 20250330T050404_gcom.log <==
2025-03-30 05:06:17 Done: gcom in 00:02:13
==> 20250330T050617_lfric_apps.log <==
2025-03-30 05:11:44 Done: lfric_apps in 00:05:27
==> 20250330T051145_lfric_core.log <==
2025-03-30 05:48:32 Done: lfric_core in 00:36:48
What happens to a tag if the corresponding branch gets deleted?
A branch is simply a way to track a collection of commits. The tag and commit would stull exist if the branch is deleted. Ref: community/discussions/23918.When will the developers get access to the GitHub repositories
Please refer to the timeline in Simulation Systems Discussion. We will announce the opportunity to participate during the later part of migration testbed.© Crown copyright, Met Office. All rights reserved.
- Home
- Release Notes
- Git Migration
- Develop Strategy
- Ticket Tracker
- Future Testing