问题标签 [svn-externals]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2008 - How can I use SCM on linked files in VS2008 projects?
Background:
I'm using Visual-SVN V. 1.7.5 with VS2008. I'm fairly new to SVN.
I have a Solution that uses source files that will be shared with other Solutions.
I've put these files in a folder called "Shared", and added them to my Solution using
"Add -> Existing Item... -> Add As Link"
which works fine as far as VS2008 is concerned.
But when I try to add the linked files to SVN using the "Add to Suversion" menu item on the file's context menu, I get a warning:
"...not added to Subversion because it is out of working copy. Please setup working copy root using Visual SVN -> Set Working Copy Root menu".
I tried this, but this seems to change the root directory of the whole solution - not what I want to do.
Googling and searching SO indicates that I may want to set up some SVN Externals. I tried to follow the examples, using the command line for the first time with Visual-SVN. But I just got a bunch of error messages I didn't understand.
Questions:
Are Externals the way to go here?
If so, can someone provide some detailed, step-by-step help on how to do this with Visual-SVN?
svn - 在 SVN 中使用外部重新集成分支失败
我在做什么:
将外部属性应用到主干中的文件夹(单个文件和文件夹外部,外部都是二进制文件)
从主干创建一个分支并更新整个项目
修改分支上的文件并提交更改,然后更新整个项目。
当我到达最后一个屏幕时,合并->“重新集成分支”我单击“测试合并”并收到此错误:
错误:无法重新集成到混合修订工作副本中;先尝试更新
我更新了整个项目,仍然是同样的错误。
其他观察:
- 如果我“合并一系列修订”一切正常。
- 如果我删除外部组件,则使用“合并一系列修订”或“重新集成分支”一切正常。
我该如何解决这个问题?
我正在使用带有TortoiseSVN 1.6.6 的 Subversion 1.6.6。
svn - 相互依赖模块的版本控制
如何在版本控制下跟踪和管理软件模块的依赖关系?
我正在构建几个网站,每个网站都使用特定的 Apache 配置、特定的 Django 代码、共享的 Python 库和一些共享的 Javascript。对于每个站点,这些部分是相互依赖的——如果服务器代码发生变化,Javascript 可能会随之变化,反之亦然。
我可以将整个事情放在一个项目下,但这似乎很笨拙。但是如果我将它们放在单独的项目下,那么我必须按版本跟踪元素的依赖关系。“DjangoStuff v.14 适用于 JavascriptStuff v.20,但不适用于 v.21。JavaScriptStuff v.21 适用于 DjangoStuff v.15。”
这里最好的方法是什么?我正在使用颠覆。(我听说它不再酷了,但它满足了我的需求,我现在更愿意坚持下去。)
svn - svn:externals & tagging,如何在团队之间组合代码
在我们公司,我们正在开发一种由不同 C/C++ 模块组成的产品。理想情况下,每个层和模块应该由不同的团队分别开发并独立测试。目前,我们将每个模块分成了自己的分支:\
这些模块是:
另外,产品版本是通过组合模块构建的,并使用 CI 系统定期编译。
我们遇到的主要问题是“svn tag”与外部关联的行为。当前的 externs 正在引用 HEAD——因为我们希望定期构建最新版本以确保所有模块一起工作。但是,一旦构建成功并且我们继续发布,如果有一种简单的方法可以自动标记所有内容——包括外部使用的版本,那就太好了。就目前而言,我们必须为模块创建标签,然后将外部更新到这些标签,然后对产品进行标签,最后将其交换回主干。
有没有更清洁的方法来做到这一点?也可以随意评论当前的结构。
svn - 如何让 TortoiseSVN 总是冻结 svn:externals 的标签
使用 tortoiseSVN 可以吗?:
总是冻结svn:externals
标签
场景是我们的主干将始终对外部使用“HEAD”修订,但是当我们创建“标签”时,我们希望它们为外部设置一个修订集,以便在特定时间点正确“冻结”它们。
更新
感谢大家的反馈/信息。
由于我找不到任何可以完全满足我们需求的东西(尝试过smartsvn
)svncopy.pl
,所以我制作了一个控制台应用程序,到目前为止它已经通过了我们所有的测试用例。
高级概述:该应用程序获取存储库 URL,然后查找所有外部并为它们添加最后一次提交修订 - 我执行svn info
并获取“提交修订”。
该应用程序适用于文件夹和单个文件外部。
这是源代码和完整的设置文件: http ://svnxf.codeplex.com/
scripting - 创建客户端钩子脚本以防止用户在 TortoiseSVN 中提交到外部
我的树干有结构:
with \tool
在另一个地方的外部,而不是在我的trunk
. 所以我不希望用户\tool
在 SVN 中提交。他们只能承诺\data
or \src
。
谁能帮我创建一个钩子脚本来防止用户提交到外部(在这种情况下是\tool
文件夹)?
wordpress - 如何让 SVN 忽略外部定义中的目录
我正在使用 subversion 来托管我自己的 WordPress 安装存储库。我已经设置好所有核心 WordPress 文件都在它们自己的目录(称为 wordpress)中,并设置为使用 svn:externals 链接到 WordPress 存储库。然后我有自己的 wp-content 目录副本(位于 wordpress 目录之外),它不使用 svn:externals。这一切都很好。
当我更新我的存储库时,WordPress 核心也会更新。由于 WordPress 存储库包含它自己的 wp-content 目录,因此它也会更新该目录。所以我的文件结构最终看起来像这样:
我最终有两个不同版本的 wp-content 文件夹(一个来自我的仓库,一个来自 WordPress 仓库)。我不想要来自 WordPress 存储库的那个(或者至少不在那个位置)。有没有办法让我设置 svn 在仍然使用外部定义的同时忽略 wordpress/wp-content 目录?
git - 配置(或模仿)svn:externals 以在 svn 托管项目中包含来自 Github 的代码
我们在本地使用 Subversion,我们正在开发一个使用 Fluent NHibernate 的分支的项目,该分支托管在 Github 上。
我希望它设置为单个 svn checkout 将检索构建项目所需的所有内容,但保持从 github 获取 HEAD 更新的能力。
有什么方法可以从 Git 存储库中提取代码,就好像它是 svn:external 依赖项一样?我可以将 .git 文件夹检查到我们的 Subversion 存储库中,并在需要时运行 git fetch,然后 svn 提交结果吗?
mercurial - Mercurial 1.4.x 中的 subprepos 功能是否已准备好用于生产?
我想为我的工作项目评估 Mercurial。但是我的大多数项目都非常依赖于 svn:externals 的支持。我搜索了 StackOverflow 并在 Mercurial 中搜索了相应的支持。我发现的只是 Mercurial 1.3 中添加的 subrepo 功能,但该功能的页面说:
subrepos 是 Mercurial 1.3 的实验性功能。所以不要在关键任务存储库上这样做!
我不想使用不稳定的东西。
任何人都可以了解此功能的真实状态,抛光/完成它的计划以及何时将其称为“稳定”并为关键任务存储库做好准备?
svn - 在 externals 属性中更改 svn 存储库 url
我正在将我的存储库移动到一个新位置,但我在外部属性中有硬编码(相同)存储库 URL 的文件夹。例如:
旧网址:https://OldLocation.Domain/svn/
新网址:https://NewLocation.Domain/svn/
如何将旧的存储库 URL 更改为新的?简单地编辑属性是行不通的。