supfile: why/why-not add ports-all & doc-all

I'm taking the next learning step with FreeBSD by tracking -STABLE. Since I've always ran -RELEASE I have been doing my reading trying to find the easiest and most orthodox way to upgrade to -STABLE.
Some people, including the author of the book I'm reading, like to add
Code:
 ports-all tag=.
&
Code:
doc-all tag=.
to the supfile. What are the advantages & disadvantages of doing so? Does that only make csup update the ports tree & docs concurrently with the base system?

Also, if I add the two lines to my supfile will I need to use csup for all future ports upgrades or can I use portsnap instead? It seems that most people don't like to mix them and stick with either csup or portsnap.
 
I usually don't want to update all three at the same time.

portsnap overwrites /usr/ports. If you try to use both it and csup, it will just waste time and bandwidth.
 
The ports tree changes on a daily, even hourly basis.
The source tree changes on a weekly basis, sometimes daily.
The docs tree changes on a monthly basis, if even that often.

Since the three trees have such vastly different update schedules, why would you query for changes of them all at the same time? If you only want to update the ports tree to get a specific app version, why would you want to update the source and docs trees at the same time? If you only want to update the source tree to get a specific patch or feature, why would you want to update the ports and docs trees at the same time? And if you want a specific version of the Handbook installed, why would you want to update the source and ports trees at the same time.

They are separate trees, with separate update policies. You really should have three separate supfiles for them, and update them independently.

Personally, I've stopped using csup(1) completely. The ports tree is managed by portsnap(8). The source tree is managed by devel/subversion. And I don't care about the docs tree, since it's all available online.
 
Duly noted. I don't see the need to update all trees at the same time either.

I installed subversion (svn) and updated the source tree with it. First impressions: faster and easier to run than csup. Two things to point out to newbie readers: svn has lots of dependencies to install, while csup is in the base. Second, svn is not compatible with csup so if you ran csup you should erase the source in /usr/src before running svn.

Thanks guys,
chime in if I missed anything.
 
svn uses a lot more space because it keeps a local history. Handy if you need it, pointless if you don't.
 
Back
Top