【发布时间】:2014-10-02 21:35:10
【问题描述】:
虽然不乏有关如何为 Subversion 命令行界面设置文本编辑器的信息(例如,参见 here、here 和 here),但我不知道在哪里我的本地系统正在从中获取文本编辑器信息。
在我的系统上,当我执行svn commit 时,它会打开vim 以获取提交消息。因为这是我想要的,所以我从来没有真正考虑过。这一直有效。但是,最近一位同事尝试提交,但失败并显示未设置编辑器的错误。我从来没有特意设置编辑器,所以对此我很困惑。
我正在运行 Ubuntu 12.04,并且我已经从源代码编译并安装了 Subversion CLI 客户端版本 1.8.10。在此之前,我使用的是使用apt-get install subversion 安装的任何 Ubuntu 规范系统。
Subversion Book 的 Using External Editors 部分说明了设置文本编辑器的以下可能性:
- --editor-cmd 命令行选项
- SVN_EDITOR 环境变量
- editor-cmd 运行时配置选项
- VISUAL 环境变量
- EDITOR 环境变量
- 可能是 Subversion 库中内置的后备值(官方版本中不存在)
我调查了这些地方,并没有发现我的电脑上的默认文本编辑器是如何设置的:
- 提交时不使用
--editor-cmd选项 -
SVN_EDITOR未设置环境变量 -
我的
~/.subversion/config和/etc/subversion/config中都没有设置editor-cmd。这两个文件都存在,但该行已被注释掉。 -
VISUAL未设置环境变量 -
EDITOR未设置环境变量 - 我正在下载the official repository,所以应该没有后备。
必须有另一个地方可以设置默认值。有人知道吗?
编辑:有人建议 Subversion 可能会调用 /usr/bin/editor,但这不是在我同事的机器上设置的。我发现/usr/bin/editor 在我的系统和我同事的系统上设置相同。
【问题讨论】:
-
在您的
svn命令上使用ltrace来找出答案。也许svn二进制文件有一些内置的东西;试试strings $(which svn) -
您确认您使用的 subversion 版本是您构建的版本吗?是否有可能您同时安装并运行了错误的?我会通过运行
svn --version来验证 -
在两台机器上调用
svn --version表明它们都在运行Subversion 版本1.8.10。 -
你能告诉我你用什么命令行来配置你的颠覆构建(你必须得到源代码并完成了
./configure;make;sudo make install或类似的东西)。我很好奇的是您是否为./configure指定了任何选项。如果你没有使用./configure,你是如何从源代码构建的?
标签: linux svn text-editor command-line-interface