使用sudo时未设置SVN_EDITOR

时间:2010-12-21 18:47:56

标签: svn centos centos5

我需要使用sudo在我的项目上运行svn命令。我将SVN_EDITOR设置为我自己的.bash_profile以及root用户的.bash_profile中的vi,但是当我尝试执行svn propedit时,我得到了

svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found

每次开始新会话时,我都要设置SVN_EDITOR。这是一种痛苦。关于如何/在哪里永久设置SVN_EDITOR的任何建议?这是在CentOS 5.4上。

3 个答案:

答案 0 :(得分:4)

通过sudo运行命令不会启动登录或“交互式”shell,因此将其添加到各种 bashrc 配置文件资源文件将无济于事。

正如DES所说,快速而肮脏的方式是:

sudo env "SVN_EDITOR=$SVN_EDITOR" svn propedit svn:ignore .

但正如derobert评论的那样,更好的更永久的解决方案是运行sudo visudo来编辑 / etc / sudoers ,并将SVN_EDITOR添加到the env_keep option。< / p>

答案 1 :(得分:2)

在运行命令之前,

sudo会清除大部分环境。这是一件好事™。快速而肮脏的解决方法是使用env

sudo env SVN_EDITOR=$SVN_EDITOR svn propedit svn:ignore .

SVN_EDITOR中定义~root/.bashrc应该有效,但更好的解决方案是在/etc/profile中定义它,以便每个用户获得相同的值。

答案 2 :(得分:0)

〜/ .bashrc中

我记得在连接时调用了.bash_profile。 (当你ssh到机器时)和.bashrc被调用为每个bash进程启动。但我可以倒退。

Centos是近来为数不多的受到严厉尊重的发行版之一。据我所知。