免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[其他] 版本控制之道---Git时代已经来到?(获奖名单已公布-2012-10-30) [复制链接]

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
81 [报告]
发表于 2012-10-11 19:56 |只看该作者
回复 77# OwnWaterloo


    哦,对了,顺便说说花时间看。

你以为我不想啊?Haskell的东西哪个不是30M+的?我现在是3G啊!!!

以前看haskell的一个编辑器(yi),就在Linux下面玩了玩,apt-get install yi,尼玛下了快1G的东西下来,就一个editor有没有这么夸张的????

我反正是不敢”亲自去看“haskell写的东西的,等我有流量再说吧……

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
82 [报告]
发表于 2012-10-11 20:31 |只看该作者
blackold 发表于 2012-10-11 19:20
回复 61# xiaopan3322


bob是专业配管达人哦,呵呵

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
83 [报告]
发表于 2012-10-11 20:39 |只看该作者
回复 82# send_linux


    嗯,这家伙好多方面都是达人。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
84 [报告]
发表于 2012-10-11 20:44 |只看该作者
回复 80# starwing83

我前面就说过了,git相比svn的优势难道就只有本地分支?于是没有本地分支的就都应该与svn归为一类?
还有,速度是git的优势,但git的优势是不是就只有速度?
你总是抓住一些片面的地方,一些有利于你展开论述的地方来说。

现在又是patch-based。因为darcs和svn都是patch-based,所以它们又是一类了? hg是不是patch-based?是不是也该和svn一类了?
hg的本地分支是不是从无、到扩展、最终发展到内建支持了?


是因为你推荐我学haskell,那就难免会接触到darcs。
一开始我也不能理解为什么连年代顺序都可以抛弃。
但转念一想,它确实可以解决我在用git时遇到的一些麻烦。

我再给你举个例。我偶尔会手敲一些歌的歌词。歌与歌之间都是独立的。
但每一个歌的歌词文本会改,比如我敲错了,比如有些日文汉字我熟悉了,注音就可以丢了。
我希望维护的仅仅是每一首歌的歌词的发展顺序,以及所有歌的独立的发展线。
但git,包括其他有年代顺序的版本控制工具会强制将所有歌的发展线交错在一起。

包括前面的本地的笔记,包括配置文件。。。
(啊,我都仿佛已经听见你会说:这只是你自己独特的使用方式,不是版本控制工具应该做的,它们只是用来管理代码的。。。)
哪怕我需求的不是管理代码的,就是个人杂七杂八文件的管理用的工具。但我有这样的需求是事实吧? 说不定其他人也有。
并且用git的话,始终没找到很直接支持的方案。 而darcs恰好就支持。

总之一句话: git会强制产生一些可能不被需要的依赖。 比如前面的7个数字和2独立修改的例子。 A <-B 和 A <- C 是必须的, 但B和C就是被git强制的。
如果有一种新的思路,可以避免后面那种依赖,是不是就是其先进性的体现?


再说速度,这种新的思路会导致不可避免的效率问题?目前肯定存在,因为刚接触darcs没多久就知道ghc因为效率原因从darcs转到git了。
但那又如何呢? 绝对不会发展到ghc那种规模的项目是不是就没有了?  配置文件、笔记、歌词。。。 我都是手敲。。。 一辈子又能写多少啊。。。
你不能总是将效率作为第1要素去衡量一个软件,或者一种新的思路。

就像gc,或者STM,哪怕就是有效率硬伤,那又如何呢?
它们就是能避免编程的繁琐,减少出错的几率。这是已经是没有争议的事了吧? 这效率换得值得啊。。。
这不是1,20年前了啊。。。 承受得起这点效率损失的场景越来越多了啊。。。

从使用方面, svn不如git方便, git自己又有许多不方便的地方, darcs看起来可以解决这些。 怎么能说 darcs 只是一个 better svn?
你怎么能只从实现原理方面入手呢。。。 怎么就对使用场景完全不理会呢。。。 (哦,因为这只是我的使用场景,你没有这样的case是吧。。。 我认。。。)
再早若干年, 如果提起lexical scoping, 多数人会摇摇头对你说: 这玩意没法高效实现。
再继续更早, 如果提起virtual address space, 多数人会联想到memory overlap。
在java之前, gc也没被普遍承认啊? 但你看现在是个什么样子? 如果只顾及实现原理而不看使用场景, 这些东西能发展起来?



至于真正的实现原理,我也不知道。因为这些原因,最终我没有实际大量用过:
1. darcs不支持non-ascii文件名, 不仅仅是歌词,有些notes都包含非non-ascii文件名。
darcs的代码我又看不懂。。。 现在可能会稍好一些, 年初那时看haskell实际代码肯定是天书般的。
2. darcs确实太小众了, 所以code hosting都很难找。。。
而git是多到不知道选哪个好。。。

那时候你说可以用git做底层,提供darcs的接口。我觉得很好,可以有稳定的支持(比如免费的私有的code hosting)。
但没那个能力去做这个事,于是还是只能用git + 各种work around。
如果你真的感兴趣, 不妨去看一看。。。  再问我也是没用的。。。  我在前面已经把知道不知道的都吐完了。。。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
85 [报告]
发表于 2012-10-11 20:55 |只看该作者
回复 84# OwnWaterloo


    为什么你总是用这么狭隘的观点看别人呢?

我说了darcs是better-svn就是说的实现啊,我又没说使用,我没用过我怎么知道……

再说了,谁说better-svn就不比git好了?我单纯说的实现啊。

再说了,谁说实现差就不优秀了?Vim实现这么差,你找个功能比它全的editor试试看……Vim我吐槽过这么多次了,还不是接着用……

别的我就不知道了……反正这个use-case我自己没有,等我有了再去研究。

在这之前,我还是觉得git好。

其实,darcs对现在的我来说,就是三个字:没卖点

你不能因为汤好喝就逼着我喝吧?我也对他感兴趣了,特性也都记住了,只是我现在不会用它,我还没遇到git解决不了的问题(事实上我用git都不是特别多),干嘛非要去试一个我目前没兴趣的东西呢。

就是这样~

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
86 [报告]
发表于 2012-10-11 20:58 |只看该作者
回复 80# starwing83

>> 再说速度,这种新的思路会导致不可避免的效率问题?目前肯定存在,因为刚接触darcs没多久就知道ghc因为效率原因从darcs转到git了。

这里的意思说。。。  目前肯定存在效率问题, 因为已经有人遇见过了。
但这是不是不可避免的不清楚。 但哪怕是有如何? 然后接下面的原文。。。


>> 从实现原理上面讲,darcs和svn并无不同——或者更精确的说,比svn和git的实现原理相差大多了。

因为都是patch-based了?所以实现原理就是一样的?至少在patch有没有parent上是有区别的吧。。。
hg不也是patch-based, 但它也是分布式啊。。。

照这么说。。。 C/C++实现原理能差多远?  lua和py呢?


不能仅从实现原理上来说事啊。。。  也得看好不好用啊。。。
git就是能解决svn能解决的所有问题(除了那些不愿意学点新东西的懒货)。 反之不亦然。
darcs目前看来能解决一些git解决起来很麻烦的问题。 会不会遇见一些新的问题? 不知道。。。 但这是种新的思路嘛。。。

除了.gits下一堆.git。。。 我之前还用过一个HEAD, 只用reset(而不是checkout)不停切换分支,以提交到不同的发展线里。
太繁琐,太容易出错了。。。


咱能不能不讨论实现原理了。。。  呃,思路也应该可以不用讨论了。。。  就是来抢本书。。。 你何必。。。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
87 [报告]
发表于 2012-10-11 20:59 |只看该作者
回复 85# starwing83

你。。。 你赢了好吗。。。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
88 [报告]
发表于 2012-10-11 21:00 |只看该作者
OwnWaterloo 发表于 2012-10-11 20:58
回复 80# starwing83

>> 再说速度,这种新的思路会导致不可避免的效率问题?目前肯定存在,因为刚接触d ...


这太生猛了,这二十多了来回的交锋...

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
89 [报告]
发表于 2012-10-11 21:02 |只看该作者
回复 81# starwing83

darcs源代码1M、 编译好的二进制(Windows)4M。。。 stand alone的不依赖haskell。。。
呃,我说的看是看看官网。。。  看看tutorial什么的。。。

我看到没有年代顺序就惊讶了。。。 但看到一些use case, 就发现可以解决git的很多搓事。。。
万一你也有遇到过和我不一样的git用起来不方便的地方呢?

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
90 [报告]
发表于 2012-10-11 21:07 |只看该作者
回复 89# OwnWaterloo


    好吧~我记住了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP