SVN 或 Git 用于具有分层访问控制的存储库
对于仅需要访问存储库特定部分的开发人员的商业项目,您推荐哪一个?
开发IDE是Eclipse
,编程语言是C/C++
需求的关键特性是: 对存储库的权威和ACL分层访问
Which one do you recommend for a commercial project with developers that need to have access to a particular part of repository only?
Development IDE is Eclipse
and Programming language is C/C++
Key features of the requirement is: Authoritative and ACL hierarchical access to repository
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Git 与由 Gitolite 管理的“中央”服务器相结合,可以提供您需要的所有细粒度控制(每个用户/每个组,可以访问存储库的全部或仅部分部分,甚至仅某些分支)。
话虽这么说,如果您的开发人员更熟悉 SVN 之类的 CVCS,那么至少使用这些知识来启动项目(并在 apache 服务器配置中使用身份验证方法)可能会更明智:a CVCS 可能与 DVCS 完全不同。
(而且您以后仍然可以将 SVN 存储库转换为 Git 存储库)
Git, combined with a "central" server managed with Gitolite, can provide all the fine-grained control you need (per user/per group, with access to all or only some part of the repo, even to only some branches).
That being said, if your developers are more familiar with a CVCS like SVN, it might be wiser to use that knowledge at least to start the project (and uses Authentication method in your apache server configuration): a CVCS can be quite different from a DVCS.
(plus you still can later convert a SVN repo into a Git one)
Git 比 SVN 更加模块化和灵活。如果某些开发人员只需要访问存储库的一部分,您可以将其设为子模块(即由主存储库聚合的独立存储库)。授予对不同存储库的访问权限比授予对文件系统内的单个目录的访问权限要容易得多。
API 或插件与主存储库分离是一种常见的做法。有关更多信息,请查看那里。
最后一点,像 Gitolite(我在自己的项目中使用的那个)和 Gitosis(我们在工作中使用的那个)这样的软件使 git 存储库的管理变得非常容易。
Git is much more modular and flexible than SVN. If some developers only need access to a part of the repository, you can make it a submodule (i.e. a independent repository which is aggregated by your main repository). It is much easier to grant access to a different repository than to a single directory inside a filesystem.
It is a common practice for APIs or plugins to be separated from the main repository. For more information, have a look there.
Last point, software like Gitolite (the one I use for my own projects) and Gitosis (the one we use at work) make the administration of git repositories very easy.
使用 Apache 或 svnserve 作为服务器,细粒度的每目录访问控制可用。 基于路径的授权授予用户或组定义的访问权限你的存储库。如果 Web 界面也应该可用,这同样适用于 websvn。
Using Apache or svnserve as server, fine grained Per-directory access control is available. Path-Based Authorization grants users or groups defined access to your repository. The same applies to websvn, if a web interface should be available as well.
你应该使用SVN。原因:
- 对于商业项目,更多的开发人员熟悉SVN。并且SVN有强大的GUI工具。我猜你不想听到“git 很难用”的抱怨。 (我喜欢 git 和 svn)
- Git 在本地维护太多版本信息,这通常不是商业项目所想要的。
You should use SVN. Reasons:
- For a commercial project, more developers familiar with SVN. And SVN have powerful GUI tools. I guess you don't want to hear complains about "git is hard to use". (I like both git and svn)
- Git maintain too much version info locally, that's not what you want for a commercial project generally.