Linux RCS when username contains the "@" character

32 views Asked by At

I would like to know if it is possible to utilize the Linux RCS, when the username contains the "@" character. I want to chech in/out files with "ci -u filename" and "co -l filename", but I'm getting the following message:

RCS/file,v <-- file ci: invalid identifier `[email protected]' ci aborted

I can do a single check in/out if I use the -wlogin option, but when I try to chech it in for the second time, I get the "ci aborted" message above. If there any way to mask the "@" symbol in the username, or to ovecome this problem, please let me know.

Thanks.

I was able to do: ci -wname -u file and co -wname file

but after editing the file, the "ci -wname -u file" command doesnt work:

RCS/file,v <-- file ci: invalid identifier `[email protected]' ci aborted

1

There are 1 answers

1
PJP On

If you look at the source code, you can see that a check is done (by the checkidentifier routine) on the 'identifier' (the argument you give to -w for example).

Those checks abort if the identifier includes a 'special' character (the source code uses the term 'symbol' confusingly). The special characters can be seen in the man page for rcsfile :

idchar ::= any visible graphic character except special

special ::= $ | , | . | : | ; | @

So dollar, comma, period etc (including the 'at' sign) are prohibited.

If there any way to mask the "@" symbol in the username, or to ovecome this problem, please let me know.

I don't think there is any way around this apart from compiling the source? Out of interest I tried quoting the '@' at multiple levels, and even tried doubling it up, but no joy. I'm assuming (but don't know for sure) it's because when the rcs system sends emails (for when someone breaks a lock, for example) it needs the '@' delimiter to delimit the user name from the domain.