我们在远程计算机上有一个CVS服务器,我在.bashrc中有一个行:
export CVSROOT=:pserver:myuser@theserver:/home/cvsBash确认此设置为:
$ echo $CVSROOT
:pserver:myuser@theserver:/home/cvs我也有一个当地的CVS回购,我用它做其他的事情
/home/myuser/repo-cvs我将访问该操作(因此要覆盖$CVSROOT中的默认值):
cvs -d /home/myuser/repo-cvs co projA当我在没有-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但是,这是可行的(工具在pserver上而不是本地服务器上):
$ cvs -d $CVSROOT tools
cvs checkout: Updating tools/
...因此,它显然忽略了env var $CVSROOT。
我删除了~/..cvspass,因为它对两者都有引用,所以我找不到可以缓存/存储此类信息的任何其他位置。
有什么想法吗?
附加备注
在bashrc或.cvsrc中,没有将任何重写设置为别名。
$ cvs -v
Concurrent Versions System (CVS) 1.12.13-MirDebian-11 (client/server)发布于 2014-11-20 12:17:52
我做了两个假设:
-d cvs_root_directory
Use cvs_root_directory as the root directory pathname of the repository. Overrides the setting of the $CVSROOT environment variable.~/tmp ~/dev/projects我并不期望CVS/本地dirs的两个位置;我希望它们是这样的:
~/dev/projects/myProjA/CVS我猜如果我花时间在手册中找到一些东西,说明cvs命令在查看$CVSROOT之前会查看本地修订信息dir /
发布于 2015-06-11 09:29:56
如果您正在检查我们的目录,则将使用cvsroot,尽管CVSROOT显示的是不同的目录,而CVSROOT将用于签出该目录。
https://stackoverflow.com/questions/27038186
复制相似问题