Hi,

I would like to announce that, after the May 2017 shutdown of the Gna!
open source infrastructure and hence the loss of relax's home (as well
as minfx and bmrblib), we have now finally and fully migrated to
SourceForge:

    https://sourceforge.net/projects/nmr-relax/
    https://sourceforge.net/projects/minfx/
    https://sourceforge.net/projects/bmrblib/

The details of this migration are below.  As part of the migration, I
will soon release a new version of relax - version 4.1.0.  This will
consist of 2 years of minor changes and bug fixes, as well as lots of
documentation changes for the new infrastructure.  Note that, for
reference, I have CCed all current and former relax developers.

Regards,

Edward


1) Gnu Savannah.

For two years I tried to register relax at Gnu Savannah as a non-Gnu project:

    https://savannah.nongnu.org/task/?14528

However the admin there was making it particularly hard - setting a
bar so high that most of the official Gnu software collection probably
would not make it over.  See that thread for all the details.  This
includes the development of the devel_scripts/fsfcv script for the
"FSF copyright validation" of absolutely all relax files.

The reason for trying Savannah was due to their strong free software
philosophy that relax has always stringently followed.  That was the
original reason for choosing Gna! (as well as the fact that Gna! was
one of the first infrastructures with support for the new and advanced
Subversion version control system).  I will continue to try to have
relax registered at Savannah as a long-term backup solution.  Any
constructive help on the registration thread is welcome.


2) Git migration.

As part of the process, I spent considerable time migrating my
permanent backups of the relax Subversion repository backend to a git
repository, preserving the full commit history.  Due to relax's long
Subversion history, with some incredibly long lived branches, this
process ended up being quite complex.  See the
docs/devel/svn2git_migration/README file for the details:

    
https://sourceforge.net/p/nmr-relax/code/ci/master/tree/docs/devel/svn2git_migration/README

To visualise the complex history, look back at the commits with:

$ GIT_PAGER="less -S" git log --all --graph --date-order
--pretty=format:'%Cred%H %P%Creset -%C(yellow)%d%Creset %s
%Cgreen(%cd) %C(bold blue)<%an>%Creset' --date=iso

Note that the old SVN repository (as well as the git-svn bridge
repository) is archived in a read-only state on SourceForge:

    https://sourceforge.net/p/nmr-relax/code-svn-archive/HEAD/tree/


3) relax mirrors

In the meantime, mirroring of relax was set up across a number of
different infrastructures:

    SourceForge (SF) - https://sourceforge.net/projects/nmr-relax/
    GitHub (GH) - https://github.com/nmr-relax
    GitLab (GL) - https://gitlab.com/nmr-relax
    Bitbucket (BB) - https://bitbucket.org/nmr-relax/

Having relax spread across so many places should ensure access to
relax for decades to come.  The mirroring is specifically for the git
repositories.  These now include the relax source code, the relax
website, and the new relax demonstration data files and scripts as
three separate git repositories.

I have all of these set up as remotes and push all changes to all
mirrors!  That way the main repositories and mirrors are always up to
date.


4) SourceForge

SourceForge was chosen over the other infrastructures due to a number
of reasons.  These include:

    - File downloads.
    - Multiple trackers (or tickets as they call it).
    - SVN support for hosting the old SVN repository.
    - Real mailing lists.
    - Backend shell log in (shell services).
    - MySQL and PHP 7 support (we could possibly set up the relax
Mediawiki here in the future).

Each of the free software/open source infrastructures have their own
benefits.  But SourceForge was chosen as the primary site for
practicality, as it has all that relax needs.


5) Mailing lists

The old relax mailing lists have now been fully restored:

    https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-announce/
    https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-commits/
    https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-devel/
    https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-users/

The 2 year gap is evident in the history.  These have been migrated to
the new SourceForge mailing lists:

    nmr-relax-announce att lists.sourceforge.net
    nmr-relax-commits att lists.sourceforge.net
    nmr-relax-devel att lists.sourceforge.net
    nmr-relax-users att lists.sourceforge.net


6) Website at GitHub

Due to SourceForge having ugly support for SSI includes (requiring
*.shtml files for this - "SSI will only be applied on files with an
.shtml extension"), instead GitHub is being used for
http://www.nmr-relax.com.  GitHub uses Jekyll and YAML which allows
for automatic merging with the master branch with its SSI include
files.  The website git repository has a gh-pages branch.  Changes are
made to the master branch, merged into the gh-pages branch, and then
pushed to all mirrors.  GitHub picks up the changes and quickly
updates the website.


7) Wiki

The relax wiki (http://wiki.nmr-relax.com) was never affected by the
Gna! shutdown as this is run on personal infrastructure donated by
Troels Schwarz-Linnet (an active relax developer).


8) The commits mailing list and git-multimail.py

Due to SourceForge having the powerful shell services, I can log into
their backend and directly modify the bare git repository (and svn
repository).  That allows me to set up repository hook scripts.  For
example it allowed me to make the svn and git-svn bridge repositories
read-only.  I have therefore set up the git-multimail.py script for
reporting all commits on the SF git repositories to nmr-relax-commits
att lists.sourceforge.net.  I have used a custom 'flightgear' branch
that simplifies the output:

    https://github.com/edward-dauvergne/git-multimail


9) The Internet Archive Wayback Machine

Note that most, if not all of the relax open source infrastructure
from Gna! was preserved by the Internet Archive prior to shutdown.
The main page, for example, is:

    https://web.archive.org/web/20170301013031/https://gna.org/projects/relax/

Navigation to bug, support and task items is not easy though.  Often
you will need to paste the original URL directly into the Internet
Archive (https://web.archive.org/).


10) OpenHub

I have set up relax at OpenHub to allow for meaningful development statistics:

    https://www.openhub.net/p/nmr-relax

If you are or were a relax developer, you can sign up there to have a
public profile documenting your open source coding.  For example:

    https://www.openhub.net/accounts/true_bugman

The stats are shown on the links page:

    http://www.nmr-relax.com/links.html#OpenHUB


11) NESSY

As a side note, as Michael Bieri has nominated me to be the caretaker
for his NESSY project, I have also performed a migration of that
software to a number of mirrors:

    https://sourceforge.net/projects/nmr-nessy/
    https://github.com/nmr-nessy
    https://gitlab.com/nmr-nessy

Note that the Subversion repository was unfortunately permanently lost
with the Gna! shutdown, so the git repositories have no history.  The
SourceForge site has been set up to be fully functional for any NESSY
users.  This includes full restoration of the NESSY website:

    https://nmr-nessy.sourceforge.io/


_______________________________________________
nmr-relax-announce mailing list
nmr-relax-announce@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nmr-relax-announce

Reply via email to