专栏首页10km的专栏RabbitVCS(0.14.2)不显示右键设置(settings)菜单,

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 条评论
登录 后参与评论

相关文章

  • shell:获取git当前分支或tag

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    用户1148648
  • ubuntu16 CUDA 编译opencl caffe版本并通过mnist训练测试

    一般来说,大家谈到caffe,都是基于CUDA在的NVIDIA显卡上运行的版本,其实有一个支持opencl的分支版本OpenCL Caffe。理论上这个版本的c...

    用户1148648
  • velocity:宏(#macro)出现中文乱码

    最开始使用velocity时,输出中文乱码,我的解决办法 是在调用 mergeTemplate 方法时指定encoding为UTF-8,然后就正常了。 Velo...

    用户1148648
  • Entity Framework Core 之数据库迁移

    前言 最近打算用.NET Core写一份开源的简易CMS系统,来练练手 所以又去深入研究了一下Entity Framework Core  发现其实有些细节园子...

    GuZhenYin
  • 通用权限相关文档的下载【2009.9.7更新】

    最新的下载地址:http://www.naturefw.com/nature/down.aspx 下面的地址都作废。       您可以在这里下载通用权限相关...

    用户1174620
  • 停止使用非版本控制的可执行代码

    一般来说,人们会在local_settings.py文件中加入一些配置变量,然后加入到.gitignore里面。因此,本地开发环境,你的项目需要一个脱离版本控制...

    py3study
  • 看完后,我才明白 Redis 为什么默认 16 个数据库?

    导读:在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立...

    好好学java
  • 看完后,我才明白 Redis 为什么默认 16 个数据库?

    导读:在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立...

    xcbeyond
  • JS中isPrototypeOf 和hasOwnProperty 的区别

    大当家
  • 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?

    Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与在一个关系数据库实例中可以创建多...

    Java搬砖工人

扫码关注云+社区

领取腾讯云代金券