zoukankan      html  css  js  c++  java
  • 折腾的DVCS

    折腾的DVCS

    svn,git,TortoiseHg,Mercurial, windows, utf8

     已经用了很长一段时间的svn,整体来讲的很顺利,突然想用用dvcs,折腾了2天,感叹dvcs在于折腾

    整体环境,windows xp/7 +S2008,原来一直用svn(visual svn server + tortoiseSVN),几个项目,也有千余个commit

     dvcs中选中了msysgit(git的windows版,名气大),TortosieGit, TortoiseHg(其实本来是个误会)

    插曲:一直在看git相关的内容,但却在开始把TortoiseHg误认为是git的GUI客户端。

     这里使用的软件版本分别是 msysGit 1.7.10, TortoiseHg 2.4.1

    安装:

    TortoiseHg:简单,基本安装完成后就可以使用,

    TortoiseGit:只是一个GUI,还要msysGit才能用,而且和TortoiseSVN有些冲突,导致另外一个图标不能用,设置一个,影响两个

    msysGit:本身就带一个简单的GUI,但大部分都是功过bash完成 

    基本使用:新建,提交等等

    都是基本可以的。


    从svn迁移:

    TortoiseHg:可以启用用convert插件,可以顺利迁出,中文显示也正确,不过有个小小的不同,svn中333次历史记录,但hg中只有284次。

    TortoiseGit:从svn服务器始终不能完整导入,并且由于和tortoisesvn的相互干扰,卸载了。

    msysGit:结合网上的教程,直接用bash进行导入clone。

    一直有个问题,就是第一次只能clone部分历史,少则3、5个,多则18、9个,然后用fetch,则基本每次1-3个,整个过程不报错。

    这要到后年马月才能弄好,只好google

    先是看到了 《 git svn ambiguous argument 'HEAD' 》 其中提到了clone不完整,fetch只能1次1个的问题,但没给出解决方法

    然后是 《GIT-SVN clone command executes without errors but the local master branch is missing 》 这里提到了不报错停止的现象,并且给出了解决办法

    就是放弃http(s)://,而改用svn://,事实证明这个是正确的。直接原因是“未知原因导致https链接断开”

    另外不要想这用本地路径的方式file://或者D:/之类的,下面的文章会告诉你的,此路不通。

    Porting a Subversion to a Git Repository with an Error “Permission denied: Can’t open ‘/tmp/report.tmp’” 》

     UTF8中文支持:

    TortoiseHg: clone时遇到中文文件名的内容(更准确的说是部分中文,因为有的中文文件能通过,有些不能,而且和svn转换有关),停止工作;

    另外,kdiff3似乎也对中文不友好,会乱码,

    但是,添加中文名字的文件,可以正常保存,可以显示

    提交中文注释也能(至少在本地机器上可以) 

    msysGit:也好不到哪里去,由于1.7.10已经支持utf8了,所以clone是可以的通过,但还是有不少问题,

    比如clone的存放的目录不能为中文;bash能显示,但不能输入,gui能显示或部分显示,能输入,但还是不能使用(毕竟还要靠具体bash) 

     这个是最大的软肋。

    另外。git-gui在clone 时,目标目录必须不能存在,否则不让clone。

    跨平台:听说

    TortoiseHg:用qt+ python 良好

    msysGit:或者Git,可以跨,但似乎对windows还是不太友好,听说linux上工作不错。

    总结:

    新项目可以考虑Git或者Hg,老项目还是算了吧。除非你感觉特别需要。

    你的项目要中文或者其他多语言环境么,对这个不敏感的可以考虑Git或者Hg,敏感的还是算了吧,或者你自己想办法。

  • 相关阅读:
    20145226夏艺华 《Java程序设计》第9周学习总结
    20145226夏艺华 EXP5 MSF基础应用
    20145226夏艺华 《Java程序设计》第7&8周学习总结、实验一
    20145226夏艺华 网络对抗技术EXP4 恶意代码分析
    Qt 图形视图框架<二>——<QGraphicsView、QGraphicsScene>
    Qt 图形视图框架<一>——<QGraphicsItem>
    【转载】C++ 自由存储区是否等价于堆?
    QML学习(五)——<TextInput和TextEdif输入框>
    QML学习(四)——<Text显示>
    QML学习(二)——<QML语法>
  • 原文地址:https://www.cnblogs.com/kevinzhwl/p/2550541.html
Copyright © 2011-2022 走看看