Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

The Xyce page on GitHub shows a 404 error.

108 views
Skip to first unread message

weiji

unread,
Nov 6, 2024, 8:13:38 PM11/6/24
to xyce-users
  The Xyce page on GitHub shows a 404 error.
  404.PNG

Tom Russo

unread,
Nov 6, 2024, 8:16:54 PM11/6/24
to weiji, xyce-users

The Xyce team had a problem trying to release Xyce 7.9 and had to temporarily mark the GitHub repository as private.

Hopefully they will get the problem fixed soon  but their decision to make the repo private was probably the least bad option they had given the nature of what happened.


On Wed, Nov 6, 2024, 18:13 weiji <abcde...@gmail.com> wrote:
  The Xyce page on GitHub shows a 404 error.
  404.PNG

--
You received this message because you are subscribed to the Google Groups "xyce-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xyce-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/xyce-users/77a9578e-ac15-4983-86b5-a717e7c57638n%40googlegroups.com.

Thomas Russo

unread,
Nov 13, 2024, 11:54:19 PM11/13/24
to xyce-users
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
    git clone --bare https://github.com/<youruserid>/Xyce.git

or

    mkdir -p ~/tmp
    cd ~/tmp
    git clone --bare g...@github.com:<youruserid>/Xyce.git

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.

Now go back to the main Xyce repo (https://github.com/Xyce/Xyce) and fork it all over again, just as you did the first time.

Finally, re-upload your bare git repo back into your github fork:



   cd ~/tmp/Xyce.git
   git push --mirror https://github.com/<youruserid>/Xyce.git

or
   cd ~/tmp/Xyce.git
   git push --mirror g...@github.com:<youruserid>/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.


Reply all
Reply to author
Forward
0 new messages