[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: `smoothing_enabled' undeclared
From: |
Miles Bader |
Subject: |
Re: `smoothing_enabled' undeclared |
Date: |
Mon, 03 Jul 2006 08:33:24 +0900 |
Nick Roberts <address@hidden> writes:
> > Every branch has a "head". The main branch is called "the trunk".
>
> HEAD is a tag. Is it a tag for the head of the trunk or the head of the
> branch which the working directory is in?
The CVS docs are maddeningly vague about this...
I thought it was the latter, but I just did a bit of testing, and the
result of using -rHEAD is different depending on which command you use.
E.g., if, in a working directory where everything has the sticky tag
"emacs-unicode-2" (i.e., that's the current branch), then if I test on
the file "src/xfaces.c", which is different in the trunk and on the
branch, the following commands yield these results:
* "cvs diff -rHEAD src/xfaces.c" produces no output -- so presumably
it's diffing against the latest revision of _the current branch_.
* "cvs update -rHEAD src/xfaces.c" _changes_ the sticky tag from the
file to be "HEAD", and updates it to be the latest revision on _the trunk_.
I don't know if I'm missing something, but this seems like pretty dumb
behavior... no wonder people are confused about what HEAD means.
[I suppose the reason it is this way is that they simply didn't
special-case HEAD in places where they really should have, so the result
is probably internally consistent but confusing for users...]
So I think that you shouldn't use "-rHEAD" with any command that would
set the sticky tag when given a real branch tag name, but it should be
OK when used with commands like diff.
-Miles
--
`Cars give people wonderful freedom and increase their opportunities.
But they also destroy the environment, to an extent so drastic that
they kill all social life' (from _A Pattern Language_)