1

我有一个大型 SVN 存储库
,我会将一个文件夹“主题”外包给无法访问完整 svn 存储库的外部团队。
我听说 'git svn' 会是一种方法,
但我对 git 还是很陌生,不知道如何继续。
如果有人有明确的用例,我将不胜感激
谢谢

4

1 回答 1

0

这完全取决于如何设置 Subversion 的安全性。您可以在authz 数据库中指定每个特定用户的访问权限。您需要做的是限制这两个用户只能访问那个项目。

大多数公司不关心authz限制:如果您可以访问 Subversion 存储库,那么您就可以访问整个存储库。但是,如果您有外部组,则需要进行设置。

您想查看Subversion 在线手册第 6 章,了解如何设置数据库。这并不难。问题在于设置存在差异,这取决于您访问 Subversion 存储库的方式以及您使用的是 Apache还是作为通用服务器。你没有在你的帖子中提到这一点,所以我不能给你比仅仅说第 6 章更好的指导。authzhttpdsvnserve


什么是 Git?

Git 是另一个版本控制系统。Git 和 Subversion 的主要区别在于,在 Subversion 中,您只有一个中央存储库。如果要签出并进行更改,则必须从该存储库中进行。

另一方面,Git 允许任何人下载整个存储库并制作自己的本地副本。其他人可以使用该本地副本作为他们的存储库,或者克隆该存储库并拥有自己的存储库。然后,您可以在各个存储库之间传递补丁以使它们保持同步。

在 Git 中,您可以像在 Subversion 中一样使用出和提交命令来签入和签出 Git 存储库,但是您还可以使用拉取推送,这就像出和提交到创建时使用的存储库一样该存储库的本地副本。

什么是 Git-SVN?

GIt-SVN 允许使用 Git 的人将 Subversion 存储库视为 Git 主存储库。您使用 Git-SVN 将 Subversion 存储库下载到本地副本,然后使用 Git 的checkoutcommit命令进行更改。例如,这两个用户可以使用 Git-SVN 创建一个他们可以共享的本地 Git 存储库。他们将签入并将他们的东西提交到该本地 Git 存储库。更改完成后,这些用户将使用 Git-SVN将更改送回您的 Subversion 存储库。您可能只会看到他们从您的 Subversion 存储库中签出内容,然后重新签入。您不一定会看到他们的 Git 活动。

最后,他们是否使用 Git-SVN 并不重要。你唯一担心的是他们确保他们的东西能与其他人正在做的事情一起工作。

于 2012-05-22T19:52:03.927 回答