# Updating 9.0-9.1



## UNIXgod (Jan 10, 2013)

Okay so I have been used to using cvsup then csup for years and building the system from source the canonical way explained in the handbook. In effort to reorganize myself for the update what is the process to get 9.1 sources without csup? Will I need to install svn first or use freebsd-update for the initial migration and rebuild from source after.

More importantly is there an equivalent to supfile templates for subversion which I'm also used to using with the fastest_cvsup port.

Any suggestions on how to update, hopefully, without issue would be appreciated.


----------



## kpa (Jan 10, 2013)

There is no equivalent of a supfile of SVN, the checked out working copy is completely self contained and remembers the remote repository it was checked out from.


----------



## xtaz (Jan 10, 2013)

The way I did it on a brand new install was to install a ports tree using portsnap, install subversion, then if you want 9.1-RELEASE run this:

`# svn co [url=svn://svn.freebsd.org/base/releng/9.1]svn://svn.freebsd.org/base/releng/9.1[/url] /usr/src`

If you want 9.1-STABLE run this:

`# svn co [url=svn://svn.freebsd.org/base/stable/9]svn://svn.freebsd.org/base/stable/9[/url] /usr/src`

To keep them up to date run this:

`# svn up /usr/src`

To switch to a new release run this:

`# svn switch [url=svn://svn.freebsd.org/base/releng/9.2]svn://svn.freebsd.org/base/releng/9.2[/url] /usr/src`

Simple! I think at some point they are planning on releasing a svnup equivalent of csup but for the moment it's not ready.


----------



## Ofloo (Jun 2, 2013)

I don't understand why moving to `svnup` knowning `cvsup` works and knowing `svnup` isn't even ready? Seems like some people are just rushing into something. 

An other issue is, I use `portsnap` with ports all the time, never even used `cvsup` there, .. I checked it out with `svn checkout [url=https://svn0.us-west.FreeBSD.org/ports/head]https://svn0.us-west.FreeBSD.org/ports/head[/url] /usr/ports`, but I keep getting this warning, about `cvsup` being deprecated. How do I get rid of this warning?


----------



## kpa (Jun 2, 2013)

Supporting CVS repositories for ports and sources became impossible because of the work hours CVS requires to maintain compared to SVN. The work on supporting those services is largely done by unpaid volunteers so the only reasonable solution was to deprecate CVS even if there wasn't a full suite of tools for SVN (like svnup) available at the time.

Besides, there's always the full devel/subversion client you can install, it's not rocket science.


----------



## wblock@ (Jun 2, 2013)

Ofloo said:
			
		

> I don't understand why moving to `svnup` knowning `cvsup` works and knowing `svnup` isn't even ready? Seems like some people are just rushing into something.



net/svnup is not part of Subversion, it's meant to be a replacement for csup(1).

Anyway, it's not that people using Subversion are rushing into anything, it's that CVS was past its prime about a decade back.  



> An other issue is, I use `portsnap` with ports all the time, never even used `cvsup` there, .. I checked it out with `svn checkout [url=https://svn0.us-west.FreeBSD.org/ports/head]https://svn0.us-west.FreeBSD.org/ports/head[/url] /usr/ports`, but I keep getting this warning, about `cvsup` being deprecated. How do I get rid of this warning?



That is unclear.  Combining portsnap(8) and svn(1) is certainly not going to work correctly.  Please show the exact message.


----------



## Ofloo (Jun 3, 2013)

What do you mean it's not going to work, that's what they suggest in the manual, at least that's what I understood from it. Use portsnap rather then svnup and svn for the source tree.

This is the message I get:


```
"/usr/ports/Mk/bsd.port.mk", line 4: warning: ACTION REQUIRED
"/usr/ports/Mk/bsd.port.mk", line 5: warning: You are using a ports file that originated from CVS!!
"/usr/ports/Mk/bsd.port.mk", line 6: warning: The FreeBSD project has switched from CVS to SubVersion.
"/usr/ports/Mk/bsd.port.mk", line 7: warning: This CVS repository is NO LONGER UPDATED!  If you see this
"/usr/ports/Mk/bsd.port.mk", line 8: warning: message then your tree is STALE and you need to follow
"/usr/ports/Mk/bsd.port.mk", line 9: warning: the update instructions to receive any more updates.
"/usr/ports/Mk/bsd.port.mk", line 10: warning: Original announcement:
"/usr/ports/Mk/bsd.port.mk", line 11: warning: http://lists.freebsd.org/pipermail/freebsd-ports/2012-September/078099.html
"/usr/ports/Mk/bsd.port.mk", line 12: warning: Reminder:
"/usr/ports/Mk/bsd.port.mk", line 13: warning: http://lists.freebsd.org/pipermail/freebsd-announce/2013-January/001451.html
"/usr/ports/Mk/bsd.port.mk", line 14: warning: UPDATE INSTRUCTIONS:
"/usr/ports/Mk/bsd.port.mk", line 15: warning: http://wiki.freebsd.org/CvsIsDeprecated
```


----------



## kpa (Jun 3, 2013)

You can't check out files from the SVN repository over the existing files that are from CVS, it's not going to work. Move the existing files out of the way. The same applies to all other combinations of different revision controls systems, GIT, fossil, etc.


----------



## wblock@ (Jun 3, 2013)

From the Handbook:


> Warning:
> 
> If the local directory already exists but was not created by svn, rename or delete it before the checkout. Checkout over an existing non-svn directory can cause conflicts between the existing files and those brought in from the repository.



There are several areas in the manual where the CVS deprecation is mentioned.  Point me to the one that was confusing, and I'll fix it.


----------



## Ofloo (Jun 4, 2013)

> Note:
> 
> Subversion is generally a developer tool. Most users should use FreeBSD Update to update the FreeBSD base system, and Portsnap to update the FreeBSD Ports Collection.



Well and if I do `portsnap fetch extract` I get the error above. So tell me how that isn't confusing. Clearly this says not to use svn and use portsnap instead, hence my first post, "I've never used cvsup for ports". Yet I get the notice, so what gives. Also an other confusing fact is, that there isn't any sample for src and doc, like the one for instance in this thread.


----------



## wblock@ (Jun 4, 2013)

Are you saying that when you used portsnap(8) with no /usr/ports present, it gives an error?  Switching to a different method of updating will usually require deleting or renaming the old directory first.  The section on portsnap(8) may need a warning to that effect.

Samples of svn URLs for source and doc are shown in other sections that are directly related to updating those directories.


----------



## Ofloo (Jun 5, 2013)

Well, I `rm -Rf /usr/ports; portsnap fetch extract` and still I get that error*.*


----------



## Ofloo (Jun 5, 2013)

`rm -Rf /usr/ports; svn checkout [url=https://svn0.us-west.FreeBSD.org/ports/head]https://svn0.us-west.FreeBSD.org/ports/head[/url] /usr/ports`

Removed the error.


----------

