[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS Update Behaviour

From: Greg A. Woods
Subject: Re: CVS Update Behaviour
Date: Mon, 25 Feb 2002 20:09:39 -0500 (EST)

[ On Monday, February 25, 2002 at 10:46:14 (-0800), Paul Sander wrote: ]
> Subject: Re: CVS Update Behaviour
> >--- Forwarded mail from address@hidden
> >
> >Free software development depends critically on patch. Just about anyone
> >involved in it must know how to produce and apply patches.
> Most of the people I work with don't produce free software, or at least
> they don't collaborate in producing it.

That's totally irrelevant.  If they're doing any kind of development
these days then they really _MUST_ keep themselves aware of free
software, and especially of free software development tools.  That goes
double if they're using a free software tool in a central part of their
development process!

>  I do produce free software, and
> I still use patch only once in 2-3 years.

You do use 'patch' every time you do a merge with CVS, and indeed almost
every time you do a "cvs update" from a remote server!  Sure it's built
into the CVS client now, but it still tells you with the 'P' it shows.

If you don't know that then you _really_ _need_ to RTFM!

More importantly you also use free software, obviously, and if you are
avoiding using 'patch' by manually applying all the disributed diffs you
hopefully use with that free software then you really should learn to
use 'patch' -- it makes such tedious work far less error-prone.

I also implicitly use patch almost every time I build a third party
package on NetBSD or FreeBSD, and I create and test patch files almost
every time I do maintenance on such packages.

All in all I'd guess I use patch, one way or another, many times per day!

'patch' is, after all, just a simple automated text editing program -- a
smarter and more specialised version of 'ed' and/or 'sed'.  You more or
less can do without it if you have 'ed' (and maybe sed to coerce a
context diff back into an 'ed' script), but you really don't want to
have to do without it!

BTW, 'patch' is a _standard_ Unix tool.  It's documented in The Single
UNIX Specification, and it will be in IEEE Std. 1003.2b.

>  The free software community
> remains a surprisingly small one, compared to the total size of the
> industry, and it's my job to support people who are not part of that
> small community.

So many people in the software industry would like to think.  However if
you're using CVS (and maybe other core tools like GCC and such), then
you're either hiding from reality, or purposefully subverting it, or both.

I.e. if you're using CVS then you are part of that community, like it or not.

> >>When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
> >>cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
> >>that's full of toolsmiths?
> >I used fmt a second ago, because the machine I post from has a really bad
> >vi clone that I haven't bother to replace.  So to reformat a paragraph
> >I use !}fmt. Sad!  I used cut not too long ago. Let's see, tsort a few
> >years ago, for something completely unrelated to sorting archive
> >order for a braindead linker.  I just needed to topologically sort some
> >some strings for some reason. I *can* use ed, but haven't practiced in
> >a few years. Never used paste or fold. I know what join is, and maybe
> >played with it a decade ago.
> In other words, you don't use many of the "standard" tools.

BTW, 'fmt' and 'fold' are not really very useful tools for a software
developer, and certainly not of any significant general use during the
version control procedures for a project (unless maybe you're
documenting your proceedures and you don't use a text editor with such
capabilities built into it).

Also, "cut" and "paste" are relatively recent additions to the toolkit
(at least from my perspective of using Unix since 1982) and they don't
do anything much that's not equally well done by other tools with longer

I personally use awk, join, comm, sed, and so on instead of cut & paste,
and I do so on an almost daily basis.  Of course I also use sort, tsort,
fgrep, grep, egrep, uniq, and so on with those programs, just as I would
have to if I used 'cut' and 'paste' for those same tasks.

> > A programmer that doesn't know patch is quite likely ignorant of
> > free software in general. This in turn suggests that the programmer,
> > by choice, has seen very little code other than his or her own, and that
> > of a few immediate colleagues.
> I would say that that pretty much describes most of the people I've ever
> worked with.  They're very focussed on what they do very well and at the
> end of the day they'd rather spend time with their families than hack
> with the rest of us.

That's VERY sad -- you of all people should be encouraging them to get
out and about in the community of their peers some more.  No programmer
can be an excellent programmer without reading lots of other people's
code (and I mean stranger's code, not that of their few close
colleagues), and there's no better source of code to read than freeware
(with some of it being good examples of attrocious code, and some of it
being examples of excellent code, but all of it useful reading).

                                                                Greg A. Woods

+1 416 218-0098;  <address@hidden>;  <address@hidden>;  <address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]