RAMSES moves to GitHub

TLDR for advanced git users: stop using bitbucket, change your remotes, the default branch is now called “stable“, and pull requests should only be done to the “dev” branch.

This migration has multiple motivations, including the fact that the original bitbucket repository had started to become hard to manage, and the RAMSES repository now lives within a Github “organisation” (aptly named ramses-organisation) which allows other repositories to live under the same RAMSES umbrella (e.g. tutorials, etc).

As decided during the 2024 RUM, the RAMSES version that now lives on Github has changed its branching strategy, with a “stable” branch and a development (“dev“) branch. The “stable” branch is the default one, and this should be the branch most users would want to start from. Indeed, this is the branch for which documentation and tutorials will be kept up to date, and as its name suggests it is also the branch on which more thorough tests will be run.

The “dev” branch is the one that accepts pull requests, through which developers can share mature developments with the community. The changes from the “dev” branch will be integrated into the “stable” branch periodically.

Aside from the git history, most the features that were available on bitbucket have been ported to Github:

– A new documentation is currently under development, but all the information on the former bitbucket wiki have been moved to a “read-the-docs” website (https://ramses-organisation.readthedocs.io/en/latest/) which is maintained based on the content of the “doc” folder in the code.

– The testing suite has been partially re-implemented: automatic compilation tests are running (compilation with hydro and MHD in 1,2,3D, and RHD in 2-3D), but the execution tests have not fully been ported yet (this is work in progress).

Note that if you have a version of RAMSES that points to the bitbucket repository (i.e., if you do not have a custom fork), there will be some steps you need to take to switch to the new repository! The following commands should ensure that your repository points to the right remotes. PLEASE SAVE YOUR WORK BEFORE DOING ANY OF THIS!

Set the remote URL to the Github URL:

   git remote set-url origin https://github.com/ramses-organisation/ramses.git

or if you use ssh:

   git remote set-url origin git@github.com:ramses-organisation/ramses.git

If your branch is called master (i.e., no custom development), we suggest to change its name:

   git branch -m stable

Get all the new branches:

   git fetch --all

Set the upstream branch:

   git branch -u origin/stable

Now you can “pull” the new changes (you will likely have to deal with merge conflicts! Again, SAVE YOUR WORK before proceeding further).

   git pull --no-rebase

You can also do git pull –rebase if you want to just switch to the latest version (not recommended).

If you have a fork, we instead recommend to (re)define the “upstream” remote with:

   git remote add upstream https://github.com/ramses-organisation/ramses.git

If you already had an “upstream” remote, you can just redefine its URL with

   git remote set-url upstream https://github.com/ramses-organisation/ramses.git

In any of these cases, you will have to deal with merge conflicts etc as you sync your fork with the (upstream) code.

We hope that the transition happens smoothly! If not, please contact us through the ramses mailing list or slack.


Posted

in