[cvsnt] Re: Annotate Commands?
Jay
j.javed at sherara.com
Tue May 18 14:23:52 BST 2004
Hi, thanks for your reply
Tony Hoyle wrote:
> On Tue, 18 May 2004 12:13:58 +0100, Jay <j.javed at sherara.com> wrote:
>
>
>
>>Now, the command being issued to cvs.exe is as follows:
>>
>>Root /
>
>
> Firstly, a root as '/' is known to be problematic, due to the design
> of CVS. It might work for simple uses though.
>
OK, I've changed the configuration. The Repository prefix is now C:/CVS
and a valid root is /Repository. CVSROOT is now located at
C:/CVS/Repository/CVSROOT and the Cinema folder is at
C:/CVS/Repository/Cinema
So, in my script I've changed Root to /Repository which I assume is correct?
>
>>Valid-responses ok error Valid-requests Checked-in Updated Merged
>>Removed M E
>>UseUnchanged
>>Argument -r
>>Argument 1.1
>>Argument Cinema/Browser.php,v
>
>
> Don't send the ,v here. That's an implementation detail that's never
> passed over the protocol.
>
Done.
>
>>Directory Cinema
>>C:/CVS/Repository/Cinema/
>>Directory .
>>C:/CVS/Repository/
>>annotate
>
>
> Also, why do you have two 'Directory' commands? the first one isn't
> doing anyting. Get rid of the first one.
>
Because all the scripts I've seen follow the same basic principle which
is to split the path up and provide a Directory command for each one. I
have absolutely no idea what it does or why it's required, hence the
reason I didn't take it out.
> If you have a prefix of C:/CVS/Repository then you should never pass
> that as part of the protocol. Use / instead.
>
OK, so I presume in this case I use /Repository
> Also, you're not sending the file information - annotate uses the
> sandbox and needs the entry lines for the current directory.
>
> If all you want to do is annotate a specific file in the repository
> just use the remote annotate (rannotate):
>
OK, I have absolutely no idea what a sandbox is. I do have these files
stored in a separate working directory somewhere. I edit them in that
directgory and use commit commands (TortoiseCVS) to update the main
repository. That all works fine. So is this working directory the sandbox?
The annotate script does work on a single file in the repository, so for
that reason I've changed it as per your suggestion.
> Valid-responses ok error Valid-requests Checked-in Updated Merged
> Removed M E
> valid-requests
> Root /
> Argument Cinema/Browser.php
> rannotate
>
OK, so I changed Root to /Repository and tried it, and removed the
valid-requests line ('cos that returned all the valid requests) and I
still get an error, but no error message is returned.
I forgot to mention earlier, that this string of commands is being
written to a stream which was opened by the following command:
cvs.exe -n server > [tmp file location]
The temporary file location should have some data in it, but it's
completely empty after execution hence somewhere along the way an error
must have occured.
I tried rannotate, and annotate, and I substituted the valid-requests
line for the UseUnchanged, Argument -r and Argument 1.1 (all three at
the same time, not one by one), and still I get no output.
I also notice you said before to remove the first Directory command (and
presumably, the line beneath it too). But you've not included the second
one (Directory .). Was this on purpose or an oversight. I tried to
include it, but it didn't change anything.
Just for the record, this was my last attempt:
Valid-responses ok error Valid-requests Checked-in Updated Merged
Removed M E
Root /Repository
UseUnchanged
Argument -r
Argument 1.1
Argument Cinema/Browser.php
Directory .
/Repository/Cinema
rannotate
(BTW, just in case you might mention it, I am aware Removed M E is
supposed to be on the first line, and it's there because of line
breaking ;))
Thanks again for your help
Jay
More information about the cvsnt
mailing list