5

我正在开发一个使用 Accurev 作为 VCS 的项目。由于我对它一点也不熟悉,我想知道“内部”使用 git 是否是个好主意——这意味着我将在本地使用 git,然后使用 Accurev 进行“官方”提交。

这是一个好的方法吗?

如果是,我自然希望将 git 从 Accurev 版本中排除。有一个看起来像这样的 .acignore 是否足够:

myproject/.git
myproject/.git/*
myproject/.gitignore

谢谢!

4

5 回答 5

5

选项:

1) 您可能想查看 AccuRev 的 GitCentric 界面。它将允许您在 Git 中工作并将您的内容显示在 AccuRev 中,反之亦然。这不会直接回答您的问题,而是为您提供一种使用您熟悉的工具的方法。

2) 如果您不熟悉 AccuRev,他们会免费赞助每月的最终用户培训课程。您可以报名参加在线讲师指导的培训。您最常需要的 AccuRev 命令是:保持、提升、更新和合并。同样不是直接的答案,但学习是一生的目标或奋斗,取决于您的预期。

3) 使用 .acignore 文件将 Git 文件排除在 AccuRev 之外是可行的。.acignore 文件旨在让您保持不受 AccuRev 管理的文件(标记为“(外部)”)被执行。

你说“我想知道“内部”使用 git 是否是个好主意——这意味着我将在本地使用 git,然后使用 Accurev 进行“官方”提交。” 这就是作为开发人员的快乐和自由……如果您愿意,您当然可以这样做。您需要小心,因为 Git 不是正式的记录来源,而是 AccuRev 具有该角色。如果您不通过更新命令使 AccuRev 工作区保持最新状态,您可能会发现自己不得不进行许多合并。

如果您确实使用 GitCentric,那么 AccuRev 将是您站点的官方记录来源,但您将能够使用 Git 进行所有工作。

请务必回应您的前进道路,因为我相信那里有许多好奇的开发人员可能想知道。

大卫

于 2013-12-10T18:53:09.683 回答
4

您应该能够并排使用 git 和 AccuRev。不过,您可能需要调整您的 .acignore。
从 AccuRev 帮助文件:

例子

全局指定的简单通配符模式(例如“*.doc”)匹配以下任何名称:

docs/chap01.doc
docs/manuals/chap01.doc
docs/widgetproj/src/manuals/usergd/chap01.doc

docs/.acignore 中指定的模式 manuals/*.doc 匹配以下任何名称:

文档/手册/chap01.doc
文档/手册/chap02.doc

...但不是这些名字:

docs/manuals/usergd/src/chap01.doc
docs/widgetproj/src/manuals/usergd/chap01.doc

但是,使用 ** 来指定递归,如手册/ * **/ *.doc or manuals/**/ chap .doc 将匹配docs/manuals 目录下任何目录中出现的任何 *.doc 或chap .doc。有关使用 ** 的更多信息,请参阅第 12 页的忽略模式中的通配符。

于 2013-11-06T12:27:57.170 回答
2

您可以同时使用两者,但您可能不应该这样做。他们使用完全不同的底层模型——(灵活与静态分支(Git vs Clearcase/Accurev))和(什么是对Accurev如何工作的单句解释?)。

我已经尝试过了(顺便说一句,我几乎与所有主要的 SCM 合作过。Accurev 和 Clearcase 是最差的,Git 和 SVN 是最好的),并且在大型项目中,处理双重提交很快变得更加令人头疼/merge/overlap 比它只与 Accurev 一起工作。这是因为 Accurev 对子流/工作区进行“静默”更新。这意味着对于大型团队或经常更新的 Accurev 流,您通常必须在 Git 中处理每次提交的差异。尽管这听起来像是一件好事,但必须每天至少为多个文件执行一次此操作,其中一些需要合并只是不好玩(或富有成效)。

所以,好吧,你在想,这个插件怎么样?好吧,坦率地说,它的实现非常糟糕,而且在已经有些笨拙的 Accurev UI 之上,它只是良好工作实践和简化 SCM 流程的另一个障碍。

对于最初提出这个问题的人来说,这肯定为时已晚,但对于其他遇到这个问题的人来说,我的建议是(我知道 Accurev 所谓的最佳功能,父母自动更新孩子,实际上是最糟糕和最根本错误),只是把它放在下巴上并接受与Accurev合作的痛苦,直到你可以转向像Git这样更明智的东西。

于 2014-08-07T10:07:48.860 回答
2

AccuRev 和 Git 也可以使用 GitCentric 产品进行集成。如果您已经拥有 AccuRev 许可证,则 GitCentric 需要支付少量额外的许可证费用。您可以在以下网址找到更多信息:

http://www.accurev.com/products/gitcentric

于 2013-12-10T18:07:08.460 回答
1

我没有亲自使用过它,但legit-the-git是一个 Ruby 项目,用于将您的本地 git 与 Accurev 系统同步。

于 2015-07-01T15:21:26.903 回答