Bash cvs未读取CVSROOT
我们在远程机器上有一个CVS服务器,我在.bashrc:Bash cvs未读取CVSROOT,bash,version-control,cvs,Bash,Version Control,Cvs,我们在远程机器上有一个CVS服务器,我在.bashrc: export CVSROOT=:pserver:myuser@theserver:/home/cvs Bash确认已设置此选项: $ echo $CVSROOT :pserver:myuser@theserver:/home/cvs 我还有一个本地的CVS回购协议,我用它来做其他的东西 /home/myuser/repo-cvs 我将访问它(这样做可以覆盖$CVSROOT中的默认值): 当我在没有-d的情况下执行任何cvs命令时,我
export CVSROOT=:pserver:myuser@theserver:/home/cvs
Bash确认已设置此选项:
$ echo $CVSROOT
:pserver:myuser@theserver:/home/cvs
我还有一个本地的CVS回购协议,我用它来做其他的东西
/home/myuser/repo-cvs
我将访问它(这样做可以覆盖$CVSROOT中的默认值):
当我在没有-d的情况下执行任何cvs命令时,我希望它使用$CVSROOT中定义的命令,但我得到的东西如下:
$ cvs login
cvs login: can only use `login' command with the 'pserver' method
cvs [login aborted]: CVSROOT: /home/myuser/repo-cvs
$ cvs co tools
cvs checkout: cannot find module `tools' - ignored
~/dev/projects/myProjA/CVS
但是,这是可行的(工具位于pserver上,而不是本地):
因此,它显然忽略了env var$CVSROOT
我已经删除了~/.cvspass,因为它同时引用了这两个,我找不到任何其他可以缓存/存储此类信息的位置
有什么想法吗
附加注释
我没有在bashrc或.cvsrc中将任何覆盖设置为别名
$ cvs -v
Concurrent Versions System (CVS) 1.12.13-MirDebian-11 (client/server)
我做了两个假设:
-d cvs\u根目录
使用cvs_root_目录作为存储库的根目录路径名。覆盖$CVSROOT环境变量的设置。
~/tmp
~/dev/projects
$ cvs login
cvs login: can only use `login' command with the 'pserver' method
cvs [login aborted]: CVSROOT: /home/myuser/repo-cvs
$ cvs co tools
cvs checkout: cannot find module `tools' - ignored
~/dev/projects/myProjA/CVS
我猜如果我花时间在手册中,我会发现一些解释,cvs命令将在查看$CVSROOT之前查看本地修订信息dir cvs/,如果您在我们的checked目录中工作,则在签出该目录时将使用CVSROOT,即使CVSROOT显示的是不同的目录 这是正确的。如果已签出项目,cvs将使用工作副本中已有的信息。