Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jan 2003 10:48:43 -0500
From:      Chris BeHanna <chris@pennasoft.com>
To:        current@freebsd.org
Subject:   Re: Seat-belt for source upgrades from stable to current
Message-ID:  <200301311048.43338.chris@pennasoft.com>
In-Reply-To: <20030131055815.GB11988@HAL9000.homeunix.com>
References:  <20030129191822.GO78848@starjuice.net> <20030131163422.A26022@aurema.com> <20030131055815.GB11988@HAL9000.homeunix.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 31 January 2003 00:58, David Schultz wrote:
> Thus spake Christopher Vance <vance@aurema.com>:
> > On Thu, Jan 30, 2003 at 09:07:11PM -0800, Steve Kargl wrote:
> > : On Thu, Jan 30, 2003 at 08:05:06PM -0800, David Schultz wrote:
> > : > Thus spake Steve Kargl <sgk@troutmask.apl.washington.edu>:
> > : > > On Thu, Jan 30, 2003 at 07:09:16PM -0800, David Schultz wrote:
> > : > > > OT: Is there a good way to get the CVS metadata in /usr/src and
> > : > > > /usr/ports without transferring the entire source tree over the
> > : > > > network?  On some machines, I'd like to be able to do a CVS
> > : > > > {diff,log,update} now and then, but I don't have the disk space
> > : > > > for the entire repository.  I usually end up blowing away
> > : > > > /usr/src and fetching a new copy from a CVS server, but I'm sure
> > : > > > this is far from ideal for the people who pay for that server's
> > : > > > bandwidth.
> > : > >
> > : > > anoncvs
> > : > >
> > : > > See the handbook for info.
> > : >
> > : > That's a great answer...to a different question.  ;-)
> > :
> > : It's the correct answer.  I assumed that you knew
> > : how to use cvs.
> >
> > [...Chris Vance explains why cvsup is all he needs...]
> >
> > Perhaps you can explain why cvsup is the wrong answer...
>
> I don't know about Steve, but cvsup is the wrong answer for me
> because it's a mirroring tool and not a version control tool.
> Among the things I would like to do are:
>
> 	- Update to a specific version of a specific file from the
> 	  repository.

    Anoncvs will let you do this.

    cvs -D $ANONCVSROOT co -r$REVISION -d $WHERE_I_WANT_IT $WHERE_IT_IS

> 	- Generate a diff between two revisions in the repository,

    You can use CVSweb for this quite ably.  That's not a great
solution for generating patches, but it's decent enough for trolling
around the repo.

> 	  or between a version in the repository and some local
> 	  patches of my own.

    For that, you'd most easily check out the directory in which the
files in question live, copy your local version into it, and use cvs
diff.  The repo information is cached in the CVS/ subdir, so it all
works nicely:

    cvs diff -u myfile.c

> 	- View logs for particular files.

    CVSweb is your friend.  http://cvsweb.freebsd.org

> [...old machine, limited disk space, mirroring the entire repo
> infeasible...]
>
> Transferring the entire source tree over the network via anoncvs is
> suboptimal when all I really want is a few kilobytes of 'CVS'
> subdirectories.  But I guess it will have to do for now.

    It's unnecessary.  Use the -d option to cvs co to check out the
subdirectories into a convenient place.

> [1] When the system is an aging dual PPro or 200MHz Alpha using
>     SCSI, buying new drives is not practical.

    If you can afford it, retire the box to mail/firewall duty.  A
bare-bones 2.4GHz P4 system can be had for $500US if you shop hard.

-- 
Chris BeHanna                      http://www.pennasoft.com 
Principal Consultant                
PennaSoft Corporation               
chris@pennasoft.com                 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301311048.43338.chris>