RabbitVCS(0.14.2)不显示右键设置(settings)菜单,

版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/52700527

RabbitVCS是Linux的svn客户端,对于在windows下用惯了TortoiseSVN的人来说,在linux下使用纯命令行的svn命令实在是太折磨人了,RabbitVCS就是一个类似于TortoiseSVN的linux平台工具。 我的linux平台是CentOS6.5,安装RabbitVCS已经好久了,是用yum install安装的0.14.2版本。 当时安装一切正常,但是突然有一天我发现右健菜单中的设置(settings)界面打不开了,当时没有影响svn的提交和更新功能也没理会,这两天必须要使用这个设置界面,却用不成,就不得不想办法解决了。 想升级到最新版本,yum 却没提供更新的版本,必须得自己去RabbitVCS官网下载源码编译,好麻烦。还是决定从现有的版本着手,尝试能不能解决。 这个帖子给了我提示《centos 6 install rabbitvcs》, 我尝试在命令行执行settings菜单显示

rabbitvcs settings

报错如下

Traceback (most recent call last): File “settings.py”, line 352, in window = Settings(options.base_dir) File “settings.py”, line 126, in init self.get_widget(“pages”).get_nth_page(5).set_visible(show_git) AttributeError: ‘gtk.VBox’ object has no attribute ‘set_visible’

哈,总算知道错误信息了,这个'gtk.VBox' object has no attribute 'set_visible'是什么鬼? 我对pythong不熟悉,才入门,只能大概知道就是没有set_visible这个属性。。。

在google上一通乱找,找到这个贴子《[pygtk] Getting widget visibility》又给了我提示,可能是python依赖的pygtk库升级导致的兼容性问题,貌似set_visiable方法被废弃,改为直接对visiable变量赋值了。 于是打开/usr/lib/python2.6/site-packages/rabbitvcs/ui/settings.py找到126行set_visible所在的位置,代码片段如下:

        if base_dir:
            vcs = rabbitvcs.vcs.VCS()
            git_config_files = []
            if vcs.is_in_a_or_a_working_copy(base_dir) and vcs.guess(base_dir)["vcs"] == rabbitvcs.vcs.VCS_GIT:
                git = vcs.git(base_dir)
                git_config_files = git.get_config_files(base_dir)

                self.file_editor = rabbitvcs.ui.widget.MultiFileTextEditor(
                    self.get_widget("git_config_container"),
                    _("Config file:"),
                    git_config_files,
                    git_config_files,
                    show_add_line=False
                )
                show_git = True

#出错代码位置--本文作者注释        self.get_widget("pages").get_nth_page(5).set_visible(show_git)

        self._populate_checker_tab()

先把settings.py备份,然后修改代码, 将self.get_widget("pages").get_nth_page(5).set_visible(show_git)改为self.get_widget("pages").get_nth_page(5).visible=show_git。 然后执行

rabbitvcs settings

哈,报错消失,settings菜单正常显示啦!

再执行nautilus -q更新nautilus

点右键\RabbitVCS SVN\设置,界面正常打开:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券