[cvsnt] Re: Unknown escape character '\C' ignored

Björn L bigbear at home.se
Wed Sep 7 19:22:53 BST 2005


Björn L wrote:

> Bo Berglund wrote:
>
>> On Mon, 05 Sep 2005 13:18:11 +0200, Björn L <bigbear at home.se> wrote:
>>
>>  
>>
>>> Hi!
>>>
>>> When I'm trying to commit to my cvs I get the following:
>>> ------------------
>>> In C:\jobb\code\Engine: "C:\Program Files\TortoiseCVS\cvs.exe" "-q" 
>>> "commit" "-m" "" "TODO.txt"
>>> CVSROOT=:pserver:username at computer-ip:/CVSROOT
>>>
>>> Checking in TODO.txt;
>>> /CVSROOT/Engine/TODO.txt,v  <--  TODO.txt
>>> new revision: 1.4; previous revision: 1.3
>>> done
>>> Unknown escape character '\C' ignored.
>>> Unknown escape character '\C' ignored.
>>> Unknown escape character '\C' ignored.
>>> Unknown escape character '\C' ignored.
>>> Script execution failed
>>> ------------------
>>> where username is my username and computer-ip is changed to the ip 
>>> to my cvs-computer.
>>>
>>> I read that "unknown escape character"-error could arise when using 
>>> backslash instead of forward slash in the *info-files in CVSROOT. 
>>> But none of them contains a backslash as far as I can see.
>>>
>>> Does anyone have a clue what could cause this error?
>>>   
>>
>>
>> What do you have in your CVSROOT/loginfo script?
>> And what is in the CVSROOT/postcommand script?
>>
>>  
>>
> From a newly checked out version of the two files you're asking about:
> The content of loginfo is (between --- and ---)
>
> ---------------------------------------------------------------------------------------------------: 
>
> # The "loginfo" file controls where "cvs commit" log information
> # is sent.  The first entry on a line is a regular expression which must
> match
> # the directory that the change is being made to, relative to the
> # $CVSROOT.  If a match is found, then the remainder of the line is a 
> filter
> # program that should expect log information on its standard input.
> #
> # If the repository name does not match any of the regular expressions
> in this
> # file, the "DEFAULT" line is used, if it is specified.
> #
> # If the name ALL appears as a regular expression it is always used
> # in addition to the first matching regex or DEFAULT.
> #
> # You may specify a format string as part of the
> # filter.  The string is composed of a '%' followed
> # by a single format character, or followed by a set of format
> # characters surrounded by '{' and '}' as separators.  The format
> # characters are:
> #
> #   s = file name
> #   V = old version number (pre-checkin)
> #   v = new version number (post-checkin)
> #
> # For example:
> #DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
> # or
> #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> 
> $CVSROOT/CVSROOT/commitlog
> --------------------------------------------------------------------------------------------------- 
>
>
>
> and the postcommand-file
>
> --------------------------------------------------------------------------------------------------- 
>
> # The "postcommand" file is run after a cvs command has finished.
> # The filter on the right is invoked with the repository name and
> # the name of the command that has been executed.
> #
> # 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.
> #
> # If the name "ALL" appears as a regular expression it is always used
> # in addition to the first matching regex or "DEFAULT".
>
> --------------------------------------------------------------------------------------------------- 
>
>
>> If any of these contain references to a program where a path specifier
>> is used it might result in this if you use backslashes. But only if
>> one of the folders or the actual program starst with a C.
>> Maybe you use my CVSMailer? In that case the loginfo file might look
>> like this:
>>  
>>
> Yes, I installed CVSMailer but I removed it when I didn't get it to work
> the first time to try and reinstall it. Then I got this escape
> character- error.
>
>> DEFAULT C:\Programs\CVSMailer\CVSMailer.exe ....
>> And here you get the error due to the folder and file start. Change
>> this to:
>> DEFAULT C:/Programs/CVSMailer/CVSMailer.exe ....
>> and you should be good to go.
>>
>>  
>>
>> BTW, which version of CVSNT are you using on the server?
>>  
>>
> I'm using version 2.5.02 (Servalan) Build 2064
>
>>
>> /Bo
>> (Bo Berglund, developer in Sweden)
>> _______________________________________________
>> cvsnt mailing list
>> cvsnt at cvsnt.org
>> http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
>>
>>  
>>
> Regards
> Björn Lindahl
>
>
>
>
> _______________________________________________
> cvsnt mailing list
> cvsnt at cvsnt.org
> http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
>
It struck me that when I tried to install cvsmailer I added text to the 
*info-files. This text contains paths using backslashes. If I check out 
CVSROOT now my *info-files is empty but if I check the same files in the 
CVSROOT folder on the server those still contain paths with backslash. 
It seem to be the case that cvs didn't take my commits where I removed 
the erronous paths.Is it possible to edit the files directly on the cvs 
server or is there another way to fix this problem?

Regards
Björn




More information about the cvsnt mailing list