bug-cvs
[Top][All Lists]
Advanced

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

Re: `cvs add -m' in server mode


From: Mark D. Baushke
Subject: Re: `cvs add -m' in server mode
Date: Tue, 29 Apr 2003 11:45:57 -0700

Derek Robert Price <derek@ximbiot.com> writes:

> Mark D. Baushke wrote:
> 
> >Derek Robert Price <derek@ximbiot.com> writes:
> >
> >I have no strong feelings about it. However, given both the client
> >and the server will need to agree on the meaning of the text for it
> >to actually use the data, I would have thought introduction of
> >another client/server primitive for setting the description of a
> >controlled file might be the right way to do it.
> 
> Actually, this is exactly why I decided to do it this way.  I don't
> need a new primitive since the client sends the Entry to the server
> without interpreting it.  When the client does need to interpret it,
> it will (hopefully) ignore anything after the `+' since it parses it
> as the ts_conflict field and then will ignore it since it has a rev
> `0' which it knows is a new file.

Hmmm..., I am confused.
 
> If I'm correct, in other words, fixing this this way will allow the
> client/server problem to be fixed on the server side without upgrading
> clients.

How does the text get into the CVS/Entries file on the client side to
send thru to the server? I am under the impression that existing
clients would take a command like:

        cvs add -m'description field goes here' foo

and ignore the -m option to add and write a CVS/Entries file with

/foo/0/dummy timestamp//

No CVS/foo,t file appears to be created with the descriptive text unless
you are using a local cvs repository.

After you finish coding up your change, the CVS/Entries file would have

/foo/0/dummy timestamp +description field goes here//

so, if the server was not updated it would ignore the new ts_conflict
text and if the server had been updated it would add the description
field.

Instead of this approach, another approach would be for the client cvs
add to create the CVS/foo,t file with the description as a
non-client/server cvs add command would have done and then it could use
the same protocol that 'cvs admin -t' uses to set the description after
the file is added. In this way only the client really needs to be updated
to get the impact of the description field in client/server mode.

I do not see how your new proposal will not require both client and
server to be upgraded to get descriptive text into client/server
operation, so I must have misunderstood your proposal.

> If I understand what you are suggesting, `cvs admin' already does this
> when passed the `-t' option, in local or client/server mode.

My text was not clear... my apologies. Let me try again...

I meant that it might be possible to use the same protocol 

  "Argument -t-" <descriptive text>"\012Argumentx \012"

for both the addition of a cvs add description and cvs admin command.

I fear the above may also be confusing... my apologies if this is the
case.

        Thanks,
        -- Mark




reply via email to

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