-
Notifications
You must be signed in to change notification settings - Fork 5
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
🚀 Switchover from Trac to GitHub #73
Comments
I'm a bit out of the loop about how exactly open tickets with existing branches are now converted (issue or pr?), but in either way the migration guide should document how to keep working on an existing trac ticket/branch. |
Where is the procedure to transfer trac wiki pages? Like the practice of using the script, perhaps we should migrate the wiki first and then tickets, for safety. |
The procedure depends on the decision made in #83 |
Do we use the migration archive (the json files in /archive) for this? As I understand it, we use the migration archive only for GitHub Enterprise Server. |
Yes, we will use the migration archive for the final import too. |
Sorry about asking perhaps a settled matter. According to the documentation like https://docs.github.com/en/enterprise-server@3.7/admin/user-management/migrating-data-to-and-from-your-enterprise, I understand that migration archive is for migration to GitHub Enterprise Server, but not to Github.com. Does Github.com provide an API for migration archive? Did we test it? Or do we have a special agreement with Github.com? |
We have a contact at GitHub who will take care of the import of the migration archive for us. |
OK! Thanks. |
If we are on the schedule as planned here, an announcement of the migration day and the schedule should be made on sage-devel. Perhaps a notice of what an individual developer should do, if any, may be included. |
Yes, I'm waiting for a Trac admin to confirm that they are able to do step 1 by Jan 30. @dimpase |
yes, sure, I'll do this in some way. Let's say I'll start at 13:00 GMT on 30 Jan, and hope to be done by 23:00 GMT (maybe earlier). I wish we had @embray helping though - he's an expert in trac... |
Great, thank you! I'll send out an announcement on sage-devel. |
Can you please also rename the master branch to main as one of the last steps. Theoretically, this could also be done afterwards but this would only result in unnecessary overhead. |
Why? I am sympathetic with the argument in https://medium.datadriveninvestor.com/why-githubs-change-from-master-to-main-is-not-the-solution-a3ac38cc48dd |
Perhaps |
I think "main / develop" is the common terminology for the gitflow workflow. I would say we can use the github migration to move to the modern trunk-based workflow and only have one Personally, I also don't feel attacked by the word "master" but I can understand that I'm in a privileged position and there are people who feel different about this word. It's a simple thing to use "main" instead, so why not do it? Of course, it doesn't "solve" the problem but it's a step in the right direction. |
This whole thing will need to be discussed on sage-devel and with our release manager. |
I agree that the move from gitflow to trunk-based needs further discussion, but the rename of master to main was included from the beginning in the github migration proposal and can still be found in https://github.com/sagemath/trac-to-github/blob/master/docs/Migration-Trac-to-Github.md#release-managers-workflow. |
Let us not complicate the move to github by the branch renaming. Once it's done, renaming should be very easy. |
Renaming the branches can be easily be done in the github ui, yes. But every dev needs then to update their local config (and their fork?) to reflect these changes. Thus it would be easier to simple rename the branches before everyone setups their local repo to track the github repo. Moreover, the rename of master to main should not really influence anyone (except for the release manager maybe), right? |
at least in my practice I seldom use the master branch of SageMath. Anyway, the renaming of the master branch need not be done now, it can be done after the migration is done, but before the new setup goes live. |
@mkoeppe - am I right that the migration process does not use |
Yes, that's right. |
I expect to be able to make it read-only, but, just in case, good to know. |
I don't see how we can make this 101% watertight without actually changing the code of Trac. (Or doing something clever with the Apache server, which serves trac's pages - but this is not what I can see quickly). GitHub logins are disabled now, there even no button to click on for this any more. |
can you open tickets, modify tickets descriptions, change their status? Or it's only comments? |
Haven't tried - does it matter? |
https://github.com/edgewall/trac/blob/trunk/trac/web/session.py#L389 |
As far as I am concerned, it's ready for importing. I have made a snapshot... |
|
yes, and that's what I was doing in the last 5 hours - running these commands.
But they still didn't do enough to kick you or David out! And now there is exactly one such a session present |
OK. Then we just declare victory. |
Running Perhaps this breakage of |
I have started the migration script. |
Congrats! Goodbye Trac, we are leaving! |
I was told where to look at Trac source for these |
Stripping all cookies via the apache config (so that they never reach trac) may also work and should be relatively simple to implement. |
Is trac needed now? I'd like to experiment with fixing this last bit, beginning from getting rid of hopefully not needed |
No, I've scraped all necessary data from Trac. |
@tobiasdiez @dimpase @fchapoton Do you think "Display a link from each Trac ticket to the converted GitHub Issue" is easy to do? |
After the final check and before opening up the repo for issues and PRs, would the repo be accessible by general public to check? |
Good idea, I have added steps for this; I'll try to use repo locking during period. |
it should be doable. On my side, not before the next week, though. |
If I remember correctly from my short interaction, there is a simple config to add batches. Thus, the simplest would be to add a badge like https://img.shields.io/badge/Github-Go%20to%20the%20migrated%20issue-orange?style=for-the-badge&logo=github with a link to |
PR authors cannot apply labels yet: sagemath/sage#34960 |
Issue links do not work in wiki: https://github.com/sagemath/sage/wiki/ReleaseTours-sage-9.8 |
yep, it's cause we need to do a mass rewrtiting of Unfortunately GitHub wikis don't do autoexpansion the way one can do in comments/issues, cf https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls#issues-and-pull-requests |
We could do the mass rewriting by the migration script if people had not started editing GitHub wiki pages. Now we should do it perhaps (semi)-manually. |
write-closing-commits.sh
(done in 83bc2e2, includes 9.8.rc0)worktree-prod
(instead of clearing the trac-to-github disk cache (rm -rf trac_cache
) and the migration archive (git clean -fX archive
))migrate.py
to create the migration archive inarchive/
. about 6.5 hours runtime, needs running, read-only Trac servermigrate.cfg.sagetracmigrationarchive
[wiki] migrate: yesmaster
intoproduction
. Clear the migration archive again (git clean -fX archive
).migrate.py
. about 30 minutes.master
,develop
!) atarchive/repositories/sagemath/sage.git
. In the bare repo, runrm -Rf refs/pull && git gc
to get rid of the pull request refs from sagemath/sage; we do not transfer these PRs in this step. (Alternatively, we can push to the repo later.)archive/repositories/sagemath/sage.wiki.git
. (Importing a populated wiki repository does not seem to work – wiki at https://34.105.185.241/sagemath/sage-20230130181123/wiki was empty on import. So we push the wiki later.)map-ghe.csv.in
and general inspection. about 20 hours runtime.archive.tar.gz
; also uploadmap-github.csv
(edited frommap-ghe.csv.in
-- see scriptrsync-archive-to-ghe-and-import.sh
).Fix up the map using GraphQL (ECI does not allow me to go back to change the map when it thinks it is "READY") orrestart the import from scratch (~1h).4. (Optional:) Create a single-branch fork of sagemath/sage-temp called sagemath/sagetrac-mirror and push all branches (or all branches of open tickets) from sagemath/sagetrac-archive to it. Open PRs from sagemath/sagetrac-mirror to sagemath/sage-temp for all open tickets with attached branches.17. [ ] Rename the new repo sagemath/sage-temp to sagemath/sage. (Yes, this will work and will break the redirect sagemath/sage -> sagemath/sage-archive-2023-02-01.)18. [ ] (Optional:) Transfer the existing (few) issues from sagemath/sage-archive-2023-02-01 to sagemath/sage.develop
to 9.8.rc1,merged-wiki
The text was updated successfully, but these errors were encountered: