info-cvs
[Top][All Lists]
Advanced

[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 16:41:39 -0500 (EST)

[ On Sunday, February 24, 2002 at 20:13:51 (-0800), Noel Yap wrote: ]
> Subject: Re: CVS Update Behaviour
>
> --- "Greg A. Woods" <address@hidden> wrote:
> > "patch" has been a "standard" tool in unix development for nearly two
> > decades now.  Prior to that the commonly used tool that can do the exact
> > same job with only slightly less success and using the exact same tool
> > to create the diff, was called 'ed'.  It's been around for over three
> > decades now.  Time to crawl out from under your rock and get with the
> > program Paul!
> 
> Greg, your experience is not the norm.  Most
> developers, possibly sadly, aren't familiar with the
> whole gamut of available commands.

It damn well better be "the norm" -- it's no better or worse than anyone
else's experience!

Any so-called developer who is not familiar enough with the tools used
daily to do his or her job is not really a developer.  Some idiot might
pay such a person to be a developer, but that doesn't make them a
developer in the real world -- only in the imaginations of the employer
and the employee.

The tools I refer to are very plainly documented in the CVS manual and
the CVS unix-style manual page.  Even a simple skim through the manual
page for GNU diff (the diff used with CVS, though unfortunately it's not
shipped with CVS) will also reference the manual page for 'ed' and
'patch', and gives quite strong hints at how to use these tools to
mechanically re-apply changes with them.  Anyone claiming to be a
developer but not able to figure this out on their own really needs to
be smacked with something a lot harder than a clue-by-4!

I'm certain even a non-developer can figure enough of this out to ask
for help.

I don't even have the time of day for any idiot who can neither figure
this out nor ask for help.

> Furthermore, to do a proper merge, one needs three
> files.  I think patch is incomplete since all the
> information between the ancestor revision and the
> current file is completely lost.

You're on strange drugs again my friend.  The patch input file will only
be incomplete if you fail to generate it properly.

>  One of the first
> lines in the output of "man patch" hints at this: 
> 
>     patch - apply a diff file to an original

Uh hug.  Diff and diff3 produce "diff files".  Patch takes the output of
diff _or_ diff3 as input.

> Since, when merging, one doesn't apply a diff file to
> _the original_, patch isn't really the ideal tool to
> do it.

Well, first off, it seems you've got to learn a wee bit more about how
'diff' and 'patch' work conceptually before you'll realise that "to an
original" does not mean what you think it means.  Every newbie may
suffer the same mis-interpretation, but I'm not sure that means the
phrase is wrong in the context it is in.

>  One could use diff3, but if that were true,
> why couldn't CVS do it itself?

Huh?  CVS does use diff3 to produce diff output.  You can use diff3
manually too.  It's terriblly easy to do.  Most humans can easily manage
up to seven items in their short-term memory -- diff3 only needs three
(four if you count the command name itself).

Do _you_ not know how this stuff all fits together yet?  I thought you
were worthy of being called a developer!

-- 
                                                                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]