Kde SVN2Git. Error: "branch_1" in repository "my_repo" is branching from branch "branch_2" but the latter doesn't exist. Can't continue
Kde SVN2Git. Error: "branch_1" in repository "my_repo" is branching from branch "branch_2" but the latter doesn't exist. Can't continue
我正在尝试使用 (Kde) SVN2GIT 将具有超过 26,000 个修订的 SVN 存储库迁移到多个 Git 存储库。一个特定的存储库在迁移时生成错误。这就是为什么我减少了迁移到这个特定存储库的规则。
以下是生成存储库的规则:
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/trunk/dir_1/
repository my_repo
branch master
end match
match /Project/branches/([^/]+)/dir_1/
repository my_repo
branch
end match
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
annotated true
end match
match /
end match
SVN2Git 是使用 Linux 服务器上 documentation 中提供的 docker 图像选项执行的。
我尝试的一些替代方案包括规则中参数 "action recurse" 的用户,这在 here 中有描述。
规则如下所示:
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/trunk/dir_1/
repository my_repo
branch master
min revision 18800
end match
match /Project/branches/([^/]+)/dir_1/
repository my_repo
branch
min revision 18800
action recurse
end match
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
min revision 18800
action recurse
annotated true
end match
match /
end match
我也玩了一些规则,但 none 我的方法奏效了。
这是日志的片段:
Exporting revision 18840 done
Exporting revision 18841 /Project/branches/branch_2/dir_1 was copied from /Project/branches/branch_1/dir_1 rev 18840
/Project/branches/branch_2/dir_2 was copied from /Project/branches/branch_1/dir_2 rev 18840
rev 18841 /Project/branches/branch_2/dir_2/ matched rule: "/tmp/conf/Project.rules:22 /Project/branches/([^/]+)/dir_2/" exporting.
.my_repo : branch branch_2 is branching from branch_1
"branch_2" in repository "my_repo" is branching from branch "branch_1" but the latter doesn't exist. Can't continue.
rev 18841 /Project/branches/branch_2/dir_2/ matched rule: "/tmp/conf/Project.rules:22 /Project/branches/([^/]+)/dir_2/"
我的问题是以前是否有人遇到过此错误,如果有,您是如何处理的?
任何帮助将不胜感激。我已经处理这个问题一个多星期了。
谢谢,希望有人能帮忙。
我要在这里尝试一下。我可能会看到你的问题。假设您 dir1 和 dir2 在同一个 trunk/branch/tag 上并且没有区别。否则请告诉我。
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/$
action recurse
end match
match /Project/trunk/$
action recurse
end match
match /Project/branches/$
action recurse
end match
match /Project/tags/$
action recurse
end match
# Recurse into branches
match /Project/branches/([^/]+)/$
action recurse
end match
# Recurse into tags
match /Project/tags/([^/]+)/$
action recurse
end match
# Start matching
match /Project/trunk/
repository my_repo
branch master
end match
match /Project/branches/([^/]+)/
repository my_repo
branch
end match
match /Project/tags/([^/]+)/
repository my_repo
branch refs/tags/
annotated true
end match
match /
end match
你好@EncryptedWatermelon,
非常感谢您的回复,很有帮助。
我根据我的规则测试了你的建议,经过一些调整后它起作用了。以下规则单独解决了错误:
# Recurse into branches
match /Project/branches/([^/]+)/$
action recurse
end match
我目前的问题是没有获取标签。在我的 SVN 存储库中,标签名称与分支名称相同。为了解决这个问题,它添加了一个额外的标签目录(refs/tags/tag/),原始标签规则如下所示:
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
annotated true
end match
根据您的建议,我加入了这些规则:
match /Project/tags/$
action recurse
end match
# Recurse into tags
match /Project/tags/([^/]+)/dir_1/$
action recurse
end match
但是标签还没有。
你见过这样的吗?标签的名称与分支的名称相同会不会有问题?
在此先致谢,希望您能提供帮助。
干杯!
我正在尝试使用 (Kde) SVN2GIT 将具有超过 26,000 个修订的 SVN 存储库迁移到多个 Git 存储库。一个特定的存储库在迁移时生成错误。这就是为什么我减少了迁移到这个特定存储库的规则。
以下是生成存储库的规则:
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/trunk/dir_1/
repository my_repo
branch master
end match
match /Project/branches/([^/]+)/dir_1/
repository my_repo
branch
end match
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
annotated true
end match
match /
end match
SVN2Git 是使用 Linux 服务器上 documentation 中提供的 docker 图像选项执行的。 我尝试的一些替代方案包括规则中参数 "action recurse" 的用户,这在 here 中有描述。 规则如下所示:
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/trunk/dir_1/
repository my_repo
branch master
min revision 18800
end match
match /Project/branches/([^/]+)/dir_1/
repository my_repo
branch
min revision 18800
action recurse
end match
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
min revision 18800
action recurse
annotated true
end match
match /
end match
我也玩了一些规则,但 none 我的方法奏效了。
这是日志的片段:
Exporting revision 18840 done
Exporting revision 18841 /Project/branches/branch_2/dir_1 was copied from /Project/branches/branch_1/dir_1 rev 18840
/Project/branches/branch_2/dir_2 was copied from /Project/branches/branch_1/dir_2 rev 18840
rev 18841 /Project/branches/branch_2/dir_2/ matched rule: "/tmp/conf/Project.rules:22 /Project/branches/([^/]+)/dir_2/" exporting.
.my_repo : branch branch_2 is branching from branch_1
"branch_2" in repository "my_repo" is branching from branch "branch_1" but the latter doesn't exist. Can't continue.
rev 18841 /Project/branches/branch_2/dir_2/ matched rule: "/tmp/conf/Project.rules:22 /Project/branches/([^/]+)/dir_2/"
我的问题是以前是否有人遇到过此错误,如果有,您是如何处理的?
任何帮助将不胜感激。我已经处理这个问题一个多星期了。
谢谢,希望有人能帮忙。
我要在这里尝试一下。我可能会看到你的问题。假设您 dir1 和 dir2 在同一个 trunk/branch/tag 上并且没有区别。否则请告诉我。
create repository my_repo
end repository
#
# Declare the rules
# Note: rules must end in a slash
#
#
# my_repo
#
match /Project/$
action recurse
end match
match /Project/trunk/$
action recurse
end match
match /Project/branches/$
action recurse
end match
match /Project/tags/$
action recurse
end match
# Recurse into branches
match /Project/branches/([^/]+)/$
action recurse
end match
# Recurse into tags
match /Project/tags/([^/]+)/$
action recurse
end match
# Start matching
match /Project/trunk/
repository my_repo
branch master
end match
match /Project/branches/([^/]+)/
repository my_repo
branch
end match
match /Project/tags/([^/]+)/
repository my_repo
branch refs/tags/
annotated true
end match
match /
end match
你好@EncryptedWatermelon, 非常感谢您的回复,很有帮助。
我根据我的规则测试了你的建议,经过一些调整后它起作用了。以下规则单独解决了错误:
# Recurse into branches
match /Project/branches/([^/]+)/$
action recurse
end match
我目前的问题是没有获取标签。在我的 SVN 存储库中,标签名称与分支名称相同。为了解决这个问题,它添加了一个额外的标签目录(refs/tags/tag/),原始标签规则如下所示:
match /Project/tags/([^/]+)/dir_1/
repository my_repo
branch refs/tags/tag/
annotated true
end match
根据您的建议,我加入了这些规则:
match /Project/tags/$
action recurse
end match
# Recurse into tags
match /Project/tags/([^/]+)/dir_1/$
action recurse
end match
但是标签还没有。
你见过这样的吗?标签的名称与分支的名称相同会不会有问题?
在此先致谢,希望您能提供帮助。
干杯!