# How can I update an existing /usr/src (or /usr/ports)?



## mrjayviper (Aug 15, 2015)

During installation, it is possible to prepopulate /usr/ports and /usr/src with whatever is included in the installation media.

Is it possible to update these 2 folders to most recent ones using `svn` or perhaps another command? I know in previous FreeBSD versions (pre-svn), this was possible.

Thanks a lot


----------



## kpa (Aug 15, 2015)

No unless the directories were populated by SVN initially. SVN will have no clue about what's in the directories if the SVN metadata in the .svn directory is missing.


----------



## tobik@ (Aug 15, 2015)

If you installed a release /usr/src will be updated by freebsd-update(8). Use portsnap(8) to update your ports tree.


----------



## wblock@ (Aug 16, 2015)

Like svn(1), portsnap(8) can only update a ports tree that it created.  There ought to be a way to do something like rsync(1) a repository ports tree against some local files, but if there is an existing way to do that, I'm not aware of it.


----------



## mrjayviper (Aug 16, 2015)

wblock@ said:


> Like svn(1), portsnap(8) can only update a ports tree that it created.  There ought to be a way to do something like rsync(1) a repository ports tree against some local files, but if there is an existing way to do that, I'm not aware of it.



Or even make cvsup available again. Very helpful since I don't need to download everything again. I can start from the sources included in the installation media.


----------



## kpa (Aug 16, 2015)

CVSup (and the related CSup) was retired because nobody was available to keep the SVN to CVS exporter working. It was far from trivial and caused extraordinary amount of maintenance work and headaches. Having been an admin of a CVS repository I understand the "steer clear of CVS" mentality of the FreeBSD devs who now have the well working SVN repository at their disposal.


----------



## protocelt (Aug 16, 2015)

Is it not possible to retire portsnap(8) once the FreeBSD 9 branch is EOL and use svnlite(1) exclusively as it's already in the base system? Not sure how much work that would entail but it would certainly be a convenient change for users IMO. The /usr/src and/or /usr/ports directories installed with bsdinstall(8) during installation would just contain a .svn directory from an svn(1) snapshot and users could quickly pick up and go from there using svnlite(1).


----------



## mrjayviper (Aug 16, 2015)

protocelt said:


> The /usr/src and/or /usr/ports directories installed with bsdinstall(8) during installation would just contain a .svn directory from an svn(1) snapshot and users could quickly pick up and go from there using svnlite(1).



This would be amazing. At the moment, I don't see any point to including ports and src compressed files in the installation media.

For now, I'll be making backups of `svn` updated /usr/src myself.


----------

