目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?

标签:

Microsoft TFS:

优点:

       1.任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用

       2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM

       3.能与 VS 无缝接合

缺点:

        1.整个系统是用 asp 实现的,用浏览器访问相当慢(不知道是不是服务器性能太低还是我个人用的电脑配置太低)

        2.从 IE 上访问、填写各种开发、测试记录,也是很慢,感觉不如 mantis  BT 这样基于 php 的那么方便、迅速

        3.XP 系统无法访问,还得是64位的。所以把电脑的整体性能拖下来了

 

 

Coding 是一个面向开发者的云端开发平台  ,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协作功能,包含了社交元素,方便开发者进行技术讨论和协作。

平台功能

项目协作

项目管理分为公开和私有项目,单个账号可以创建总共1000个项目,包括公开和私有项目。
  • 私有项目
私有项目只对项目成员可见,并不会公开展示于项目成员的个人页面上。只有项目创建者才能添加项目成员,项目的所有内容和更新都只有项目上的成员可以进行操作和查看。主要功能如下:
  1. 文档管理:支持所有格式文件的上传,单个文档不超过50M,同时支持预览文档:Txt,md,html 等和图片:jpg,jpeg,png 等。
  2. 项目成员:只有项目创建者才有权限添加或删除项目成员。
  3. 任务功能:团队成员可以完成查看、编辑任务内容,推送任务给其他成员等交互操作,项目成员可以对所有任务进行评论。此外,任务优先级符号表示了一个任务的紧急程度,有三个叹号,两个叹号,一个叹号和没有叹号四种级别。每个公司,都可能对不同的优先级有不同的定义。
  4. 项目讨论:只有项目成员可见的互动交流区域。该项目上的所有成员都可以在讨论区创建新的讨论帖,评论或者回复讨论。只有项目创建者和该讨论发起者可以编辑或删除已存在的讨论。
  • 公开项目
公开项目是完全公开的,包括源码,项目讨论,质量控制等,只有项目成员可以编辑该项目,但任何用户都可以进行 fork,关注,收藏等操作。

代码托管

Coding 的代码管理功能类似于Github。目前项目上的所有成员对仓库都有一样的访问权限,并且可以通过以下三种协议对git仓库进行访问:
  • HTTPS:读写仓库加密通道,有单次上传限制。
  • SSH:读写仓库加密通道,无单次上传限制。
  • Git:只读,并且只对公开项目有效。
Coding 支持设置保护分支,被保护的分支只有指定的一些成员才可以写(更新),其他成员只有读的权限。这在开发中可以避免一些重要的分支被成员随便修改。而在默认情况下,项目内的所有成员都有对项目的所有分支的全部权限,包括读、写、删除等等。
Coding 暂不支持导入外站的私有项目,但支持导入已有的公开项目,另外受制于网络条件,Coding不能一定保证导入成功。
 

在线演示

项目演示是为程序测试和演示提供的在线项目展示平台。符合部署条件的项目,项目拥有者可以通过项目部署检测,一键部署,启动演示功能一键部署进行项目演示,并通过复制演示链接将项目与外部用户进行分享或展示。
演示平台中的服务管理可提供数据库、缓存等第三方服务,目前提供了:MySQL、PostgreSQL、Redis、MongoDB、Filesystem 五种服务,同时 Coding 香港演示平台支持绑定自定义域名。
 

 

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

svn服务器有2种运行方式:独立服务器和借助apache运行,svn存储版本数据也有2种方式:BDB(一种事物安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了。不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了。更有甚者,它甚至让人重回CVS。CVS和SVN的比较类似于比较C++和Java。很明显CVS和SVN都远比SourceSafe强大的多,如同C++和Java比Basic强大的多。CVS代表了几乎代码控制系统的所有功能项,尽管有时他的实现并不很方便。SVN修正并添加了一些CVS并不拥有的功能。例如,创建标志和分支dubious,你在编辑文件时其他人不会有任何通知。SVN并不是CVS的替代品,只是个不同的系统,类似于CVS。它有些特有的功能,足以作为采用它的理由。这些功能使他更适合于开发环境,例如对PowerBuilder。下面你可以找到两者的相对优势、劣势。
1 存储类型格式
CVS是个基于RCS文件的版本控制系统。每个CVS文件都不过是普通的文件,加上一些额外信息。这些文件会简单的重复本地文件的树结构。因此,不必担心有什么数据损失,如果必要的话可以手工修改RCS文件。
SVN是基于关系数据库的(BerkleyDB)或一系列二进制文件的(FS_FS)。一方面这解决了许多问题 (例如,并行读写共享文件)以及添加了许多新功能(例如运行时的事务特性。)。然而另一方面,数据存储由此变得不透明。
2 速度
CVS比较慢。
整体而言,由于架构实现的不同, SVN的确比CVS快很多。在网络上它只传输很少的信息并支持更多的离线模式的功能。但这也是有代价的。速度的代价就是巨大的存储(完全备份所有的工作文件)。
3 标志&分支
SVN采用标志和分支而抛弃了其他三件东西,实际上这意味着他们把这个概念替换为在档案库内部复制文件或目录以便保存日志。这样一来,无论标志创建还是分支创建都只是仓库内部的文件复制了。对分支而言:分支不过是在仓库内部的一个单独的目录而已了,不像早期还有些什么交错。对标志而言:已经不能对代码加标志了。在某种程度上说,SVN全文件编号补足了这个缺陷,SVN里整个仓库都有版本号,但不是针对单个文件。
4 元数据
CVS只允许存储文件。
SVN允许一个文件有任意多的可命名属性,功能十分完全。
5 文件类型
CVS最初是为文本文件存储而设计的。因此其他文件类型(二进制,统一码)文件的支持几乎没有,如需要的话则要有其他信息,并且客户端服务器端都要调整。
SVN会关心所有的文件类型,不需要你来手工操作。
6回滚
CVS允许任意的回滚,在任意一个已递交的版本上,尽管这要花些时间(所有的文件都要分别处理)。
SVN不允许递交后回滚。建议把版本库里好的状态版本加到末尾,覆盖掉损坏的版本。而损坏的版本无论如何也是会存在数据库里的。(SVN的滚回操作实际上是merge操作)
7事物
CVS中的“零或一”事务原则根本没有实现。如果检入几个文件的话(加到服务器上),很有可能部分文件完成了,而另几个没有。作为一个潜规则,手工纠正这些并且对余下的文件 (而不是所有文件)一一重复检入。这样这些文件将在两阶段中被检入。SVN的确支持“零或一”事务原则,这是SVN的一大优势。

 

 

 

posted on 2016-03-16 20:31  霸哥1993  阅读(327)  评论(0编辑  收藏  举报