在 Windows 机器上运行 SVNSync

在 Windows 机器上运行 SVNSync

我正在尝试在我的家庭服务器(Windows 家庭服务器)上运行 SVN Sync 并执行一项计划任务,以通过备份的方式从我的主 SVN 服务器复制所有更改。

我已经设置好了主 SVN 服务器,并且在我的家庭服务器上设置了一个具有 1 个用户的空存储库 - svnSync。

我曾尝试在我的家庭服务器上运行 svnsync,但目前还没有成功。

首先,它要求我输入管理员密码 - 这是正常的吗?我该如何在脚本中应对这种情况。

当我输入所有用户名和密码时,我收到此消息:

svnsync: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook

我不知道该怎么解决这个问题!

有人能帮我用批处理文件来做我想做的事情吗?

还有一个问题。最初签入代码的人的用户名是否会保留在镜像中,还是所有内容都会以 svnSync 的形式签入?

非常感谢。

答案1

我在工作中在生产 Subversion 服务器上使用 svnsync。您似乎遗漏了启用接收器(目标)存储库上的修订属性更改的步骤。通过在接收器 Subversion 存储库中创建一个空的 pre-revprop-change 钩子来执行此操作。(您会在接收器 Subversion 存储库的 hooks 子文件夹中找到一个模板)。

管理员密码问题是一个更通用的权限问题。运行 svnsync 的过程当然需要对存储库的写权限。在工作中,我有一个对目标存储库具有写权限的本地用户,并使用 --source-username 和 --source-password 选项在源存储库上使用只读用户名。

是的,即使作者姓名不存在于具有目标存储库访问权限的用户中,也会忠实地复制作者姓名。

有关详细信息,请参阅 subversion复制部分

相关内容