Earlier today, the Xyce team made the Xyce repository public again. And there was much rejoicing.
If you don't have an existing fork of
Xyce on github, you can skip all of the rest of this email. If you DO
have a fork and actually want to use it for working on Xyce yourself,
read on.
The fact that they had made it private even temporarily has broken the "fork network" --- every single fork of the code started showing up as a fork of some other random fork instead of the official repo (in fact, they all showed up as forks of MY fork, presumably because mine had been the oldest one before they made it private).
I have gone through the process of reestablishing the fork relationship between my fork and the official Xyce fork, but doing *that* broke the fork network again --- it appears now that all of the forks now show as forks of a fork of Xyce that hasn't been updated in five years (I suppose the second oldest one?). At any rate, any existing forks now show as being forked from something that is manifestly NOT the official Xyce repo.
If you forked Xyce some time in the past and have no further use for the fork, i.e. you never actually changed the code yourself anyway, or you are no longer interested in doing so, you might as well delete your fork, because it now has no direct relationship to the upstream fork from which it was created.
If you have forked the Xyce repository and actually do work in that fork that you want to preserve and possibly feed upstream someday, you'll probably want to re-establish its relationship with the official repo. The process is goofy, and if you ask github support for help it tells you ALMOST what I'm about to tell you, except that the AI-generated process it tells you to follow doesn't in fact work, because it has two steps in the wrong order and if you do them in that order the second step refuses to proceed. So here's the straight story.
First, you must create a bare clone of your fork, e.g. in a clean directory somewhere, say ~/tmp:
mkdir -p ~/tmp
cd ~/tmp
or
depending on whether you have ssh keys set up properly.
Your Xyce.git directory now contains everything your github fork did, including any branches or tags you added.
Then delete your github fork. Go to your fork's page, click the settings tab, and scroll down to "Danger Zone" --- you can then delete your fork entirely, which is permanent, deletes all issues you have in your own fork (not those you created in the main one), and breaks any pull requests you might have created before (since nobody has open pull requests in the main Xyce repo, this is not a problem, either). So long as you cloned your fork as above, you have the contents backed up.
Finally, re-upload your bare git repo back into your github fork:
or
cd ~/tmp/Xyce.git
At this point, your github fork should show up as a fork of the Xyce project again, and contain all of your personal branches and work. Check, double check, and triple check. Once you're satisfied that your new fork looks exactly like your old one with all its branches and such, and also shows that it is a fork of Xyce/Xyce instead of xiongyw/Xyce, then you're all good and can delete your bare clone:
cd ~/tmp
rm -rf Xyce.git
Since you named your new fork the same thing as the old, all of your old clones of that fork should still have correctly named remotes, and you are good to go.