天道酬勤,学无止境

svn

活动分支数量的最佳范围是多少? [关闭](What is the optimal range for number of live branches? [closed])

问题 就目前而言,这个问题不适合我们的问答形式。 我们希望答案得到事实、参考或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。 如果您觉得这个问题可以改进并可能重新打开,请访问帮助中心以获得指导。 8 年前关闭。 假设一个项目是: 1产品建于Y年包含M模块用L [1..3] 语言编写由D开发人员共同开发 项目在什么时候包含过多或过少的活动分支? 我知道这是一个很难的问题,用数字来回答更难,但是我正在寻找量化的答案,如果可能的话,请制定一个公式。 背景 如果分支太少,代码永远不会准备好,开发人员不会进行大的更改,因为可能无法满足下一个截止日期。 同样,产品经理永远不会有足够的信心来命名某个版本。 功能冻结经常被建立,新想法被延迟,开发速度减慢。 如果分支太多,开发人员不确定他们的更改应该去哪里,应该传播到哪里,哪个分支将合并到哪个主干。 合并重构代码非常困难,质量下降。 此外,每个开发人员都必须在多个设置中测试他们的更改,浪费了大量精力,开发速度变慢。 活动分支数量的最佳范围是多少? 回答1 确定 RCS(svn 或 git)包含太多分支的经验法则是什么? rule of 3怎么样: 一个稳定代码分支——主干; 一个不稳定的分支——即将发布的开发; 还有一个用于维护 - 先前版本的错误修复; 许多 git 托管的项目只使用两个分支

2021-12-09 09:32:23    分类:技术分享    git   svn   branch   rcs

在现有工作区上使用新 Eclipse 时如何重新附加子剪辑(Howto re-attach subclipse when using a new Eclipse on an existing workspace)

问题 我在工作区中有一些项目是使用 Subclipse 从 SVN 导入的。 现在我用新版本的 Eclipse(带有 Subclipse)打开这个工作区,“团队”上下文菜单只包含“应用补丁”。 有没有办法让 subclipse 处理这些项目,而无需将它们从工作区中删除,然后从 SVN 进行新的导入? 回答1 也许您在卸载之前的 SVN Team Provider 之前没有断开您的项目。 因此所有项目仍然连接到已删除的旧版本插件。 在这种情况下,Team Services 不会显示“共享项目”菜单项。 重新连接这些项目的唯一方法是将它们从工作区中删除(不删除内容),然后将这些项目重新导入工作区:纯 eclipse 操作:不需要重新导入 SVN。 另请参阅此线程。 回答2 如果您在切换插件或 Eclipse 版本之前忘记“断开”项目,您可以通过从工作区中删除一些索引文件来清理它。 假设您使用的是“基于 nix 的操作系统关闭 Eclipse,那么: cd $WORKSPACE find .metadata/.plugins/org.eclipse.core.resources/.projects -name 'properties.index' -delete 重新启动 Eclipse,您应该可以再次执行 Share Project。 如果您尝试从 Subversive 切换到

2021-12-09 09:16:56    分类:技术分享    eclipse   svn   subclipse

Subversion 已停止使用雪豹安装(Subversion has stopped working with snow leopard install)

问题 随着安装雪豹进入 subversion 已停止工作,有人知道我该如何解决吗? 当我点击我的存储库时,我得到 list svn+ssh//yoda@192.168.0.6/library/subversion/respository/apps 错误 210002(网络连接意外关闭描述:(空) 任何帮助将不胜感激。 回答1 您似乎是通过 SSH 连接的。 首先尝试手动 ssh 进入远程服务器。 ssh -vvv yoday@192.168.0.6 由于它是本地地址,我假设它是另一台 mac 计算机,并且也已升级到雪豹,更改了 SSH 的机器指纹,并且为了您的安全(中间人攻击)关闭了链接。 尝试删除~/.ssh/known_hosts并查看它是否解决了问题。

2021-12-09 08:36:15    分类:技术分享    svn   osx-snow-leopard

如何从 SVN 中删除现有的更改列表(how do I remove an existing changelist from SVN)

问题 我通过执行创建了一个更改列表... $ svn changelist my_changes ...向其中添加文件,然后提交更改列表... $ svn ci --changelist my_changes --keep-changelists ...所以现在,我已经“保留”了我的更改列表,并且每次查看状态时都会显示它。 $ svn status ... modified/added/deleted files listed here... --- Changelist 'my_changes': ... files that are a part of this changelist listed here... 我出于某种原因“保留”了更改列表,但我不再需要它,所以我准备将其删除。 如何从 SVN 中删除此更改列表? 我知道如何从更改列表中删除文件,但不知道更改列表本身。 回答1 从更改列表中删除所有关联的文件,它就会消失。 官方方式 见 https://stackoverflow.com/a/15992735/253468 svn changelist --remove --recursive --cl my_changes . 手动方式 即svn changelist --remove file.name D:\Programming>mkdir test D

2021-12-09 03:50:43    分类:技术分享    svn   changelist

将 VisualSVN 服务器附加到现有存储库(Attaching VisualSVN Server to an existing repository)

问题 最近所有 VisualSVN 服务器帖子都让我想看看。 我现在通过 Apache 运行 SVN,但我想尝试 VisualSVN Server,主要用于 Active Directory 集成。 他们的文档没有描述您是否可以轻松迁移现有存储库。 以前有人做过这个吗? 回答1 VisualSVN 服务器管理器控制台上有一个选项可以导入现有的存储库。 您只需为其提供现有存储库位置和导入存储库的名称。 很简单。 回答2 VisualSVN Server 将毫无问题地使用您现有的 SVN 存储库。 我已经多次成功地将存储库从 SVN + Apache 迁移到 VisualSVN Server。 回答3 SVN 服务器并没有真正“附加”到存储库,它只需要能够查看其文件。 存储库本身不知道或不关心它是否通过 svnserve、Apache mod_svn 或直接 file:// URLs 访问 回答4 有一篇关于该案例的 VisualSVN 服务器知识库文章: 如何将现有存储库导入新安装的 VisualSVN 服务器?

2021-12-09 03:33:54    分类:技术分享    svn   version-control   visualsvn-server   svn-repository

TortoiseSVN 通过代理脚本(TortoiseSVN through a proxy script)

问题 我正在尝试使用 TortoiseSVN 从公司防火墙内部连接到远程 HTTPS SVN 服务器。 我需要为此连接使用代理。 我的问题是 TortoiseSVN 的代理设置只包括设置直接代理服务器地址的选项。 但是,我连接的代理是通过脚本配置的。 例如,在 Firefox 中,我使用网络设置中的“自动代理配置 URL”选项。 有没有办法在 Tortoise 中使用代理配置脚本? 我在配置 UI 中找不到一个 - 有没有办法通过编辑配置文件来配置它? 回答1 可能有一种更简洁的方法来执行此操作,但您可以简单地从 Firefox 设置中获取自动配置文件的 URL 并打开它:.pac 文件是具有相当简单语法的原始文本。 从该文件中提取公司代理的 ip/端口和其他配置信息应该相对简单(如果有多个,请查找适用于您的 IP 范围的那个)。 显然,这在某种意义上不是很漂亮,如果代理配置更改,您将不得不再次执行此操作,而不是从自动设置中受益。 在实践中,这个简单的技巧对我来说对从 Putty 到 TortoiseSVN 的所有东西都非常有用! 回答2 AFAIK TortoiseSVN 和 Subversion 通常缺乏对代理配置脚本(又名 *.pac 文件)的直接支持。 如已接受的答案中所述,您可以下载代理配置脚本,从配置中提取匹配规则并将其设置为代理,但这种解决方法有两个缺点:

2021-12-08 23:48:40    分类:技术分享    svn   proxy   tortoisesvn

与 git 相比,subversion 的优势是什么?(what is the advantage of subversion when compared with git?)

问题 众所周知,现在git非常流行,因为它拥有本地计算机上的所有历史记录,并且可以在没有网络的情况下检索历史记录,因此效率很高。 也许对于外网用户来说,网络问题不是那么重要,但是git还有其他一些优点,比如轻量级分支(我仍然不确定它和svn的分支有什么区别,为什么git的分支是轻量级的)? 我也知道很多人仍在使用 subversion,为什么? 如果 git 这么好,他们可能会改用 git :) 那么,这里有人能告诉我颠覆的一些优点吗? 还有一个问题: is there anything which can be done by svn, but cannot be done with git? 回答1 我建议您阅读文章“我讨厌 Git 的 10 件事”和 StackOverflow 线程 SVN 与 Git。 我还建议阅读有关 Subversion 和 Git 的文档。 虽然其他人已经提到了简单(简单是 Apache Subversion 的商标;)顺便说一句)和清晰的工作流程是 Subversion 的主要优势,但我想添加一些其他重要的 Apache Subversion优点: 更好的 IDE 集成和 GUI。 您可以在大多数 IDE 中看到内置的 SVN 客户端(或作为插件实现)。 其中一些提供了与 IDE 的非常舒适和直观的版本控制集成。 另一方面,除了众所周知的

2021-12-08 23:36:56    分类:技术分享    git   svn   version-control

当 SVN 不可用时 CruiseControl.NET 构建失败(CruiseControl.NET build fails when SVN is not available)

问题 我们有一个外部托管的 SVN 存储库,我们的构建服务器目前在内部。 偶尔(可能每天 1 或 2 次)由于网络中断、超时或其他一些随机原因,构建服务器无法找到 SVN 存储库。 对于外部托管的存储库,这很难避免,但是当它无法找到 SVN 存储库时,它会导致构建失败! 我想找到一种方法,让它在下一个时间间隔再试一次,并忽略与未找到的存储库相关的任何错误。 有谁知道我怎么能做到这一点? 我已经在下面发布了我的配置以供参考。 <project name="MyProject" queuePriority="0"> <workingDirectory>C:\RemovedForPost</workingDirectory> <artifactDirectory>C:\RemovedForPost </artifactDirectory> <sourcecontrol type="svn"> <trunkUrl>http://RemovedForPost \</trunkUrl> <workingDirectory>source</workingDirectory> <username>myuser</username> <password>*****</password> </sourcecontrol> <triggers> <intervalTrigger name=

2021-12-08 21:15:24    分类:技术分享    svn   cruisecontrol.net

Subversion:如何合并特定提交(Subversion: How to merge a specific commit)

问题 我在我的分支上有一些提交。 我想将分支合并到主干,但是有一些提交我没有合并到我的分支上的主干。 我该怎么办? 回答1 您想要完成的工作通常在版本控制系统中称为挑选。 假设您要将修订版 345、364 和 377 从您的分支合并到主干,您将在trunk的干净工作副本的顶级目录中执行以下操作: svn merge -c345,364,377 ^/_your_branch_ 在 Windows cmd在分支名称周围添加引号: svn merge -c345,364,377 "^/_your_branch_" 您可以在 SVN 手册的相应部分中找到更多信息。 回答2 只是为了扩展 Yannick 的回答。 当您可以将一个/几个特定提交从一个分支合并到您需要的另一个分支时(例如,需要将分支 ' from ' 的提交 r13 和 r666 合并到分支 ' to ' 中): 检查提交可用性(只是为了确保): svn diff -c 13,666 https://fullpathtoyourproject/branches/_from_ 在分支上切换到: svn sw https://fullpathtoyourproject/branches/_to_ 合并提交svn merge -c 13,666 https://fullpathtoyourproject/branches/_from_

2021-12-08 21:13:07    分类:技术分享    svn   merge

Eclipse 正在尝试在我的 .svn 目录中构建文件......我怎么能告诉它停止?(Eclipse is trying to build the files in my .svn directories... how can I tell it to stop?)

问题 我将我的 Android 项目存储在 Subversion 存储库中。 在最近整理了一堆东西之后,我开始收到大量错误,例如: syntax error entries /project_name/src/.svn line 1 Android AIDL Problem syntax error don't know what to do with "" entries /project_name/src/.svn line 28 Android AIDL Problem 等等。 Eclipse 现在似乎正在尝试在 .svn 目录中构建文件。 这个设置过去工作正常,我该如何解决这个问题? 回答1 虽然可以通过安装Subversive等插件来解决这个问题,前面已经提到过,但是不用插件也可以解决这个问题。 您可以告诉 eclipse 忽略存储在构建路径中的.svn目录中的文件。 为此,通过右键单击项目打开项目属性,然后选择左侧的Java Build Path选项。 查找“ Source选项卡。 在那里你会看到你所有的源文件夹(如果你没有改变任何东西,这将是 Android SDK 1.5r3 的gen和src )。 双击树中的Excluded项并为每个目录添加两个排除模式: .svn/** **/.svn/** 您应该设置项目目录的svn

2021-12-08 20:59:01    分类:技术分享    java   android   eclipse   svn