如何添加Go to gitg的可查看源列表?

时间:2010-04-30 16:53:00

标签: git go

我刚开始第一次“git”并且已经从Ubuntu 10.4 / AMD64发行版安装了git和gitg(也许不是'最新'版本但不是古老版本)。

我正在尝试查看我通过gitg提交的go代码,并在“树标签”中说:

Cannot display file content as text.

然而,“详情选项卡”显示同一文件的差异就好了 我知道gitg的“树标签”正在运行,因为我可以使用*.c / *.html / *.txt上的树视图等等。

<question>有没有办法调整gitg以理解“* .go”只是文字? </question>

更多背景信息:

  • 已安装的gitg版本为0.0.5 - 即最新的版本 - 0.0.6 - 我现在正在寻找的源代码。

我确实有工作/usr/share/gtksourceview-2.0/language-specs/go.lang 它在gedit中作为荧光笔工作得很好 似乎gitg可能要求可显示文件的mime类型为“text/plain”,所以我将其添加到go.lang

没有快乐。 gitg在*.go上仍然失败 我相对肯定修复很简单,只是不知道在哪里看。

1 个答案:

答案 0 :(得分:1)

对于 gitg alt text http://trac.novowork.com/gitg/chrome/site/logo.png(git存储库查看器定位gtk + / GNOME),look at its code可能会感兴趣({{3} }):

特别是,also here显示该消息,因为其功能gitg-commit-view.c返回未知类型以用于文本显示。

gboolean
gitg_utils_can_display_content_type(gchar const *content_type)
{
        return g_content_type_is_a(content_type, "text/plain") || 
                   g_content_type_equals(content_type, "application/octet-stream");
}

所以你需要声明将文件类型声明为text/plain(在gitg中,而不是“go.lang”)并且它应该可以工作。


实际上,声明不在gitg中:g_content_type_is_aglib\gio\gcontenttype.c gitg_utils_can_display_content_type() )的函数,它调用get_registry_classes_key(),它读取了注册表(Windows HKEY_CLASSES_ROOT project glib )。

因此,如果您注册go文件,它应该可以工作:

xdg-icon-resource install --context mimetypes --size 48 go-type.png plain/text

要注册的xml文件(由mime type registered for Unix找到,很棒!)

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-extension-go">
    <sub-class-of type="text/plain"/>
    <comment>go for files</comment>
    <glob pattern="*.go"/>
  </mime-type>
</mime-info>

xdg-mime install go-mime.xml
update-desktop-database