[EMAIL PROTECTED] on 03/02/2000 05:03:06 PM
>[ On Thursday, March 2, 2000 at 09:51:25 (-0500), Noel L Yap wrote: ]
>> Subject: Re: removing the need for "cvs add file" to contact the server....
>>
>> [EMAIL PROTECTED] on 03/01/2000 09:45:14 PM
>> >
>> >NO, it must *NOT*! There is a very very essential optimisation in CVS
>> >which depends critically on this!
>>
>> Optimisations are NOT *necessary*.
>
>Where's the word "necessary" above!?!? I said the optimisation is
>essential, and most people who would probably agree that it is.
OK, then, why do you say it's essential. Also, my poll says otherwise. Noone
has responded to my poll saying that they agree that "cvs add empty-hier" should
not create CVS admin directories (I suppose I can count you as one person who
agrees with it). One person was neutral. Two disagree with it.
>> "cvs add empty-hier" must act the same as
>> "touch empty-hier/file; cvs add empty-hier; cvs rm empty-hier". What don't
you
>> understand about this?
>
>What I don't understand is why you're quibbling about this.
1. It's not an optimisation if it increases processing.
2. It's inconsistent with the rest of CVS.
>If you read the proposal you will be able to discover the details of
>what differences might happen in the above examples *within* the
>workspace where they are performed.
Exactly, it's inconsistent.
>In the end the final result, w.r.t. the repository, which is all that
>really counts, will be identical.
Of course since there's no "cvs ci" in the above example. Again, I understand
your position that, even with a "cvs ci", there's no difference. I just
disagree with this part of the proposal -- I'll change it (and post the diffs)
when you've got something working.
>I.e. the functional difference of performing the optimisation and not
>doing so are nil. The optimisation is "free" w.r.t. to functionality.
Please post pseudo-code demonstrating this.
>The end result continues to operate correctly and completely.
Can you point out documentation saying that the inconsistency between "cvs add
empty-hier" and "touch empty-hier/file; cvs add empty-hier; cvs rm empty-hier"
is correct?
> The
>differences you might see in the workspace caused by the optimisation
>are not your concern -- they are supposed to be invisible too.
1. How is the creation/non-creation of the CVS admin directory invisible?
2. It is of concern since this visible discrepancy will confuse people.
> You are
>not allowed to play with CVS' administrative files -- they are only for
>the use of CVS.
But their existence does tell you how CVS will function within those
directories.
>> You cannot, however, say that "cvs add", which affects only the local
directory,
>> should have an "optimisation" that makes it behave differently from an
>> equivalent set of commands. Furthermore, the "optimisitation" causes more
disk
>> processing than if it didn't exist. Here's the (improved) pseudo-code:
>
>Your example shows that you do not seem to have a clue about what
>the otimisation I'm talking about is.
Then please post pseudo-code or explain it in words different from your
proposal.
>Indeed perhaps you should ponder for a while on the idea that performing
>an optimisation does itself often require extra effort but that The
>optimisation itself will save future effort, perhaps many times over.
1. No future effort is saved if the ignore facilities are properly used.
2. Beware of premature optimisation.
>> Now, this is the second time I've posted these algorithms.
>
>As I said before all you have shown is how much extra effort is required
>to create the optimisation I'm talking about. The actual optimisation
>itself does not take effect until future operations are performed in the
>workspace, and indeed because its savings will be repeated for every
>subsequent recursive operation performed within that workspace the
>potential savings are several orders of *magnitude* larger than the
>costs you've shown.
Please demonstrate this (given that the ignore facilities are properly used).
>The difference between performing the optimisation and not is perhaps
>the difference between having a viable and usable tool and one that is
>just too costly to use in those circumstances where the optimisation
>applies. I.e. this optimisation is essential.
The ignore facilities are sufficient for this optimisation. No extra effort on
the part of "cvs add" are necessary.
Noel