标签: svnsync

svnsync - 无法锁定目标存储库

使用svnsync

$ svnsync --non-interactive sync ${REPO}
Run Code Online (Sandbox Code Playgroud)

在中止该过程后,出现此错误消息并重试

Failed to get lock on destination repos, currently held by 'svn.test.com:0e4e0d98-631d-0410-9a00-9330a90920b3'  
...  
Failed to get lock on destination repos, currently held by 'svn.test.com:0e4e0d98-631d-0410-9a00-9330a90920b3'   
svnsync: Couldn't get lock on destination repos after 10 attempts  
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

svn svnsync

52
推荐指数
3
解决办法
3万
查看次数

如何在svnsync中更改svn url?

如何更改(重定位)我在使用"svnsync init"(示例来自#https://whateverto svn://whatever)创建镜像存储库时输入的subversion URL ?

试图用新的url再次运行svnsync init但是

svnsync init file:///<path_to_mirror> http:///<new_url>
svnsync: Destination repository is already synchronizing from 'http:///<old_url>'
Run Code Online (Sandbox Code Playgroud)

svn svnsync

18
推荐指数
2
解决办法
1万
查看次数

svnsync无法正常工作:Revprop更改被pre-revprop-change挂钩阻止

我正在尝试使用svnsync复制已使用的存储库(我这样做是为了确保我的存储库的最佳使用,只要它的机器正常工作)但它似乎不起作用.

我有两台机器(我更改了名称,但没有更改其他信息)

  • INITIAL:使用Subversion 1.4.5(r25188)定制Linux(由svnadmin报告).从这台机器,我正在尝试在名为SOURCE的存储库上同步.可以使用http协议访问此存储库,并且已创建svnsync用户.在SOURCE/hooks,只存在一个可执行文件:pre-revprops-change.
  • 最终:Ubuntu与Subversion 1.6.6(r40053)(由svnadmin报告).在这台机器上,我将在名为svn16的存储库上同步.可以使用http协议访问此存储库,并且已创建svnsync用户.在svn16/hooks,可执行文件是pre-revprop-changestart-commit.在这台机器上,dav_svn.conf包含指令SVNParentPath /var/svn,使所有存储库都可以在http:// FINAL/svn下访问

通过在浏览器中打开每个存储库URL并发出身份验证对话框,我确保URL和login/pwd都是正确的.

我正在尝试执行以下命令

svnsync initialize http://FINAL/svn/svn16 http://INITIAL/SOURCE
Run Code Online (Sandbox Code Playgroud)

但它总是最终显示出来

Authentication realm: <http://FINAL:80> All Subversion Repositories hosted on FINAL
Password for 'ubunut-user':
Authentication realm: <http://FINAL.fr:80> All Subversion Repositories hosted on FINAL
Username: svnsync
Password for 'svnsync':
svnsync: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svnsync: At least one property change failed; …
Run Code Online (Sandbox Code Playgroud)

svn svnsync

11
推荐指数
2
解决办法
2万
查看次数

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

我必须处理两个存储库,并希望在保留历史记录的同时在两个存储库之间移动一个带有代码的目录.

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

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

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

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

svn svnsync svndumpfilter svnadmin svndump

9
推荐指数
1
解决办法
1万
查看次数

同步SVN存储库,然后使其独立(复制存储库)

我正在使用svnsync同步两个系统之间的SVN存储库,并且我不能100%确定它是否可以在同步完成后使其独立于我的"新用户".

我需要做些什么才能使它成为一个完全独立的实体?仅更改passwd文件是否足够?

svn repository svnsync

8
推荐指数
1
解决办法
1833
查看次数

Subversion:有什么比“svnsync”更快的吗?

所以我将我的 subversion 存储库存储在某个云上(例如 code.google.com),但由于各种原因,我需要将我的代码设为非公开。

我决定需要下载整个存储库并迁移到我自己的 svn 服务器。

所以我开始使用:

svnsync init DEST SRC
svnsync sync DEST
Run Code Online (Sandbox Code Playgroud)

每次修订 repo 大约需要 0.5 秒!

幸运的是,我的 repo 只有 200 次修订……所以要等几分钟。但是对于具有 200,000 或 2,000,000 次修订的成熟项目呢?

... 2e6 * 0.5 / 60 / 60 / 24 ~ 大约 11 天!


有什么比“svnsync”更快的方法可以从云端下载你的仓库?

svn version-control svnsync

6
推荐指数
1
解决办法
3386
查看次数

如何将代码库从一个svn repo迁移到另一个保存历史记录?

我在一个结构严重的svn repo中有一个分支,需要被剥离并移动到另一个svn存储库.(我正试图清理一些).

如果我做了一个svn log而不是停止复制/重命名,我可以看到我关心的所有3427个提交.除了编写一些主要脚本之外,有没有办法将修订版转出?

我会按照这个问题的建议,但这个分支已被移动到所有地方,我也想保留这些动作.

svn svnsync svndumpfilter svnadmin

6
推荐指数
1
解决办法
2326
查看次数

通过svnsync获取存储库的只读副本有什么意义?

我一直在阅读svnsync来创建我们的存储库的只读副本,但我真的不明白拥有存储库的只读副本是什么意思.如果主服务器出于某种原因出现故障,那么只读副本是否可以读/写,以便人们可以承诺呢?如果没有,那么只读副本的重点是什么?

svn svnsync

5
推荐指数
1
解决办法
561
查看次数

将SVN repo(svnsync)与编码错误同步

在同步存储库时,是否可以修复/绕过非UTF8编码的svn:log记录svnsync

背景

我正在接管一个开源模块的维护过程,该模块存储在一个大型(超过10,000个版本)的subversion(1.5.5)存储库中.我没有远程存储库的管理员权限来转储/过滤/加载模块.旧存储库正在停止,我正在尝试使用svnsync将原始子模块同步到我的本地(1.6+)存储库.例如:

svnsync file://home/svn/temp-repo/ http://path.to.repo/modulename/
Run Code Online (Sandbox Code Playgroud)

问题是旧的存储库没有强制执行UTF8编码,我遇到的错误如下:

svnsync: Cannot accept 'svn:log' property because it is not encoded in UTF-8
Run Code Online (Sandbox Code Playgroud)

我无法修改源存储库中的log属性,因此当编码未知/无效时,我需要以某种方式修改或忽略属性值.

有任何想法吗?

例如:

  • pre-revprop-change脚本可以修改传输中的日志属性吗?
  • 我被告知git-svn可以处理它但使用中间git repo - 这究竟是如何完成的?
  • 可以完全忽略日志属性,还是可以忽略特定的修订

svn utf-8 svnsync

5
推荐指数
1
解决办法
2207
查看次数

在svnsync中处理大文件

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

我决定用svnsync它来做.起初我想同步所有存储库,当所有存储库与镜像存储库同步时,调度程序将svnsync每隔午夜调用一次.

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

传输文件数据....................... svnsync:E175002:PUT为'/ {some path}/{ bigfile } .zip':无法发送请求body:已建立的连接已被主机中的软件中止.<{ target url }>

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

Timeout 300000
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 300000

<IfModule dav_svn_module="">  
  # Enable a 1 Gb Subversion data cache for both fulltext and deltas.  
  SVNInMemoryCacheSize 1048576  
  SVNCacheTextDeltas On  
  SVNCacheFullTexts On
  #SVNCompressionLevel 9
</IfModule> 
Run Code Online (Sandbox Code Playgroud)

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

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

svn visualsvn-server svnsync connection-timeout

5
推荐指数
1
解决办法
2965
查看次数