info-cvs
[Top][All Lists]
Advanced

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

Re: Terminology


From: Larry Jones
Subject: Re: Terminology
Date: Thu, 19 Apr 2001 11:39:49 -0400 (EDT)

address@hidden writes:
> 
> Simple question really "So what is the repository?"

It all depends on context.  In general, "the repository" is a collection
of revision histories of files.  The term is also used (imprecisely) to
mean the location of that collection, the name of that location, or a
particular subset of any of the above.

>       "...so the repository :local:/usr/local/cvsroot means ..."

That should more properly be: "so the repository *specification* ..."

>       "The repository is split into two parts $CVSROOT/CVSROOT contains
> administrative files for cvs
>        the other directories contain the actual user-defined modules"
> 
> So my reading of this would be that the REPOSITORY means:
> 
>               /usr/local/cvsroot

That's the location of the repository in this example.

> Now I've been trying to use 'commitinfo' to match things like:
> 
>               .*\.properties  dosomething.sh
>               .*\.java                validate.sh
> 
> And it did not work. When all else fails read the source (if that fails read
> the manual ;-)

Reading the manual first would have been a lot better option -- it
clearly states that it's the current directory name within the
repository that's matched against the regular expressions.

> This contains (repos.c) 
> 
> /*
>  * Return a pointer to the repository name relative to CVSROOT from a
>  * possibly fully qualified repository
>  */
> 
> Ahh! so that's why I can't match the regular expressions it's comparing the
> 'repository name'
> not the full pathname of the file! (dumb mistake on my part)
> But hang on isn't the 'repository name' /usr/local/cvsroot

No.  Comments in the code are not user documentation and thus are likely
to use jargon and other shorthand.  In this case, "repository name" is
being used to mean "name of a particular directory in the repository".

> Tests reveal that I can match things like:
> 
>       ^config         dosomething.sh
>       ^javasrc                validate.sh
> 
> Where these are inside the 'repository' (as defined above):
> 
>       /usr/local/cvsroot/config
>       /usr/local/cvsroot/javasrc
> 
> So this seems to define (by it's actions) repository to mean:
> 
>       'The various sub-directories under $CVSROOT'

Which you would have known had you read the manual.

> At this point I reread the comment at the start of commitinfo:
> 
> # The first entry on a line is a regular expression which is tested
> # against the directory that the change is being committed to, relative
> # to the $CVSROOT.  For the first match that is found, then the remainder
> # of the line is the name of the filter to run.
> #
> # If the repository name does not match any of the regular expressions in
> this
> # file, the "DEFAULT" line is used, if it is specified.
> 
> 
>  ... humm .. "the directory that the change is being committed to" OK that's
> just what it
> does ... "If the repository name does not match..."  so the 'directory name'
> is AKA 'repository name'?

Once again, that's a jargony or shorthand usage of "repository name"
which should have been clear from the context created by the first
paragraph.

-Larry Jones

Your gender would be a lot more tolerable if it wasn't so darn cynical!
-- Calvin



reply via email to

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