2010-03-18 82 views
3

我在Mac OSX上运行git 1.7,通过Homebrew安装。我试图用git svn与需要的Subversion 1.5客户端Subversion服务器工作(通过强制的限制pre-commit钩子。)我需要git-svn充当Subversion v1.5 +客户端

运行git svn --version表明,只要混帐而言,git svn相当于SVN V1.4.4。

我无法确定git svn是否是颠覆的完整克隆,因此需要更新以符合颠覆v1.5功能,或者如果编译git或仅指向某些版本的subversion版本。

我挣扎着寻找其他人试图升级的git-svn的版本,我猜这个客户端版本的限制是不寻常的,但我坚持了下来(企业环境。)

是否有可能让git以svn 1.5的方式运行?

回答

3

我运行git --version 1.6,当我跑git svn --version,我得到git-svn version 1.6.5.

apple:mac-zfs alex$ git svn --version 
git-svn version 1.6.6 (svn 1.6.5) 
apple:.git alex$ git --version 
git version 1.6.6 
apple:mac-zfs alex$ svn --version 
svn, version 1.6.5 (r38866) 
    compiled Oct 16 2009, 02:54:10 

是否有可能安装的Git或SVN更高版本会有帮助吗?我的猜测是后者。

注意我使用OSX 10.6.2的/ usr/bin/svn,看起来像com.apple.pkg.BSD包。 SVN的旧版本可能在10.5.8中;你可以从http://subversion.apache.org/packages.html#osx

+0

同样在这里。我有svn 1.4.4,git-svn也报告svn 1.4.4版本。 – ZeissS 2010-03-18 23:35:27

+0

注意:Git svn将搜索Git路径,该路径已编译而不是$ PATH的一部分。因此,如果您在其他地方有版本,我只需删除Apple提供的版本并将其安装到/ usr/bin中,或者将/ use/bin中的符号链接设置为/ use/local/bin。 – AlBlue 2010-03-20 00:03:25

+0

感谢您澄清git路径规则,这解开了我遇到的大部分问题。 – 2010-03-23 19:14:07

7

您可以运行svn --version确认版本匹配,但git svn将perl SVN绑定实际使用svn工作,所以无论那些,git svn将它们捡起来。 git svn内部没有svn安装。

结论:您需要更新您的svn安装到1.5以使git svn以svn 1.5运行。

+0

下载一个通用的。谢谢你的澄清。你知道perl svn绑定如何决定使用哪个svn吗? 我有位于'/ usr/bin'中的Mac OSX(10.5)的Subversion的出货版本,它是v1.4.4;匹配版本'git svn'指向。不过,我通过Homebrew安装了v1.6.6,位于'/ usr/local/bin /'中。我的路径已配置好,'which svn'指向所需的v1.6'brew'版本。 底层perl绑定在运行时是否有其自己的路径解析,或者是否在安装git时设置了它? – 2010-03-19 19:26:28

+0

我会先检查你的'LD_LIBRARY_PATH'变量。它可能缺少'/ usr/local/lib',它应该是与'/ usr/local/bin/svn'匹配的svn库所在的位置。 'svn'可执行文件本身可能在内部对这个路径进行了硬编码,但是'git-svn'不知道在哪里拾取这些库 - 它可能会回退到'/ usr/lib'中较老的库那会匹配'/ usr/bin/svn'。 – MikeSep 2010-03-19 23:53:02

+0

您可能还需要检查'PERL5LIB'。 – 2013-04-16 14:38:17