WeBWorK Problems

Why two repositories?

Why two repositories?

by Lars Jensen -
Number of replies: 5
Hi Mike and Arnie,

Seeking some authoritative answer from the developers to some questions on the National/Open problem library:
  1. Why there are two problem repositories svn and git?
  2. Why are they not synced?
  3. Can we count on them being synced?
Question 2 is a special issue, because problems with errors don't seem to get fixed in the github version. We are using the github version.

Thanks for any answers.
Lars.

In reply to Lars Jensen

Re: Why two repositories?

by Lars Jensen -
...and a couple of follow up questions: 

We still have a copy of the svn /opt/webwork/libraries/NationalProblemLibrary on our system. Will anything on the system break if we, on our webwork github installation, revert to the svn version of the library like this:
rm -Rf /opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary
ln -s /opt/webwork/libraries/NationalProblemLibrary /opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary
  • Are there advantages to sticking with the OpenProblemLibrary?
  • If we revert, will there be any issues reverting?
  • If we revert, will the OPL-update script still work correctly? 
  • If we revert, will any config files need to be edited?
  • All the problems in our sets exists in the NationalProblemLibrary. Will any of these sets break if we revert?
If not, we may just revert to the NationalProblemLibrary.

Lars.
In reply to Lars Jensen

Re: Why two repositories?

by Michael Gage -
  • Are there advantages to sticking with the OpenProblemLibrary?
  •  Yes.  The SVN, NPL version of the library will soon become frozen and will no longer be updated. 
  • If we revert, will there be any issues reverting?
  • Probably not -- the two libraries were designed to be compatible.
  • Make sure problemLibraryVersion (in config files) is   set to 2.0 for NPL and 2.5 for OPL
  • If we revert, will the OPL-update script still work correctly? 
  • If you reset the problemLibraryVersion number correctly it should -- Jason designed it  to update both the OPL and the legacy NPL library.
  • If we revert, will any config files need to be edited?
  • YES.  You need to make entries in localOverrides.conf that update the problemLibraryVersion number and also the problemLibrary  path/location.
  • All the problems in our sets exists in the NationalProblemLibrary. Will any of these sets break if we revert?
  • I don't expect them to.  On the other hand if you know which new sets you want to use why not just move them to the appropriate locations in your OPL repository?  They won't be tracked initially and won't be overridden by OPL updates.  You could even put them under git control which makes them easier to maintain.
In reply to Lars Jensen

Re: Why two repositories?

by Michael Gage -
We are moving to using git and github to host all WW repositories.  

The interface for those downloading a new version of WW is very similar 
for both git and svn (in fact github even allows you to use an svn client to download from its repositories).

The interface for those trying to maintain the WW code and merge new features is much superior with git.  Git also has features which we hope
to use in creating a smooth mechanism for automatically uploading and reviewing corrected problems. (The design and implementation of this workflow is not easy and is still on going.  Volunteers who would like to participate in this project are welcome. )

The SVN repository has remained open at the request of some people who did not wish to switch over immediately last August.  We are encouraging all those updating problems to make the updates on new github repository and not on the SVN repository.  

Since it takes a while for all those contributing to problem updates to switch over we are attempting to move any updates which are made to the SVN library over to the github library.  It's a labor intensive so it doesn't always get done quickly.  We will not be moving updates from the github library back to the SVN repository. It has been 6 months since the initial switch and I expect that soon we will close down the SVN for new submissions.  At that point we'll make sure that all SVN submissions have been applied to the github library as well.  We will keep the SVN open for downloads for the foreseeable future.

-- Mike


In reply to Lars Jensen

Re: Why two repositories?

by John Jones -
Hi,

For webwork system code (i.e., the webwork2 and pg code), the git version is the most up to date, and it will stay that way.  The svn repositories for webwork2 and pg are frozen.  I know that is not what you are asking about, but I wanted it to be clear that the difference between those parts of webwork and the OPL/NPL.

For the time being, I recommend using the svn version of the NPL/OPL.  It is up to date as far as bug fixes, and is the one being actively maintained.  As far as I know, the git version is at least 6 months behind.  I don't know of any bug fixes which are in the git repository which are not in the svn respository.  So the choice seems clear.

Switching back to the svn version of the NPL should be easy (set a symbolic link, set the library version number in a config file, and run OPL-update), and I think Mike has already covered the steps in more detail.

At some point in the future, the NPL/OPL will switch to git and freeze the svn repository, but I don't know when that will be.  It would make sense for there to be an announcement in this forum when it happens.

John

In reply to John Jones

Re: Why two repositories?

by John Jones -
I wrote:

At some point in the future, the NPL/OPL will switch to git and freeze the svn repository, but I don't know when that will be. 

Now I know; it happened yesterday.  The current version of the NPL/OPL is now the one housed at github, and the svn version is frozen.  Changes (bug fixes, addition of new problems) will only be made to the git repository.

John