问题标签 [svnsync]

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.

0 投票
4 回答
5610 浏览

svn - svndumpfilter 的问题不排除路径

我从 svndumpfilter 得到了奇怪的结果——我需要在我们的仓库中删除 2 个特定文件的 24 个实例,这些文件分散在许多分支中。我正在运行记录的命令,如下所示:

例如

但是,过滤后的转储文件似乎没有按预期删除所有节点,而只是删除了 2 个。我已经通过在两个转储文件上使用 svndumptool diff 确认了这一点,并且在重建 repo 后,排除的文件仍然存在。

我确信我没有错过这些文件的任何实例,因为我使用 svnlook 树来定位 repo 中的所有路径。我还确认命令和转储文件中的前导斜杠是一致的。

有人有想法么?

0 投票
0 回答
342 浏览

svn - 在没有新修订的情况下修复 svnsync 副本中的 svn:externals 属性?

如果我对 ( 'd) 存储库svn:externals的本地副本拥有管理员权限,如何修复现有修订版的属性?svnsync

让我用一个脚本来演示这个想法,该脚本将被命名为类似fixup.sh并放置在本地存储库根路径中(包含conf/, db/,hooks/等的同一文件夹):

请注意,除非转义,否则该脚本不适用于包含空格的路径。

不幸的是,这种修改会创建新的修订,这反过来又会使从原始远程仓库增量更新本地仓库成为不可能。

最好我想在这个sync阶段这样做,例如通过一个钩子。这里介绍的“解决方案”与其说是一个解决方案,不如说是一个拐杖,因为这意味着我每次同步后都必须重写历史记录,实际上必须保留两个单独的副本:一个修改过的副本和一个“原始的”副本(嗯,除了小svnsync修正)。

注意:我正在处理 repo,而不是工作副本。另请注意,这不是svn:externalsrevprop !

0 投票
1 回答
376 浏览

svn - 如何提取将主干从 SVN 存储库扩展到具有历史记录的新存储库的分支

我已经用谷歌搜索了很多这个问题,但没有找到我需要的东西。

我有一个看起来像这样的存储库

树枝是它们的树干对应物的后代。例如对于 Project_A

自定义版本现在有了自己的生命,不再从主干获得任何更新(许多差异)。

我只需要在新存储库中提取与客户相关的修订。那就是: /Project_A/trunk 直到创建 1st_Custom_version_for_customer_A 的那一刻。然后是 /Project_A/branches/1st_Custom_version_for_customer_A 和 /Project_A/branches/2nd_Custom_version_for_customer_A。项目 B 也是如此。都在同一个存储库中。

我试过 svnsync 但只能提取 /Project_A/branches/2nd_Custom_version_for_customer_A,即使历史很好,我仍然看到其他分支的所有提交消息(这在我的情况下是一个问题)。

至于 svndumpfilter,如果我从一开始就将所有内容都放在“/Customer_A”下,那将是完美的(下次我会这样工作),但是当分支是另一个分支的副本时,有时会被重命名,删除,重新创建,等等...我看不到它工作正常。

有什么工具或东西可以帮助我在这里完成工作吗?

谢谢

0 投票
1 回答
343 浏览

apache - 从从属 svn 服务器初始化 svnsync 命令



我有一个主从 SVN 服务器的设置。
Master和两个Slave服务器设置在三个不同时区的三个不同位置。我们不能让从服务器 24 小时开机,所以从服务器需要在每天结束时关闭。但与此同时,开发人员正在从另一个从服务器向主服务器提交更改。主服务器永远启动。

所以我的情况是在一天开始时,每个从服务器都需要与主服务器同步,这只能通过 svnsync 命令从主服务器完成。

从服务器启动时有什么方法可以自动同步?

我们正在使用 apache 服务器来托管颠覆。操作系统是 windows server 2008 R2。

谢谢

0 投票
1 回答
273 浏览

apache - 如果从服务器不同步,则自动从主服务器初始化 svnsync 命令



我有一个主从 SVN 服务器的设置。从站使用通过代理写入,因此每个提交都转发给主站。

当从服务器不同步时,从从存储库签出的工作副本无法更新到最新版本。

因此,我正在寻找一种解决方案,如果从属服务器在提交时不同步,它将自动从主服务器初始化 svnsync 命令。

谢谢

[更新] 出现这种情况是因为我们在一天结束时关闭了从服务器,而主服务器一直处于运行状态。所以如果svnsync在slave启动时没有发生,普通用户一定不会遇到问题

0 投票
3 回答
4219 浏览

svn - 多个存储库之间的 SVN 同步

我们正在使用 SVN,我们有现场和离岸团队。SVN 存储库目前位于岸上,这意味着从离岸到 SVN 的连接非常缓慢。我们也想在离岸设置和SVN。我们需要两个 SVN 存储库同步。这样做的最佳做法是什么,需要任何第三方产品?

谢谢!

0 投票
0 回答
190 浏览

svn - svnsync 删除 revprop 后获取锁失败

我已尝试按照标题为“svnsync - 无法锁定目标存储库”的线程中所述删除 svnsync 锁定属性,但它不起作用。当我尝试运行 svnsync 时,它仍然给我 Failed to get lock 错误。我已经删除了源和镜像存储库上的 svn:svn-lock revprop。

谁能帮我解决这个问题?(任何帮助将不胜感激)

谢谢!

0 投票
1 回答
1567 浏览

svn - SVN 服务器之间的同步

我们当前的 Linux 托管 SVN 服务器正在等待移除。因此,我通过完全转储和导入/加载到新安装的 VisualSVN 服务器来备份到本地 Windows PC。让我们说它达到了revision 101

因此,又过了几天并在 Linux SVN 中提交,因为该单元尚未退役。将最新版本(例如102~110)与本地 VisualSVN 服务器同步的步骤是什么?

我在 SVN 管理方面还是有点新手。

0 投票
1 回答
12167 浏览

svn - SVN 在两个存储库之间移动带有历史记录的代码

我必须在两个存储库上工作,并且希望在两个存储库之间移动一个包含代码的目录,同时保留修订历史。

我在这里阅读了一些关于 SO 的问题,但仍然不确定该走哪条路。我们的存储库是巨大的(文件(orkingcopy)不包括修订>几个GB),因为所有内容都已签入(代码+设计数据+ ...)。

到目前为止我看到的解决方案是:

  1. svnadmin 转储 + 过滤器 + 导入:由于存储库大小,不是一个选项
  2. svnsync:我们已经在第二个存储库中有数据(存储库已经很大了,我认为合并它们不是一个好主意,除了决定这不是我的工作),根据我收集的信息,这需要第二个存储库空的。
  3. 第三方解决方案:反复崩溃,因为它无法删除文件,因为“另一个进程打开了文件”(尽管我可以通过操作系统删除文件,并且它是由脚本创建的)

是否有其他解决方案、方法,或者我错过了其中一个解决方案的一些内容?

0 投票
1 回答
3409 浏览

svn - 在 svnsync 中处理大文件

我们计划在悉尼的另一个办公室建立一个 SVN 镜像存储库。我们在两个位置都使用 VisualSVN 服务器 v2.5.7。

我决定用svnsync它来做。起初我想同步我们所有的存储库,当所有存储库都与镜像存储库同步时,调度程序将在svnsync每个午夜调用。

它可以同步我们的一个存储库的 167 个修订版。但是在第 168 版中,我们有一个无法同步的大文件(大约 250 MB 的压缩 oracle 文件)。即使我修改了本地和远程服务器的超时,它也不起作用。它一次坚持大约一小时,并给我以下错误:

传输文件数据......................svnsync: E175002: PUT of '/ {some path} /{ bigfile }.zip': 无法发送请求正文:已建立的连接被主机中的软件中止。<{目标网址}>

httpd-custom.conf以下是我在VisualSVN(本地、镜像)的 Apache 服务器中的文件中所做的修改:

我什至将超时时间增加到 600000 或更多,但结果是一样的。我以 http 模式启动了两台服务器。在我们的本地网络上,它可以在 20 分钟内同步所有该存储库。

关于我们互联网连接的上传速度约为 256 Kbs,我不希望这次是在互联网环境中。但我希望 SVN 服务器等待我为它们设置的超时,因为我们可以轻松地将这些大小的文件提交到使用 CollabNet Server 的其他 SVN 服务器中。只需 2 小时即可成功提交。我认为 300000 秒的超时时间远非 2 小时。