FishEye可以做些什么,我们无法从git存储库的其他工具中获得什么?

时间:2012-01-17 13:23:15

标签: java git atlassian-fisheye

我们决定使用Jira和Confluence,现在正在研究其他可能让我们的生活更轻松的Atlassian工具。

据我所知,FishEye允许对源代码存储库进行各种可视化,而CVS的本机工具则不然。但是,我们已经迁移到git,它有一个非常有用的工具生态系统。

问题是:FishEye可以告诉我们一些我们无法从本机工具中获得的有用信息吗? (或以具有竞争力的价格购买商业工具)?

6 个答案:

答案 0 :(得分:11)

我个人喜欢Fisheye,但是这是一个中等规模的开发环境和半复杂的分支/开发策略,监控回购的当前状态非常重要。

在我上一份工作中,我们的主要产品是一系列服务器端Java,白盒SaaS产品,所有的计费和系统集成都在内部处理。虽然大多数人都是Emacs /命令行黑客,但我们仍然在所有主要产品线上使用Fisheye。

警告

  • 这是与SVN,而不是git / hg,所以拿一粒盐。
  • 还有其他一些涉及Bugzilla的SVN挂钩,我对它们的工作方式并不是100%肯定

从事没有鱼眼产品的改组工程师通常不满意,原因如下:

  • 重构通常,您正在移动文件,重命名,合并相关更改等。 Fisheye按基本名称搜索将返回自删除历史记录以来已久的文件,因此即使您在回购中弄乱了历史记录,您也可以了解之前的更改。对于一个正在经历突然扩展到公司的一些非常真实的成长痛苦的代码库,这是一个巨大的帮助

  • 代码所有权/审核即使没有强大的代码所有权/审核流程,您也可以使用Fisheye选择加入特定的项目/回购更改。对于团队领导等,这是一种非常简单的方法,可以随时了解其他人在更改内容时所做的事情,以及为什么,无论您是想接收垃圾邮件还是为回购设置RSS源。如果您同时管理多个项目,这可能是一个大问题。我为我的第一个主要项目设置了RSS源,以便我可以看到它是如何变化的,但真正的好处是监控API相关项目的变化

  • 可用并非所有工程师都是命令行黑客。对于处理HTML / CSS的一些前端工程师来说尤其如此。尽管有些人倾向于在可能的情况下使用命令行工具,但执行普通文件差异和“谁还原我的更改以及何时?”处理浏览器内的差异工具比处理'svn blame'等更容易。

所有这一切,我会说,如果我从头开始做开发商店,除非我需要对整个项目进行可视化而不是一次又一次的特定文件,否则我根本不会触摸它,这可能意味着以下事情是真的:

  • 我的团队规模大约约有10多名具有潜在非技术背景的工程师,并且需要或通过临时战略进行重组
  • 分支/标记与普通版本控制一样满足特定需求
  • 由于资源限制,代码所有权和审查作为一个松散执行的想法至少获得牵引力而不是强硬的立场
  • 工程师之间的沟通是一个日益严重的问题(无论是纯粹的噪音,还是缺乏噪音)。这包括与直接文档的随意对话

我也忽略了任何分析/工具集成。部分是因为我认为如果你将Fisheye与其他任何东西进行比较,你还应该考虑维持Fisheye与另一个解决方案相比还需要多少额外的工作,而且还要因为我从未使用过一次一个Atlassian产品。

在您的情况下,我还会查看Jira / Fisheye集成部件,看看当前(或根本)在查看其他商业选项时是否需要这个功能集。

答案 1 :(得分:5)

使用FishEye获得的主要好处之一是在Crucible上层叠,便于远程代码审查。

答案 2 :(得分:4)

我们放弃了使用FishEye,因为它在我们有限的服务器上变得缓慢而笨重。在GitHub上使用JIRA和Git更加快乐。在Git中也不支持FishEye吹嘘的几个可视化功能。我是Atlassian的忠实粉丝,我认为FishEye不是Git工作中最好的工具之一。

答案 3 :(得分:4)

我非常喜欢鱼眼和吉拉之间的融合。让您的项目在jira链接到您的存储库中是很棒的。您将获得jira中的“源”选项卡。然后,当您在提交注释中提交错误/任务ID时,提交中的文件将显示在jira的源选项卡中,您只需单击以查看确实在该错误/任务的提交中发生了哪些更改。不可否认,我只是在SVN上做过,所以我不能肯定它是否适用于git,但值得研究。

另一个很酷的功能是你可以在坩埚审查中创建一个jira缺陷。我可以突出显示有问题的代码行,创建缺陷,然后创建者在尝试总结/关闭审核时,如果有与审核相关的未解决的错误,则会收到警告。

在一个100%的远程团队中工作,我发现Crucible on fisheye对代码评审非常宝贵。

答案 4 :(得分:3)

2018年更新:Stash现在被称为BitBucket server ...
2013年1月更新:现在称为 Stash (请参阅sendmoreinfocomment


原始答案2012年2月:

从FishEye2.7开始,您不仅可以访问远程仓库,还可以在FishEye服务器中创建新的Git仓库 。 请参阅“the FishEye manual page”,“Creating a Git repository”和“Enabling Repository Management in FishEye” 博客文章“FishEye in Practice: Setting up your own Git repositories”也提供了该功能,列出了该功能的目标:

  
      
  • 允许企业获取或迁移到防火墙后面的Git存储库
  •   
  • 为团队配置存储库权限变得简单
  •   

这意味着FishEye将利用访问层(如运行FishEye的Apache服务器)进行内部Git repo访问。

它还将提供基本授权机制,这意味着您无需像其他Apache + Gitolite那样设置单独的基础架构来管理内部存储库:您可以直接使用FishEye服务器。

authorisation management for Git repos from FishEye

答案 5 :(得分:0)

对我来说,有趣的是我可以快速找出与问题相关的提交。它将成为JIRA本身的一部分。

因此,如果我支持我没有直接处理的项目的错误,我可以检查修复是如何的,而不必克隆项目,然后搜索提交历史记录日志。

它还强制开发人员在其提交消息中添加问题标记。

代码审查也很好,但到目前为止我们并没有经常使用它。