Re: How to use subversion to keep source, system and doc files up to date?
On Fri, 28 Sep 2012, Jamie Paul Griffin wrote: [ Warren Block wrote on Thu 27.Sep'12 at 14:11:39 -0600 ] Yes. If a new version of a file conflicts with your local changes, svn will complain and try to help resolve those conflicts. When I changed to svn, I completely remove or moved (mv(1)) the /usr/ports tree. Created a new /usr/ports and then used svn to pull in the collection. The same for the base course tree in /usr/src. It's my understanding you need to do that first. You can't use a mixed file system tree comprising cvs/csup and svn files. I'm sure Some will correct that if i'm wrong, but that's what I did and i've experienced no problems with it. Right, but conflicts are what happen if you change files after the checkout. For example, I have a couple of custom patches to source. If new versions of the source are checked in to the FreeBSD svn repository, and they conflict with my local changes, svn will give a warning and help try to resolve them. The only noticeable difference is when updating my ports collection with svn, it's slower to update than say portsnap or cvs/csup. But it's not a major issue for me. This seems to be highly variable, possibly depending on how often you update. For me, svn is at least as fast as cvs, and it feels faster. Might just be a lot of fast screen output. portsnap is easily the slowest on my systems. But I update very often. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
[ Warren Block wrote on Thu 27.Sep'12 at 14:11:39 -0600 ] > Yes. If a new version of a file conflicts with your local changes, svn > will complain and try to help resolve those conflicts. When I changed to svn, I completely remove or moved (mv(1)) the /usr/ports tree. Created a new /usr/ports and then used svn to pull in the collection. The same for the base course tree in /usr/src. It's my understanding you need to do that first. You can't use a mixed file system tree comprising cvs/csup and svn files. I'm sure Some will correct that if i'm wrong, but that's what I did and i've experienced no problems with it. The only noticeable difference is when updating my ports collection with svn, it's slower to update than say portsnap or cvs/csup. But it's not a major issue for me. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Thu, 27 Sep 2012, Ed Flecko wrote: Thank you all! I'm a little confused by Trond's reply, "Make sure your /usr/src and /usr/ports directories does not contain files and directories served by Subversion, they will hinder extraction/updating when checking out a Subversion working copy on top of the existing hierarchy. Simply delete all non-local files, rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place." 1.) What is meant by deleting all non-local files? What files is he referring to? If you have made any local changes to files in /usr/src or /usr/ports, those changes will conflict with the versions svn will bring in. 2.) If I rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place, won't that be replacing new files with the older files? Yes, although svn will only care if those files differ from the files in the repository. Most people won't have any local changes anyway. 3.) These steps are just meant for the initial check out, aren't they??? Once I've checked out (i.e., "downloaded", right?) the current files, I'll only need to: svn update /usr/ports..., etc. from that point forward and not "delete all non-local files, rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place"...Is that right? Yes. If a new version of a file conflicts with your local changes, svn will complain and try to help resolve those conflicts. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Thu, 27 Sep 2012 08:18-0700, Ed Flecko wrote: > Thank you all! > > I'm a little confused by Trond's reply, > > "Make sure your /usr/src and /usr/ports directories does not contain > files and directories served by Subversion, they will hinder > extraction/updating when checking out a Subversion working copy on top > of the existing hierarchy. > > Simply delete all non-local files, rename /usr/src/sys to, say > /usr/src/sys0, do the Subversion check out, and move your local files > back into place." > > 1.) What is meant by deleting all non-local files? What files is he > referring to? First, I may have misread your question. Others have provided far better answers to your exact question. I use my local CVS repo to track changes I make to files I create or edit myself, like /etc/rc.conf, /usr/src/sys/amd64/conf/SOMECUSTOMKERNEL, etc. When I switched from CVSup to Subversion, I let the directory /usr/src/sys exist, but only with my own files stored within this hierarchy, e.g. my custom kernel configuration file, /usr/src/sys/amd64/conf/ENTERPRISE. The very existence of the directory /usr/src/sys prohibited Subversion from populating the directory /usr/src/sys with the desired contents. Thus, I had to delete all files and directories made during the intial svn co operation, including the special .svn directory, rename sys to sys0 as described in my previous email, redo the svn co operation, and finally move my own (custom) files back into place. Afterwards, it's simply a matter of running svn update to update source files from the chosen svn repo, and in my case, check in any local changes made to the local CVS repo I use for my configuration management. Maybe me adding CVS to the mix caused or still cause confusion. > 2.) If I rename /usr/src/sys to, say /usr/src/sys0, do the Subversion > check out, and move your local files back into place, won't that be > replacing new files with the older files? I was indirectly referring to local edited files, such as custom kernel configuration files. My bad for not making this clearer. > 3.) These steps are just meant for the initial check out, aren't > they??? Once I've checked out (i.e., "downloaded", right?) the current > files, I'll only need to: svn update /usr/ports..., etc. from that > point forward and not "delete all non-local files, rename /usr/src/sys > to, say /usr/src/sys0, do the Subversion check out, and move your > local files back into place"...Is that right? True. I had to do the rename and move files dance only once. -- +---++ | Vennlig hilsen, | Best regards, | | Trond Endrestøl, | Trond Endrestøl, | | IT-ansvarlig, | System administrator, | | Fagskolen Innlandet, | Gjøvik Technical College, Norway, | | tlf. mob. 952 62 567, | Cellular...: +47 952 62 567, | | sentralbord 61 14 54 00. | Switchboard: +47 61 14 54 00. | +---++___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
Thank you all! I'm a little confused by Trond's reply, "Make sure your /usr/src and /usr/ports directories does not contain files and directories served by Subversion, they will hinder extraction/updating when checking out a Subversion working copy on top of the existing hierarchy. Simply delete all non-local files, rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place." 1.) What is meant by deleting all non-local files? What files is he referring to? 2.) If I rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place, won't that be replacing new files with the older files? 3.) These steps are just meant for the initial check out, aren't they??? Once I've checked out (i.e., "downloaded", right?) the current files, I'll only need to: svn update /usr/ports..., etc. from that point forward and not "delete all non-local files, rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place"...Is that right? Thank you again, Ed ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
If only subversion had some scripts similar to the *-supfile s with cvsup, including some "first time scripts." -- Lars Eighner http://www.larseighner.com/index.html 8800 N IH35 APT 1191 AUSTIN TX 78753-5266 ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Thu, Sep 27, 2012 at 12:44 AM, Ed Flecko wrote: > > Thank you. > > I am using a custom kernel, but you're right - I should have said so. > > :-) > > Do you have any feedback using subversion? I know I can still use > csup; I'm basically trying to figure out how to subversion to achieve > the same result. > > Ed Hi Ed and Polytropon, Using "freebsd-update" tool does not mean you cannot use a custom kernel on this machine. These lines taken from the Handbook confirm this : [...] The default is to update the source code, the entire base system, and the kernel. [...] The freebsd-update utility can automatically update the GENERIC kernel only. If a custom kernel is in use, it will have to be rebuilt and reinstalled after freebsd-update finishes installing the rest of the updates. However,freebsd-update will detect and update the GENERIC kernel in /boot/GENERIC (if it exists), even if it is not the current (running) kernel of the system. [...] Sources : http://www.freebsd.org/doc/en/books/handbook/updating-upgrading-freebsdupdate.html "freebsd-update" tool works only with -RELEASE, you are right. Best Regards, Alexandre ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On 27/09/2012 07:41, Polytropon wrote: > Does anyone know if there are already plans to make svn part > of the base system and integrate it with make, so that one > can use "make update" (in /usr/src and/or /usr/ports) with > control files or options (e. g. in /etc/make.conf) to have > influence on the updating behaviour (if to track RELEASE, > RELEASE-p, STABLE or HEAD / CURRENT)? In the past, > the additional package cvsup-without-gui had to be installed > (like Subversion today) before csup was created and incorporated > to the OS... > > I'm currently using csup with this approach and would be > interested if Subversion can provide the same easy interface > to that kind of functionality. You can already use subversion with 'make update' -- unless you override it with settings in /etc/make.conf, the ports or src Makefiles will detect the presence of a .svn directory and from that automatically deduce it should use svn to update the respective trees. Whether svn will ever be incorporated in the base system is a different question. As far as I know, there aren't any plans to bring it in at the moment (BICBW). Maintaining vendor imports of software from actively developed projects like SVN in two or more release branches and head is quite a burden and the tendency recently is to prefer to use the ports instead. (Especially considering that SVN has a reasonably large dependency tree.) There has been talk of "svnsup" analogous to "csup" and I believe some work has been done, but no idea what state that project is in, nor if that would be added to base once it achieves sufficient maturity. Cheers, Matthew ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Thu, 27 Sep 2012 02:34:47 -0400, Thomas Mueller wrote: > > from "David J. Weller-Fahy" : > > > svn update /usr/src/ > > When you use svn the first time, svn doesn't know where the repository is, > and svn repository is not fully in sync with cvs or csup repository. > > So you might need, in a fresh directory, > > svn co svn://svn.freebsd.org/base/stable/9 /usr/src > > This is for 9-stable. > > To update, > > svn up /usr/src > > To find paths for other repositories, > http://svnweb.freebsd.org/base > > Web site reference is > http://mebsd.com/configure-freebsd-servers/update-freebsd-source-tree-using-subversion-svn.html Does anyone know if there are already plans to make svn part of the base system and integrate it with make, so that one can use "make update" (in /usr/src and/or /usr/ports) with control files or options (e. g. in /etc/make.conf) to have influence on the updating behaviour (if to track RELEASE, RELEASE-p, STABLE or HEAD / CURRENT)? In the past, the additional package cvsup-without-gui had to be installed (like Subversion today) before csup was created and incorporated to the OS... I'm currently using csup with this approach and would be interested if Subversion can provide the same easy interface to that kind of functionality. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
from "David J. Weller-Fahy" : > svn update /usr/src/ When you use svn the first time, svn doesn't know where the repository is, and svn repository is not fully in sync with cvs or csup repository. So you might need, in a fresh directory, svn co svn://svn.freebsd.org/base/stable/9 /usr/src This is for 9-stable. To update, svn up /usr/src To find paths for other repositories, http://svnweb.freebsd.org/base Web site reference is http://mebsd.com/configure-freebsd-servers/update-freebsd-source-tree-using-subversion-svn.html Tom ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Wed, 26 Sep 2012 14:12-0700, Ed Flecko wrote: > I see that CVS is being phased out in favor of subversion. > > I follow the documentation to keep my system up to date by doing: > > # cd /usr/src > # make buildworld > # make buildkernel > # make installkernel > # shutdown -r now > > and then... > > # mount -u / > # mount -a -t ufs > # adjkerntz -i > # mergemaster -p > # cd /usr/src > # make installworld > # mergemaster > # reboot > > I've "pre-populated" my /usr/ports, /usr/src and /usr/src/sys > directories when I installed my system. > > I've installed subversion from package, I want to follow the Stable > (same as "Patch", right?) branch, and I'm struggling how to best use > subversion to update my kernel source, system files, documentation, > etc., so I can keep my system up to date. > > Can someone tell me how to use subversion to keep my /usr/ports, > /usr/src and /usr/src/sys directories up to date? This isn't really an answer to your question. I switched from CVSup to Subversion for tracking base/stable/9 and ports/head on one of my computers not long ago. I still use local CVS for tracking my local changes. It works quite well without interfering with each other. Also, CVS is very lightweight, in more than one sense, compared to Subversion. Make sure your /usr/src and /usr/ports directories does not contain files and directories served by Subversion, they will hinder extraction/updating when checking out a Subversion working copy on top of the existing hierarchy. Simply delete all non-local files, rename /usr/src/sys to, say /usr/src/sys0, do the Subversion check out, and move your local files back into place. Depending on your needs, you might wanna set up a local Subversion repo mirror. Here's my writeup on the subject: http://ximalas.info/2012/09/09/making-your-own-freebsd-subversion-repository-mirror/ -- +---++ | Vennlig hilsen, | Best regards, | | Trond Endrestøl, | Trond Endrestøl, | | IT-ansvarlig, | System administrator, | | Fagskolen Innlandet, | Gjøvik Technical College, Norway, | | tlf. mob. 952 62 567, | Cellular...: +47 952 62 567, | | sentralbord 61 14 54 00. | Switchboard: +47 61 14 54 00. | +---++___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
While I track CURRENT, not STABLE, the process should not be significantly different. Here is what I do. * Ed Flecko [2012-09-26 17:18 -0400]: > I follow the documentation to keep my system up to date by doing: Here I update the src tree. # svn update /usr/src/ > # cd /usr/src > # make buildworld > # make buildkernel > # make installkernel > # shutdown -r now > > and then... > > # mount -u / Here, instead of "# mount -a -t ufs" I use "# zfs mount -a". > # adjkerntz -i > [...] > # reboot * Ed Flecko [2012-09-26 18:50 -0400]: > Do you have any feedback using subversion? I know I can still use > csup; I'm basically trying to figure out how to subversion to achieve > the same result. For ports, I do the following. # svn update /usr/ports/ # cd /usr/ports # make fetchindex # pkg_version -l '<' Then update any ports which need updating. There is, AFAICT, minimal difference between what I used to do with csup, and what I do now with svn. Of course, the first time I used subversion was doing this... so I may be doing it wrong. ;) HTH, -- dave [ please don't CC me ] pgpAF88Kvjn45.pgp Description: PGP signature
Re: How to use subversion to keep source, system and doc files up to date?
Thank you. I am using a custom kernel, but you're right - I should have said so. :-) Do you have any feedback using subversion? I know I can still use csup; I'm basically trying to figure out how to subversion to achieve the same result. Ed ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: How to use subversion to keep source, system and doc files up to date?
On Wed, 26 Sep 2012 14:12:34 -0700, Ed Flecko wrote: > I see that CVS is being phased out in favor of subversion. > > I follow the documentation to keep my system up to date by doing: > > # cd /usr/src > # make buildworld > # make buildkernel > # make installkernel > # shutdown -r now > > and then... > > # mount -u / > # mount -a -t ufs > # adjkerntz -i > # mergemaster -p > # cd /usr/src > # make installworld > # mergemaster > # reboot Compare this again to the comment header of /usr/src/Makefile, but looks valid (even though few "cleanup steps" are missing). > I've installed subversion from package, I want to follow the Stable > (same as "Patch", right?) branch, and I'm struggling how to best use > subversion to update my kernel source, system files, documentation, > etc., so I can keep my system up to date. No, -STABLE and -RELEASE-p are different things. While -STABLE is a development branch that has incorporated things that have been considered "stable" on the continuous work toward a new version (that's from -CURRENT), -RELEASE-p only contains security patches for that release: this is what you get when using the binary method of updating, using freebsd-update. The -CURRENT (or -HEAD) is the active devlopment branch from which "good" things are passed to -STABLE. That branch is considered "experimental". If you want to follow the -RELEASE-p way, why not simply use freebsd-update, especially if you're _not_ running a custom kernel (as concluded from your commands example shown above)? > Can someone tell me how to use subversion to keep my /usr/ports, > /usr/src and /usr/src/sys directories up to date? /usr/src and /usr/src/sys are no distinct subtrees, i. e. /usr/src/sys is a component of /usr/src. It's only different from /usr/ports. Using the "old" CVS approach, both can be updated with the same program (csup). -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
How to use subversion to keep source, system and doc files up to date?
I see that CVS is being phased out in favor of subversion. I follow the documentation to keep my system up to date by doing: # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now and then... # mount -u / # mount -a -t ufs # adjkerntz -i # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot I've "pre-populated" my /usr/ports, /usr/src and /usr/src/sys directories when I installed my system. I've installed subversion from package, I want to follow the Stable (same as "Patch", right?) branch, and I'm struggling how to best use subversion to update my kernel source, system files, documentation, etc., so I can keep my system up to date. Can someone tell me how to use subversion to keep my /usr/ports, /usr/src and /usr/src/sys directories up to date? Thank you, Ed ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"