Re: necessity to specify CVSROOT each time cvs is run?
On 2022-07-28, Chris Bennett wrote: > On Thu, Jul 28, 2022 at 08:13:46AM -, Stuart Henderson wrote: >> Either use -d, or set CVSROOT, or replace CVS/Root files with ones >> containing the path to the repo (cvschroot from the cvsutils package >> makes this easy). If your original checkout had been done via anoncvs >> you wouldn't have needed to do this. (Also ports.tar.gz misses some >> files - run "cvs up -Pd" across the whole tree to fetch them). >> > > I already use a script to do cvs for ports. > Right now, it downloads a copy of ports.tar.gz for "just in case cvs > checkout fails". > > Which method would be preferable for the other end (the cvs server)? > > ports.tar.gz then cvs up > or > cvs checkout > > Either method is fine for me, but which method would be preferable? Whichever works best for you ... > I don't get ports.tar.gz from the same server as cvs. > > Does a checkout put less load on the cvs server than running a > comparison with cvs up? Or is the increased data with checkout more > important to eliminate? I never use ports.tar.gz. Either do a cvs checkout directly from anoncvs, or if I'm on a machine with a poor net connection or where I might be offline and still want to access the repo I'll use reposync to get a local copy of the full repo (done via rsync-over-anonymous-ssh) and point CVSROOT there. -- Please keep replies on the mailing list.
Re: necessity to specify CVSROOT each time cvs is run?
On Thu, Jul 28, 2022 at 08:13:46AM -, Stuart Henderson wrote: > Either use -d, or set CVSROOT, or replace CVS/Root files with ones > containing the path to the repo (cvschroot from the cvsutils package > makes this easy). If your original checkout had been done via anoncvs > you wouldn't have needed to do this. (Also ports.tar.gz misses some > files - run "cvs up -Pd" across the whole tree to fetch them). > I already use a script to do cvs for ports. Right now, it downloads a copy of ports.tar.gz for "just in case cvs checkout fails". Which method would be preferable for the other end (the cvs server)? ports.tar.gz then cvs up or cvs checkout Either method is fine for me, but which method would be preferable? I don't get ports.tar.gz from the same server as cvs. Does a checkout put less load on the cvs server than running a comparison with cvs up? Or is the increased data with checkout more important to eliminate? -- Thanks, Chris Bennett
Re: necessity to specify CVSROOT each time cvs is run?
On 2022/07/28 14:01, rsyk...@disroot.org wrote: > Stuart Henderson wrote: > > On 2022-07-28, rsyk...@disroot.org wrote: > > > Dear list, > > > > > > > > > I have a ports tree. (Most probably first obtained > > > by downloading a .tar file.) I am able to update it > > > with, e.g., > > > > > > ; CVSROOT=anon...@ftp.hostserver.de:/cvs > > > ; cvs -d $CVSROOT -q up -Pd -rOPENBSD_7_1 > > > > > > After that I thought -- based on what I read at > > > https://www.openbsd.org/anoncvs.html#CVSROOT > > > -- that running just > > > > > > ; cvs -q up -Pd -rOPENBSD_7_1 > > > > > > should work, but it does not: > > > > > > cvs update: in directory .: > > > cvs update: ignoring CVS/Root because it specifies a non-existent > > > repository /cvs > > > cvs update: No CVSROOT specified! Please use the `-d' option > > > cvs [update aborted]: or set the CVSROOT environment variable. > > > > > > Thanks for comments. > > > > Either use -d, or set CVSROOT, or replace CVS/Root files with ones > > containing the path to the repo (cvschroot from the cvsutils package > > makes this easy). If your original checkout had been done via anoncvs > > you wouldn't have needed to do this. (Also ports.tar.gz misses some > > files - run "cvs up -Pd" across the whole tree to fetch them). > > Ok. Now I perhaps gained some of the missing understanding, but > still not full. > > So if I obtain the tree by downloading a .tar, it is not enough > to just supply -d to cvs once and next time run cvs without the -d; > I must set up the CVSROOT env variable or use the cvschroot command. > > If you get the original tree by cvs (with some -d), the next > time you can run cvs without the -d (and without the need to set up > the environmental CVSROOT). > > But then, one last thing: if I obtain a tree with a certain cvs -d > CVSROOT1, then run cvs -d CVSROOT2, and finally run cvs without -d, > what CVSROOT will be used in the last case? I hope it will be > CVSROOT1, won't it? (Otherwise I would not understand why starting > with a .tar and running subsequently cvs -d is not enough to then > run cvs without the -d...) Yes To make things easier for me, I use a shell alias "acvs" $ alias acvs acvs='/usr/bin/cvs -d $CVSROOT ' (and a corresponding one that I use for the private server rather than anonymous cvs)
Re: necessity to specify CVSROOT each time cvs is run?
On Thu, Jul 28, 2022 at 02:01:54PM +0200, rsyk...@disroot.org wrote: | Ok. Now I perhaps gained some of the missing understanding, but | still not full. | | So if I obtain the tree by downloading a .tar, it is not enough | to just supply -d to cvs once and next time run cvs without the -d; | I must set up the CVSROOT env variable or use the cvschroot command. | | If you get the original tree by cvs (with some -d), the next | time you can run cvs without the -d (and without the need to set up | the environmental CVSROOT). | | But then, one last thing: if I obtain a tree with a certain cvs -d | CVSROOT1, then run cvs -d CVSROOT2, and finally run cvs without -d, | what CVSROOT will be used in the last case? I hope it will be | CVSROOT1, won't it? (Otherwise I would not understand why starting | with a .tar and running subsequently cvs -d is not enough to then | run cvs without the -d...) Basically, yes. What you could do is update all the CVS/Root files to point at a new CVSROOT. For example .. on my machine I have the following: [weerd@pom] $ cat /usr/src/CVS/Root /home/OpenBSD/cvs/ (note that this file is duplicated throughout the tree with the exact same contents; check `md5 -r $(find /usr/src -name Root | head -n 20)` output) Let's say I have /home/weerd/CVSROOT with the new CVSROOT. Now I can for X in `find /usr/src -name Root` do cp /home/weerd/CVSROOT ${X} done (NB: this is safe for a /usr/src checkout, be wary of other repositories that may have files named Root elsewhere than under CVS/ or with paths with spaces) Cheers, Paul 'WEiRD' de Weerd -- >[<++>-]<+++.>+++[<-->-]<.>+++[<+ +++>-]<.>++[<>-]<+.--.[-] http://www.weirdnet.nl/
Re: necessity to specify CVSROOT each time cvs is run?
On 2022-07-28, rsyk...@disroot.org wrote: > Dear list, > > > I have a ports tree. (Most probably first obtained > by downloading a .tar file.) I am able to update it > with, e.g., > > ; CVSROOT=anon...@ftp.hostserver.de:/cvs > ; cvs -d $CVSROOT -q up -Pd -rOPENBSD_7_1 > > After that I thought -- based on what I read at > https://www.openbsd.org/anoncvs.html#CVSROOT > -- that running just > > ; cvs -q up -Pd -rOPENBSD_7_1 > > should work, but it does not: > > cvs update: in directory .: > cvs update: ignoring CVS/Root because it specifies a non-existent repository > /cvs > cvs update: No CVSROOT specified! Please use the `-d' option > cvs [update aborted]: or set the CVSROOT environment variable. > > Thanks for comments. Either use -d, or set CVSROOT, or replace CVS/Root files with ones containing the path to the repo (cvschroot from the cvsutils package makes this easy). If your original checkout had been done via anoncvs you wouldn't have needed to do this. (Also ports.tar.gz misses some files - run "cvs up -Pd" across the whole tree to fetch them). -- Please keep replies on the mailing list.
Re: necessity to specify CVSROOT each time cvs is run?
On Thu, Jul 28, 2022 at 09:26:40AM +0200, rsyk...@disroot.org wrote: > Dear list, > > > I have a ports tree. (Most probably first obtained > by downloading a .tar file.) I am able to update it > with, e.g., > > ; CVSROOT=anon...@ftp.hostserver.de:/cvs > ; cvs -d $CVSROOT -q up -Pd -rOPENBSD_7_1 > > After that I thought -- based on what I read at > https://www.openbsd.org/anoncvs.html#CVSROOT > -- that running just > > ; cvs -q up -Pd -rOPENBSD_7_1 > > should work, but it does not: > > cvs update: in directory .: > cvs update: ignoring CVS/Root because it specifies a non-existent repository > /cvs looking at the line above, it looks like cvs is unhappy with whatever you have in your CVS/Root file. you can set things like this per user in your ~/.cvsrc file. jmc > cvs update: No CVSROOT specified! Please use the `-d' option > cvs [update aborted]: or set the CVSROOT environment variable. > > Thanks for comments. > > > Best regards, > Ruda >