我想知道当用户名包含“@”字符时是否可以使用Linux RCS。我想用“ci -u filename”和“co -l filename”签入/签出文件,但我收到以下消息:
RCS/文件,v <-- file ci: invalid identifier `[电子邮件受保护]' ci 中止
如果使用 -wlogin 选项,我可以执行一次签入/签出,但是当我尝试第二次签入时,我收到上面的“ci aborted”消息。如果有任何方法可以屏蔽用户名中的“@”符号,或者解决这个问题,请告诉我。
谢谢。
我能够做到: ci -wname -u 文件 和 co -wname 文件
但是编辑文件后,“ci -wname -u file”命令不起作用:
RCS/文件,v <-- file ci: invalid identifier `[电子邮件受保护]' ci 中止
如果您查看源代码,您可以看到(通过 checkidentifier 例程)对“标识符”(例如您提供给 -w 的参数)进行了检查。
如果标识符包含“特殊”字符(源代码令人困惑地使用术语“符号”),这些检查就会中止。特殊字符可以在 rcsfile 的手册页中看到:
idchar ::= 除特殊字符外的任何可见图形字符
特别 ::= $ | , | 。 | : | ; | @
因此禁止使用美元、逗号、句号等(包括“at”符号)。
如果有任何方法可以屏蔽用户名中的“@”符号,或者解决此问题,请告诉我。
我不认为除了编译源代码之外还有什么办法可以解决这个问题吗?出于兴趣,我尝试在多个级别引用“@”,甚至尝试将其加倍,但没有办法。我假设(但不确定)这是因为当 rcs 系统发送电子邮件时(例如,当有人打破锁定时),它需要“@”分隔符来分隔域中的用户名。