NautilusSVN,Linux 下的 TortoiseSVN

在 Windows 下用 Subversion 管理程序代码的人,肯定都知道 TortoiseSVN——一款集成在 Windows 文件管理器中的 Subversion 客户端,操作相当方便——相比之下, Linux 的环境里,集成于文件管理器的版本控制软件似乎一直是个空白。也尝试着给 GNOME Nautilus 装过如 nautilus-script-collection-svn 这样的脚本集合,但就使用体验而言,和 TortoiseSVN 还是没得比。

偶然情况之下,搜索到一个叫做 NautilusSVN 的开源项目,活脱脱的一个 TortoiseSVN 的 Linux 版本。大喜!项目似乎始于今年一月份,最新版本也只有 0.12 版。但试用之后,感觉颇为稳定。只是在载入较大的代码库时,会有一定时间假死状态。

自动安装

自动安装极为简单,Debian/Ubuntu 系的系统,访问下载页面,选取对应版本下载即可。可惜的是该软件暂时还无法在 Synaptic 里通过添加 Repository 的方式来安装、升级,颇为遗憾。

手动安装

总体而言,自动安装已经足够了。写下手动安装的过程,更多是为了记录使用普通用户权限安装 Python 软件的过程。

1.获取最新的 NautilusSVN 代码。程序代码可以从 Source Checkout 获取。
svn checkout http://nautilussvn.googlecode.com/svn/trunk/ nautilussvn-read-only
2.用以下命令以普通用户权限进行编译和安装。
# 安装 NautilusSVN 到指定目录
python setup.py install --prefix=/your/path
安装到最后一步时,程序会自动报错,因为在安装脚本中, Nautilus Extensions 的目录被 hard code 指向了普通用户所无法操作的 /usr/lib/nautilus/extensions-2.0/。对于普通用户而言, Nautilus Extensions 的目录应该位于 ~/.nautilus/python-extensions。在安装目录下,使用以下命令手动完成剩余部分的安装。
# 复制 Nautilus 的扩展插件到 Nautilus Extensions 目录
cp nautilussvn/lib/extensions/nautilus/NautilusSvn.py ~/.nautilus/python-extensions/
# 在指定目录下创建 configspec 配置文件目录,注意地址串中 Python 对应的版本号
mkdir /your/path/lib/pythonX.Y/site-packages/nautilussvn/lib/configspec
# 复制配置文件到 configspec 目录
cp nautilussvn/lib/configspec/configspec.ini /your/path/lib/pythonX.Y/site-packages/nautilussvn/lib/configspec/
# 复制图标文件到用户目录下的 .icons
cp nautilussvn/data/icons/ ~/.icons/
3.完成以上所有操作后,分别在 ~/.bashrc 和 ~/.profile 中将安装指定目录 /your/path/lib/python2.6/site-packages 添加到 PYTHONPATH。如此,便可在图形界面和 Bash 命令行界面中分别调用 NautilusSVN。
PYTHONPATH=/your/path/lib/python2.6/site-packages
export PYTHONPATH;