我刚开始第一次“git”并且已经从Ubuntu 10.4 / AMD64发行版安装了git和gitg(也许不是'最新'版本但不是古老版本)。
我正在尝试查看我通过gitg提交的go代码,并在“树标签”中说:
Cannot display file content as text.
然而,“详情选项卡”显示同一文件的差异就好了
我知道gitg的“树标签”正在运行,因为我可以使用*.c
/ *.html
/ *.txt
上的树视图等等。
<question>
有没有办法调整gitg以理解“* .go”只是文字? </question>
更多背景信息:
我确实有工作/usr/share/gtksourceview-2.0/language-specs/go.lang
它在gedit中作为荧光笔工作得很好
似乎gitg可能要求可显示文件的mime类型为“text/plain
”,所以我将其添加到go.lang
没有快乐。 gitg在*.go
上仍然失败
我相对肯定修复很简单,只是不知道在哪里看。
答案 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_a
是glib\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