我想在Mac OS X Leopard上安装Git.我正试图避开MacPorts/Fink路线.我也试图避开Google上的安装程序,因为我自己走得很远,但如果必须的话,我会继续下载安装程序.
无论如何,我安装了Git./usr/local/bin/git
.问题是没有安装任何文档,Makefile从不打扰告诉我.所以现在我让Git坐在那里等待使用,因为我尝试为它安装联机帮助页.
由于某些可怕的原因,这些联机帮助页被维护为文本文件,这些文件将由我迅速安装的AsciiDoc程序处理.但是AsciiDoc将这些文本文件转换为XML.
然后Git使用另一个名为xmlto的程序将AsciiDoc吐出的XML转换为联机帮助页(我想 - 我还没有那么远).问题是每当它开始该步骤时我都会收到此错误(第一行是从make输出,其余是错误):
XMLTO git-apply.1 I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd /Users/chrislutz/prog/sources/git-1.6.3.1/Documentation/git-apply.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
所以基本上它只是遍历每个文件并给我所有这些错误.
我曾尝试过一次下载文件http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
,将其放在目录中,然后将XML文件中的所有引用更改为目录中的文件,但这给了我更多更奇怪的错误.如果我有一个常规的工作解决方案,它可能仍然会给我那些陌生人的错误,这意味着整个事情被搞砸了,我将只使用谷歌安装程序.
然而,我自己已经(跌跌撞撞)得到了这一点,我觉得这是松一口气和使用Git的机会之前的最后一步.所以我想做出最后的努力来理解什么是错的.而"最后努力"意味着"Ask Stack Overflow".
因此,如果有人能够让我对这个错误意味着什么以及为什么会发生错误(以及我可以做些什么来修复它)有任何见解,那就太棒了.如果没有,我会尝试使用Google安装程序.
我最近在CentOS 5.3上安装了git-1.6.4.2.构建git没有问题,但是尝试安装随附的文档会在每一步都产生痛苦.yum repos 的版本xmlto
和asciidoc
旧版本都是旧的,所以我从源代码构建它们.然后xmlto
(通过xmllint
)抱怨缺少DocBook 4.5,我终于设法手动获取这些.
到目前为止,文档构建快乐地推进,直到
DB2TEXI user-manual.texi /bin/sh: line 1: docbook2x-texi: command not found make[1]: *** [user-manual.texi] Error 127
但是安装了docbook2x!啊,命令不同:
$ rpm -q --filesbypkg docbook2x | grep bin.\*texi docbook2x /usr/bin/db2x_docbook2texi docbook2x /usr/bin/db2x_texixml
即使尝试手动运行,我仍然没有找到快乐:
$ db2x_docbook2texi user-manual.xml --encoding=UTF-8 --to-stdout >user-manual.texi++ docbook2texi:/book: no description for directory entry /usr/bin/db2x_texixml:-::node: fatal error: node belongs to a different file Died at /usr/bin/db2x_texixml line 959.
INSTALL的底部提到了几个方便的make
目标:快速安装man和快速安装-html.例如,它变成了那个
$ make prefix=/usr/local quick-install-man
相当于
$ ./Documentation/install-doc-quick.sh origin/man /usr/local/share/man
这有几个问题:我们需要一个git repo来使用这些目标,man
并且html
分支的头部可能与您正在安装的版本不对应.
所以,一个快速而肮脏的引导程序:
tar xfz git-1.6.4.2.tar.gz cd git-1.6.4.2 make prefix=/usr/local all sudo make prefix=/usr/local install # (1) cd .. git clone git://git.kernel.org/pub/scm/git/git.git cd git git checkout v1.6.4.2 # (2) # (3) ./Documentation/install-doc-quick.sh \ c8b9e605d51dd2f0c7ce6a363df31171af16534c \ /usr/local/share/man # (4) ./Documentation/install-doc-quick.sh \ 35b47ca5285a4059792ba937f8e09b2ab4a7adf4 \ /usr/local/share/doc/git-doc git init --help # (5)
笔记:
此时,git将继续存在/usr/local/bin
.
现在,您将在分离的头上拥有与上一步相同的树.
SHA-1来自最后的1.6.4.2提交git log origin/man
.
与上述相同,除了origin/html
.
利润!
也许不是你想要的答案,但你可以下载git-manpages-*.tar.gz
并git-html-*.tar.gz
与源一起发布.它们的发布是因为已知asciidoc工具链有点脆弱,并且需要付出相当大的努力来安装和安排所有内容.
我相信你需要一整套docbook支持文件.也许还有一些样式表......虽然如果你安装了xmlto,你应该拥有所有这些.