Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加源路径时,部分svnsync在修订时失败_Svn_Svnsync - Fatal编程技术网

添加源路径时,部分svnsync在修订时失败

添加源路径时,部分svnsync在修订时失败,svn,svnsync,Svn,Svnsync,我正在尝试创建外部svn存储库的部分镜像。根据,从svn 1.5开始,这应该是可能的 我遵循中描述的所有步骤,只是没有使用“svnsync”用户。相反,所有命令都以本地用户“svn”的身份执行,并且使用file://协议访问本地存储库 下面是我所做的: $ svnadmin create /var/svn/mirrors/foreign-mirror $ cat > /var/svn/mirrors/foreign-mirror/hooks/pre-revprop-change <

我正在尝试创建外部svn存储库的部分镜像。根据,从svn 1.5开始,这应该是可能的

我遵循中描述的所有步骤,只是没有使用“svnsync”用户。相反,所有命令都以本地用户“svn”的身份执行,并且使用file://协议访问本地存储库

下面是我所做的:

$ svnadmin create /var/svn/mirrors/foreign-mirror

$ cat > /var/svn/mirrors/foreign-mirror/hooks/pre-revprop-change <<EOF
#!/bin/sh
USER="$3"
if [ "$USER" = "svn" ]; then exit 0; fi
echo "Only the svn user may change revision properties" >&2
exit 1
EOF

$ chmod +x /var/svn/mirrors/foreign-mirror/hooks/pre-revprop-change

$ cat > /var/svn/mirrors/foreign-mirror/hooks/start-commit <<EOF
#!/bin/sh
USER="$2"
if [ "$USER" = "svn" ]; then exit 0; fi
echo "Only the svn user may commit new revisions" >&2
exit 1
EOF

$ chmod +x /var/svn/mirrors/foreign-mirror/hooks/start-commit

$ svnsync initialize \
file:///var/svn/mirrors/foreign-mirror \
https://svn.foreign.com/svn/Projects/X/Y \
--source-username #### --source-password ####

$ svnsync synchronize \
file:///var/svn/mirrors/foreign-mirror \
--non-interactive --source-username #### --source-password ####
Committed revision 1.
Copied properties for revision 1.
Committed revision 2.
Copied properties for revision 2.
...
Committed revision 80089.
Copied properties for revision 80089.
Committed revision 80090.
Copied properties for revision 80090.
svnsync: Path 'Projects' not present
如果我理解正确,重播commit#80091会失败,因为它找不到/Projects。这使我困惑。部分复制的目的不是跳过不存在的路径吗

我在UbuntuLinux(目标存储库)上运行SVN1.6.6,完全可以控制它。 我无法控制源存储库,用户名和密码只能访问/Projects/X/Y及以下内容。无法访问/Projects或/Projects/X


有没有办法克服这个问题,或者在特定版本开始复制?非常感谢您的任何建议。

对于svnsync问题,我没有任何建议,但您正在尝试这样做

"I'm trying to make a partial mirror of an external svn repository.". 
你试过了吗。即使它是一个中断的项目。它是制作subversion存储库的部分镜像的一个非常好的工具。我偶尔使用它来获取子项目的部分历史记录。假设您有以下subversion目录结构

trunk MainProject HelperTools ImportantToolAsSubProject branches tags 大旅行箱 主要项目 助手工具 重要项目 分支机构 标签
svk只能创建/trunk/HelperTools/ImportantToolAsSubProject的颠覆历史记录。如果此目录只有100次提交。创建的subversion存储库将只有100次提交

我一定要试一试。谢谢链接被重定向到“某处”。我想他们已经完全停止支持svk了。 trunk MainProject HelperTools ImportantToolAsSubProject branches tags