This is an unfinished framework. If you find mistakes then please report them. Enjoy!

SVN-Server

From BoxMatrix


BoxMatrix >> Development >> SVN-Server @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Gallery

AVM-Tarballs Firmware-History Firmware-News Supportdata-Probes SVN-Server Freetz-News Freetz-Releases OpenWRT-Info TODO TODO

Info
Everyone who ever checked out Freetz from its repository now has dead builds which could not be updated any more since the Freetz team switched off the SVN master. For all users with existing builds we created a backup server which could be used to update your builds to the moment when Freetz turned a Github-only fork of itself, disposing all of its prior pride. One advantage of Github is that everybody can fork a project with a few clicks, and start working independently, and it already happened. Now we have multiple forks of Freetz, the freetz-org fork which owns the domain, and the freetz-ng fork which intends to be more open for collaborative development. Both use the last snapshot of the SVN master to start their fork. Not finished yet but you will be able to choose which fork of the former master to follow. See the Freetz-News for details about ongoing development.

Info
Sad news: On 2018-02-17 the freetz-ng fork was discontinued, after only 2.5 weeks of promising activity, and its repository on Github removed. The reason was the lack of contributors. freetz-ng was intended to be open for collaborative development, in opposite to the freetz-org fork which is nearly locked down to death since early december by its restrictive maintainers contribution rejecting gatekeepers. A good chance for a return of an actively maintained community driven and up to date Freetz passed. Let's hope that there will be a new fork to reopen the project to the community as it once was.

BoxMatrix SVN-Server[edit]

As a first step the BoxMatrix SVN-Server is a fallback server for the former Freetz master. It uses the same structure as before just the base URL changed:

3-hourly updated index of recent activity on our svn repositories. Last update: 2019-02-18 08:12 GMT.

Legend:   host = hosted here.   -   dead = dead link.   -   The Com column shows the amount of commits since the fork of the freetz SVN master.

Once finished you can relocate to the fork of your choice. All repositories are currently read only. This may change.
If you are a developer consider contributing to one of the forks, but use the respective Master then to check out, or create your own fork there.
If you want another Github fork bridged here then get in touch.

Relocate your build[edit]

The svn client permits to relocate the remote project URL of a build. This is a step by step howto:

Get the svn Version[edit]

The method to relocate depends on the version of the svn client so you first have to check it:

$ svn --version
svn, version 1.6.17 (r1128011)
...

If the version is below 1.7 you need to use the old method, as of 1.7 the new method is your friend.

Get the Project URL[edit]

Next cd to your build and find out the current project URL:

$ svn info
Path: .
URL: http://svn.freetz.org/trunk
Repository Root: http://svn.freetz.org
Repository UUID: 149334a1-2f27-0410-a3b9-fc62619ac1e6
...

In this example the URL shows that you checked out the trunk. Now let's relocate this URL:

Relocate: old Method[edit]

For the example above pre 1.7 clients relocate your trunk like this:

$ svn switch --relocate http://svn.freetz.org/trunk http://svn.boxmatrix.info/freetz/trunk

Relocate: new Method[edit]

As of version 1.7 switch --relocate has been deprecated and replaced by the relocate command:

$ svn relocate http://svn.boxmatrix.info/freetz/trunk

Update your build[edit]

Now you can simply update your build as you are used to:

$ svn up
...
Updated to revision 15014.

This method also works for all tags and branches and checkouts for specific revisions, even for old dsmod builds which used the SVN.

Choose a fork[edit]

Once implemented you can choose one of the forks hosted or bridged here, which you can easily relocate to as explained.

Change the fork[edit]

You needn't stay with a specific fork, you can switch it any time by relocating it. Since all forks here are checked into a clone of the frozen SVN master they are compatible up to the revision of the frozen master.

Just checkout revision 15014 (or 15000) and switch the fork by relocating it. Of course this requires cleaning your build to not mix up projects.

  • To be explained here

Using HTTPS[edit]

The BoxMatrix SVN-Server supports HTTPS, thanks to Let's Encrypt. Using HTTPS has quite some advantages, but may also have disadvantages.

The Freetz SVN never had working HTTPS support, which is an advantage now that it's gone. People who have hundreds of builds could mass relocate a HTTP checkout on DNS level, instead of relocating build for build. The new target just needs the same path structure and a virtual host for the prior hostname.

Since the author of BoxMatrix is one of those people with hundreds of (mostly modified) builds there will be support for DNS based mass relocation for svn.freetz.org in future (by your hosts file or using dnsmasq). However, this is not implemented yet.

So if you plan to have masses of checkouts you should stay with HTTP to stay mass relocatable and independent of a working certificate.

Credits[edit]

Big thanks to Cuma for providing the latest backup of the passed SVN server and for spending one night to check it into an empty repository!