svn 外部...是或否?

2024-04-21

我在这里读到了一些谴责使用 svn:externals 的答案。我确实看到它们如何被滥用,这确实使我们更加依赖 Subversion,但我真的不认为我们的团队会很快放弃它。

无论如何,这就是我的困境。我们的解决方案引用了多个项目,这些项目位于存储库自己的部分中。其中许多项目在多个解决方案之间共享,我们也不希望排除我们的项目的共享。我们还将几个固定版本依赖项签入我们的存储库(单元测试框架、库等)。

我想配置几个仅使用外部的“工作区”(就 Subversion 而言,它们只是空目录,或者可能包含单个解决方案文件)来为我们的开发人员配置解决方案。单独检查大多数项目不足以构建它们,但检查其工作区将足以构建它,因为它的所有依赖项都会随之而来。有其他人实现了类似的解决方案吗? svn:externals 是解决这个问题的好方法吗?如果我们走这条路,你对我有什么警告的话?

基本上结构如下所示(为简洁起见,省略了主干/分支/标签):

/projects
   /project1
   /project2
/dependencies
   /xUnit
      /1.5
      /1.4
   /NHibernate
      /2.1.0
      /2.0.1
/workspaces
   /project1
      /project1 (external to ^/projects/project1)
      /xUnit (external to ^/dependencies/xUnit/1.5)
      /NHibernate (external to ^/dependencies/NHibernate/2.0.1)
   /project2
      /project2 (external to ^/projects/project2)
      /xUnit (external to ^/dependencies/xUnit/1.4)
      /NHibernate (external to ^/dependencies/NHibernate/2.1.0)

SVN 外部是邪恶的;使用活塞或编织带 http://cobaltedge.com/svn-externals-are-evil-use-piston-or-braid看来是典型的反外阵营。海报确实有道理。

我认为更好的标准是:

  • 对可以更改的内部项目使用外部参考;和
  • Use 供应商分支机构 http://svnbook.red-bean.com/en/1.1/ch07s05.html对于外部存储库,您无法控制。

因此,svn 外部的问题似乎来自于人们使用它们作为供应商分支的替代品。我见过几个人在第三方 Rails 插件的背景下抱怨它们。

因此,就您而言,假设这些项目都是“内部”的,那么我认为 svn external 是一种完全有效的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

svn 外部...是或否? 的相关文章

  • 带有 LDAP 身份验证的 SVN 不起作用

    我首先从我的设置开始 为此我们有 2 台服务器 Server1 将用于所有源代码 文件等 在 Server2 上 我们拥有所有用户信息和登录信息 两台服务器都运行在 Centos 6 4 上 现在我们要在 server1 上设置一个 SVN
  • TFS 2017 - 如何构建/交付仅更改的文件?

    我正在使用 TFS 2017 关于标题 我找到了一个术语 增量构建 但是 我找不到在哪里设置它 我尝试在 构建参数 p IncrementalBuild true 中添加增量参数 但总是收到错误 表明这是错误的参数 是否可以仅交付 或构建并
  • 如何提取 Mercurial 中变更集的所有已更改文件?

    直到最近 我们一直在网络工作室的所有项目中使用 SVN 并且 Subversive 和 TortoiseSVN 等多个客户端中存在一个非常方便的功能 可以提取在某个版本中更改的所有文件 Mercurial 有没有办法做到这一点 我不在乎它是
  • SVN 外部未在 TortoiseSVN 的存储库浏览器中正确显示并在本地标记为非版本化

    I work on a work project that s scattered across a myriad of source projects and SVN locations To make life easier I fol
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • 使用 Maven 外部化 SCM 凭证

    有没有一种方法可以外部化我的 SCM 凭据 以便它们不会存储在项目的 POM 中 问题是 如果它们包含在项目的 POM 中 那么在部署项目时它们将对所有人可见 对于某些 SCM 提供商 您可以在
  • 没有分支的 svn 存储库签出

    我必须检查一个有 8 个分支的存储库 我不会下载每个分支大小 400MB 只需检查文件夹结构和主干即可 repo trunk repo tags
  • PowerShell 中的 SVN 输出编码

    我正在尝试在 PowerShell 脚本内的字符串中捕获 SVN 日志 在命令行上 输出的编码是正确的 但是当我将其捕获到字符串中时 它就不是正确的 PS C sandbox gt svn log r1804 https myserver
  • 如何仅隐藏一些未提交的更改?

    我正在对 Git 存储库进行重大更改 并意识到某些更改需要向后移植到错误修复分支 我不想签入我的所有更改master因为它们还没有经过充分的测试和准备 但我确实想提取其中一些更改并将它们提交到错误修复分支 然后按原样返回到 master 我
  • Git 合并删除文件

    这是第二次发生这种情况 当我进行合并时 我后来意识到正在合并的分支中的一些文件不再位于正在合并的分支中 最新的例子是我们有一个功能分支 我一直在合并主开发分支中的更改 合并后我们丢失了很多文件 并且它们现在不存在于功能分支中 为什么会出现这
  • 在 Xcode 9 上切换分支

    我无法找到使用 Xcode 9 切换分支的菜单项 工作副本菜单似乎已经消失 有任何想法吗 Xcode 9 Xcode 8 Press 2 to open the new Source Control Navigator 右键单击master
  • svn:'REPO URL 的选项:授权失败:

    我使用两个命令 1 svn ls 带有用户名和密码 2 svn mkdir 带有用户名和密码 svn ls 工作没有任何问题 但 svn mkdir 失败并显示以下错误消息 svn REPO URL 的选项 授权失败 无法向服务器进行身份验
  • 如何将 git-svn 与 svn+ssh url 一起使用

    我喜欢在cygwin中使用git svn clone使用我们公司 svn 存储库的命令 这个的网址是svn ssh svn
  • 相当于 svnblame/gitblame 的clearcase?

    在 Rational Software 的 Clearcase 中 有一个cleartool子命令或其他命令行工具 相当于blameSVN 中的命令还是 git 中的命令 最接近的一个是cleartool annotate https ww
  • 找不到 cygwin setup.exe 文件?

    我正在尝试将 subversion 数据包添加到 cygwin 为此我需要运行 setup exe 但我在 cygwin 文件夹中找不到它 它会位于哪里 它不是incygwin 文件夹 它位于您上次安装时放置的位置 很可能是垃圾箱或临时目录
  • IIS7 和 ARR 作为 Subversion 的反向代理

    我使用 IIS7 和应用程序请求路由扩展来充当 Apache 上运行的 Subversion 的反向代理 代理工作正常 我能够探索服务器 甚至执行 签出 但是 我无法浏览 ASP NET 通常禁止的文件 例如 cs csproj 等 ASP
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • 通过 SVN 从 Jenkins 更新工作区时出现间歇性“SVNException:svn:E175002:连接重置”

    我有 Jenkins 2 138 3 在虚拟机上运行 在同一网络上的另一台 PC 上 我有一个 Visual SVN 服务器 3 9 2 结帐间歇性地 可能是 25 的时间 失败 并出现以下错误 ERROR Failed to check
  • 无法连接到 Wordpress SVN 服务器来更新存储库

    好的 今天早上由于某种原因 我无法连接到 Wordpress SVN 存储库并执行基本的 svn 命令 例如checkout update 以下是正在发生的情况的示例 svn co http svn automattic com wordp
  • 基于网络的颠覆查看器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 用于笔记本电脑的加速计 API [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 大多数 IBM 和一些 Dell 笔记本电脑都有内置加速计 可以在突然跌落时停止任何移动部件 但我无法
  • 使用 SwiftUI 同时放大手势和拖动手势

    Apple 地图应用程序允许同时用两根手指拖动和放大 我尝试使用 SwiftUI 实现此功能gestures https developer apple com documentation swiftui gestures 同时旋转和放大可
  • jquery可调整大小附加图像大小问题

    我有下面的简单代码 当单击按钮时 它将图像附加到 container 问题是当我第一次单击按钮时 图像尺寸未正确附加 但是 当再次单击按钮时 我们会获得具有正确图像大小的附加图像 如果我们从等式中删除 resizing 这种情况就不会发生
  • 如何将 pandas 数据框显示到现有的 Flask html 表中?

    这听起来可能是一个菜鸟问题 但我一直坚持这个问题 因为 Python 不是我最好的语言之一 我有一个 html 页面 里面有一个表格 我想在其中显示一个 pandas 数据框 最好的方法是什么 使用 pandas dataframe to
  • 如何使用 javascript 将 svg use 元素插入 svg 组?

    我有一个 svg 文件 其中包含一个具有单行元素的组 我可以利用use元素并在我想要的任何位置制作多个参考副本 但是 我想使用 javascript 来添加和删除use动态元素 有没有办法使用javascript插入svguse我的行元素进
  • jquery悬停图像淡入淡出交换

    我已经在网上搜索了一段时间 试图找到编写 jquery 脚本的最佳方法来完成这个简单的任务 用优雅的淡入淡出效果交换悬停时的图像 我找到了很多解决方案 有些方法很麻烦和笨重 并将其缩小到我认为最好的两个 http designwoop co
  • 属性绑定与属性插值

    我读过一篇关于属性和属性绑定之间差异的文章 据我了解 大多数时候 Angular2 更喜欢属性绑定 因为每次数据更改后 DOM 都会更新 如果我错了 请纠正我 我有一个自定义组件并从父组件中使用它 其中 我有一个 Input named t
  • 在构建 Docker 镜像之前如何对 GitLab 的容器注册表进行身份验证?

    我有一个私有的 GitLab 项目 其中包含用于构建和推送 Docker 映像的管道 因此我必须首先向 GitLab 的 Docker 注册表进行身份验证 Research I read 使用 GitLab CI CD 对容器注册表进行身份
  • 尝试从 Visual Studio 发布 azure 函数时出错

    当我尝试使用 Visual Studio 发布函数时收到以下错误消息 知道如何解决此问题吗 System AggregateException 发生一个或多个错误 gt System Exception 发布遇到错误 我们无法 确定错误原因
  • R:ggplot2 条形图和误差条

    自从新版本的 ggplot2 0 9 3 开始 我在绘制带有误差条的条形图时遇到了问题 所以我有一个像这样的数据框 group N val sd se ci 1 206 3 37 2269533 7 9688645 4 6008261 19
  • 带有 HTML5 音频标签的自定义一键播放器

  • 如何让 Typescript 抛出运行时错误?

    import Component from angular core Component selector app root templateUrl app component html styleUrls app component cs
  • SQL 更新查询 - 聚合可能不会出现在 UPDATE 语句的集合列表中

    我正在尝试编写一个查询 用 HOLIDAY DATE TABLE 中最高的主键值 HID 更新 tbl8 update transactions HID 字段 其中为空 我收到以下错误 聚合可能不会出现在 UPDATE 语句的集合列表中 我
  • MySQL 字符串替换

    我有一列包含 url id url http www example com articles updates 43 http www example com articles updates 866 http www example co
  • 通过样式更改 Android 对话框按钮文本大小

    我正在尝试通过样式放大所有应用程序对话框按钮上的文本大小 以下代码将更改按钮背景颜色 甚至更改文本大小写 但由于某种原因 textSize 项目不受支持
  • 使用soapUI中的Groovy teststep将请求/响应文件存储在本地目录中

    通过soapUI中的常规测试步骤 我希望所有请求和响应文件都存储在具有系统日期的本地目录中 SoapUI 中的常规测试步骤 def name context expand Input TG def locatie context expan
  • jQuery - 从 JSON Stringify 获取值

    我有一个表格 我需要从中获取值 var formConfig JSON stringify bookingform serializeArray 返回如下 name client id value 1 name consignee id v
  • 如何以编程方式访问 Silverlight FrameworkElement 的 ToolTipService?

    我们有一种语言机制 可以在加载 XAML 页面时递归遍历它们 检查每个元素的 Tag 属性 并使用其值来检索要应用于该元素的字符串资源 它目前不支持工具提示 我们必须在每个页面上都有特定的代码才能将语言资源应用于它们 我正在尝试将此功能添加
  • 没有公钥,GitLab 无法克隆公共存储库

    使用亚搏体育appGitLab 6 8 2 我可以以匿名方式克隆公共存储库吗 我的用户命名空间中的存储库标记为public 如果没有在 GitLab 中保存公钥 我就无法克隆它 例如 gt ssh T email protected cdn
  • svn 外部...是或否?

    我在这里读到了一些谴责使用 svn externals 的答案 我确实看到它们如何被滥用 这确实使我们更加依赖 Subversion 但我真的不认为我们的团队会很快放弃它 无论如何 这就是我的困境 我们的解决方案引用了多个项目 这些项目位于