svn:外部和权限

时间:2009-03-25 14:58:47

标签: svn permissions externals

我正在运行一个带有可选组件的svn项目 - 从几个外部存储库中提取,以及对这些外部组件具有不同访问权限的许多用户。

'svn update'命令在第一个无法检索的项目中止。

svn:externals是否有更好或标准的方法可以让所有用户成功结帐?

编辑:我没有外部项目的所有权/控制权来授予访问权限,公司政策不允许镜像外部。由于外部支持可选组件,因此权限较少的用户显然不会维护可选组件。但是,他们仍然需要检查其他外部,并且“svn up”非常依赖于顺序。

我意识到修复权限并拆分到子存储库会使这成为一个非问题,但我仍然有兴趣知道是否有任何中间立场。

3 个答案:

答案 0 :(得分:3)

如果用户有权访问某个项目,但您不想进行该项目的外部设计,您到底想要发生什么?如果两者强烈相关,那么用户应该可以访问这两者。如果两者没有强烈关联,那么为什么它们会被添加为外部呢?

您或许可以让每个用户只读访问所有外部,并且只对需要的人进行写访问。

答案 1 :(得分:2)

如果这是一个非常大的问题,您可以重新构建工作区,以便您拥有一个顶层,其中只包含对项目各部分的外部引用。然后让不同的人使用不同的顶级来获得他们需要的外部。

需要很多管理和思想。

类似的东西:

/Projects
 /Project1
  /trunk
 /Project2External
  /tag1
/Workspaces
 /Project1
  /DevA - svn:external Project1/trunk Project2/tag1
  /DevB - svn:external Project1/trunk

但是你必须愿意以这种方式重组项目,并考虑在外部全局变化时该怎么做。 但是,通过这种方式,你仍然会在project1的主干上工作,所以没有额外的摆弄。

答案 2 :(得分:0)

我知道这是一个旧线程,但我从github的外部有一个问题,来自svn存储库的用户名和密码不同。 我不想失去解决方案,所以对后人来说,我走了:))

更新本地svn结帐:

svn switch --username <username> --password <password> http://svn.server/svn/exampleProject --ignore-externals

这不会更新外部!

现在使用不同的用户名和密码更新外部:

svn up <path_to_external> --username <external_username> --password <external_password>